Wie kann Visual Studio nicht in eine neue Zeile gesetzt werden?

88

Wenn ich solchen Code habe

if(true){

und ich füge hinzu

}

es verwandelt sich in

if (true)
{
}

aber ich möchte, dass es im Format bleibt

if (true) {
}

Selbst wenn ich Code kopiere, der ifso aussieht, wird er in die längere Version umgewandelt.

PS Ich verstehe, dass es ein C ++ - und C # -Standard ist, die längere Version zu verwenden, aber ich komme aus einem anderen Standard, und es ist einfacher für mich, die kürzere Version zu verwenden.

Ich wette, es gibt eine Formatierungsoption, die deaktiviert oder geändert werden kann.

IAdapter
quelle

Antworten:

134

Gehen Sie zu Extras -> Optionen -> Texteditor -> C # -> Codestil -> Formatierung -> Neue Zeilen

Hier gibt es viele Möglichkeiten. Entfernen Sie hier das Kontrollkästchen für alle Optionen, um die offene Klammer niemals in eine neue Zeile zu setzen.

BEARBEITEN

Der Abschnitt New Line Options for expressionsbezieht sich nicht auf die Platzierung von Code in Verbindung mit Klammern, sodass Sie diese nicht berühren müssen.

Øyvind Bråthen
quelle
8
+1 danke. Wenn ich diese jedoch ausschalte und dann die Klammer absichtlich auf die neue Linie setze, wird sie wieder in dieselbe Linie verschoben :( Gibt es eine Möglichkeit, zu verhindern, dass sie sich in Dinge einmischt, mit denen ich nicht herumspielen wollte?
Umgekehrter Ingenieur
24
Welches Monster würde standardmäßig neue Zeilen aktivieren?
Betankt durch Kaffee
Ich verwende die VS2019-Vorschau und musste die Änderung vornehmen und dann Visual Studio vollständig beenden und erneut öffnen, damit die Änderung erhalten bleibt. Wenn ich es nur geändert und dann versucht hätte, das Dokument neu zu formatieren, würde es einfach auf die vorherigen Einstellungen zurückgesetzt.
Bernard
Für Visual Studio-Code gehen Sie zu Datei -> Einstellungen -> Einstellungen und wählen Sie unter Erweiterungen die Sprache aus, in der Sie die Eigenschaften ändern möchten. Suchen Sie nach Clang_format_fallback Style(zB: für C ++ C_Cpp: Clang_format_fallback Style) und ändern Sie den Wert von Visual StudioinGoogle
Riccardo Bonesi
Danke dir! Dies ist eine der wütendsten Funktionen von Visual Studio for Unity.
SacWebDeveloper
27

Beachten Sie, dass bei Verwendung von Resharper das oben beschriebene Verfahren nicht hilft, da Resharper das native VS-Verhalten überschreibt. Wenn dies der Fall ist, gehen Sie zu Resharper> Optionen, Codebearbeitung> C #> Formatierungsstil> Klammerlayout und setzen Sie alle oberen "Klammerlayout" -Optionen auf "Am Zeilenende (K & R-Stil)".

Ich habe eine Weile gebraucht, um das herauszufinden, also hoffe ich, dass es jemandem hilft.

MaDDoX
quelle
9

Tools -> OptionsDann schau es dir anText Editor -> C# -> Formatting -> New Lines

Nekresh
quelle
8

Für alle Mac-Benutzer da draußen. So habe ich es gelöst: Einstellungen -> Quellcode -> Code-Formatierung -> C # -Quellcode -> C # -Format -> Bearbeiten

Dort können Sie es unter der Kategorie: Neue Zeilen ändern

Bildbeispiel

Hacks00r
quelle
6

Sie können dies in den Optionen Ihres Visual Studio ändern. Gehen Sie zu Extras -> Optionen -> Texteditor -> C # -> Formatierung -> Neue Zeilen (oder ähnliches, ich habe nur die deutsche Version von Visual Studio). Sie können dann ändern, wo Sie die Klammern in die nächste Zeile setzen möchten und wo nicht. Persönlich habe ich alle Optionen entfernt, aber wenn Sie eine neue Zeile haben möchten, z. B. in Schleifen, gibt es viele Optionen, um dies anzupassen.

Sören
quelle
0

Für C ++ kann ich nur vermeiden, dass VC ++ '{' in eine neue Zeile für Namespaces setzt, indem ich die Option "Block automatisch formatieren, wenn ich ein} eingebe" deaktiviere:

Geben Sie hier die Bildbeschreibung ein

Shital Shah
quelle
-1

Um dasselbe für CSS zu tun, müssen Sie gehen zu: Tools > Options > Text Editor > CSS > Advanced > Formatting > Automatic Formatting > Off

Automatische CSS-Formatierung aus

Andrew
quelle