Deaktivieren Sie die automatische Formatierung in Visual Studio

134

Ich bin ein Code-Purist und bevorzuge meinen eigenen Code-Formatierungsstil im Gegensatz zu den Standardeinstellungen von Visual Studio. Ich habe die Optionen für die automatische Formatierung in Extras / Optionen deaktiviert. In den meisten Fällen funktioniert es.

Nachdem Visual Studio eine der integrierten Refactorings verwendet hat, werden meine Einstellungen mit den Standardeinstellungen überprüft. Wie halte ich VS davon ab?

Maciej
quelle
9
@ user1142958 Alle paar Monate in einem Open-Source-Projekt und alle paar Jahre im Geschäft stoße ich auf einen Hotshot, der darauf besteht, dass sein Stil besser ist als der Standard. Durch jahrelange Forschung wurde festgestellt, dass Styling-Standards die Lesbarkeit und Wartbarkeit von Code verbessern. Wenn Entwickler einen eigenen "besseren" Ansatz entwickeln, besteht im Allgemeinen die Tendenz, andere Entwickler im Team abzuwerfen. Lesen Sie dies als Beispiel - woldlab.caltech.edu/~king/swc/www/readstyle.html
senfo
29
@senfo Das sind alles gute Informationen, aber der in Visual Studio integrierte Formatierer ist in bestimmten Fällen unbestreitbar fehlerhaft (z . B. stackoverflow.com/questions/6459861/… ). In diesen Fällen würde ich lieber meinen menschlichen Witz einsetzen, um die Standards zu erfüllen, die ich für angemessen halte, als mich auf VS 'traurigen Versuch des "Stils" zu verlassen.
Dan Bechard
5
@senfo - VS .cshtml Autoformating, insbesondere in Bezug auf Razor, ist fehlerhaft. In anderen Teilen mit Ihnen einverstanden, aber dies ist keine Funktion - es ist ein Fehler
Ross
5
Wenn "der Standard" wie zwei Katzen aussieht, die auf der Tastatur gekämpft haben, ist Konsistenz keine Tugend. Nennen Sie mich einen Hotshot, aber die zusätzliche Zeit, um Code lesbar zu machen, lohnt sich. Meine Erfahrung ist vollkommen konsistent: Die Menschen, die sich am meisten für Konsistenz interessieren, haben den unlesbarsten Code beworben, den sie sich einfallen lassen können.
Chris Fox
5
Ein Code-Purist ist eine Person, die den Text in der richtigen Formatierung eingibt, sodass keine (möglicherweise fehlerhafte) automatische Formatierung erforderlich ist.
Anders Lindén

Antworten:

106

Ich hatte dieses Problem beim Schreiben von VB auf einer aspxSeite.

Die Lösung bestand darin, zu "Extras> Optionen> Texteditor> Basis> VB-spezifisch" zu wechseln und "Hübsche Auflistung" auszuschalten.


Hinweis - In Visual Studio 2015 finden Sie dies unter:

Extras> Optionen> Texteditor> Grundlegend> Erweitert

Tango91
quelle
Ich wünschte, ich könnte diese Kontrollkästchen einfach an einen Kurzschlüssel binden.
Mike de Klerk
1
Danke, das hat bei mir funktioniert. Das "Prettying" ist unglaublich schlecht, da die Funktionsparameter unter dem Funktionsnamen "versteckt" sind. Dies ist eine unerklärliche Wahl, wenn jeder, der in der Kommunikation arbeitet, sagen kann, dass die tabellarische vertikale Ausrichtung am einfachsten zu verstehen ist.
Chris Fox
54
Ich werde nur eine Pause einlegen, um die Schönheit einer Optionsbaumhierarchie zu bewundern, die lautet: text editor -> basic -> advanced"Oh ja, Sie möchten den erweiterten Abschnitt"? Das ist unter Grund
Fostandy
12
@fostandy, mir ist klar, dass Sie das wahrscheinlich wissen, aber es basicist der Name für die Sprache, nicht der Abschnitt mit den Optionen, da dort auch C # aufgeführt ist.
Lightfire228
32

Deaktivieren Sie die hübsche Auflistung. Mit dieser Option können Sie Ihre Aktivitäten neu formatieren. Ich hatte das gleiche Unbehagen damit und nachdem ich es getan habe, bleibt mein Code so, wie ich es möchte und er kehrt nicht zu den vorherigen Einstellungen zurück.

Geben Sie hier die Bildbeschreibung ein

RaRdEvA
quelle
Ich habe diese Option nicht in meinem VS2010 Premium
Maciej
2
Behebt es in VS2017
Doug Null
Ich habe mein C ++ - Problem in VS 2013 nicht
behoben
6

In meinem Fall war es ReSharper.

Testen Sie, ob ReSharper

StackOverflow: Wie kann ich ReSharper in Visual Studio deaktivieren und wieder aktivieren?

Verhindern Sie, dass ReSharper den Code neu formatiert

StackOverflow: Gibt es eine Möglichkeit, Code zu markieren, um ReSharper anzuweisen, ihn nicht zu formatieren?

Aktualisieren

Am Ende war es ReSharper:

Geben Sie hier die Bildbeschreibung ein

Contango
quelle
2
Danke, das hat mich verrückt gemacht.
Simon Arnold
1
Einverstanden waren die geschweiften Klammern immer an der falschen Stelle, und jedes Mal, wenn Sie ein Semikolon drückten, stampfte es mit einem schweren Schuh auf den Code. Nicht cool.
Contango
5

Möglicherweise haben Sie Power Tool installiert.

In diesem Fall können Sie es über "Extras> Optionen> Produktivitäts-Elektrowerkzeuge> PowerCommands> Allgemein" deaktivieren.

Geben Sie hier die Bildbeschreibung ein

Efreeto
quelle
4

Wie von @TheMatrixRecoder vorgeschlagen, hat es ein bisschen gedauert, bis ich es gefunden habe. Vielleicht hilft das jemand anderem. Die Option VS 2017 finden Sie hier

Aktivieren Sie diese Optionen, um störende automatisierte Formatierungen zu vermeiden, wenn Sie ein Semikolon platzieren oder am Ende einer Zeile die Eingabetaste drücken.

Tim Newton
quelle
3

In VS2017 können Sie es ändern, nachdem Sie Ihre Codierungssprache im Einstellungsmenü ausgewählt haben. Es gibt eine Option namens "Neue Zeilen" im Untermenü "Formatierung".

TheMatrixRecoder
quelle
2

Ich bezweifle, dass Sie die Neuformatierung nach dem Refactoring deaktivieren können. Durch das Refactoring wird der Code geändert, und da es sich nur um Text handelt, bezweifle ich, dass Sie nur unformatierten Text in Ihre Quelle kopieren möchten. Wäre es nicht ein bisschen einfacher, einfach den Codestil festzulegen, den VS dem Stil entspricht, den Sie mögen und dem Sie folgen?

Joey
quelle
1
Manchmal ist der Codierungsstil nicht algorithmisierbar. Manchmal ist es absichtlich inkonsistent, weil man zu einem Projekt mit inkonsistentem Codierungsstil beiträgt und den Codierungsstil des spezifischen zu bearbeitenden Codeteils einhalten möchte.
Palec
2

Die Neuformatierung in Semikolon oder schließender Klammer kann nicht deaktiviert werden. Ich finde es ärgerlich, dass Microsoft die Kühnheit hat, jedem zu sagen, wie man Code formatiert. Der unleserlichste Code, den ich je gesehen habe, war während meiner Arbeit dort.

Ich möchte, dass benachbarte Aufgaben vertikal ausgerichtet werden. VS formatiert sie unabhängig von der Länge der Variablen auf der linken Seite in ein Leerzeichen auf beiden Seiten des Gleichheitszeichens. Das ist unerträglich. Das Deaktivieren der Editoroptionen wird ignoriert. Angesichts von Kommentaren wie dem obigen Opener bin ich sicher, dass dies absichtlich ist.

Konsistenz ist nur dann eine Tugend, wenn sie zu wünschenswerten Ergebnissen führt. Dies ist nicht einer.

Chris Fox
quelle
2

VS2015-Einstellungen, mit denen ich die automatische Formatierung verhindert habe:

(und Extras> Optionen> Texteditor> Basis> Erweitert, genau wie Texteditor Tango91 vorgeschlagen)

Geben Sie hier die Bildbeschreibung ein

FrenkyB
quelle
1

Folgen Sie TOOLS-> OPTIONS-> Text Editor-> CSS-> Formatierung. Wählen Sie "Compact Rules" und deaktivieren Sie "Hiearerchical Indentation".

gozde berberoglu
quelle
Texteditor -> CSS oder HTML -> Registerkarten -> Einrücken -> (o) Keine
Bob Stein
1

Dies kann beim Clang-Format der Fall sein. Zuvor wurde die gesamte Datei beim Speichern von Dateien automatisch formatiert, was mich verrückt machte (für die Repositorys, für die das Clang-Format nicht aktiviert ist).

Ein solches Verhalten ist verschwunden, nachdem "Extras -> Option -> LLVM / Clang -> ClangFormat -> Beim Speichern formatieren -> Aktivieren" auf "Falsch" gesetzt wurde.

ClangFormat-Format beim Speichern

Tomoyuki Aota
quelle
0

Sie können die Einstellungen der Code-Formatierung anpassen. Ich schalte immer alle zusätzlichen Zeilenumbrüche aus und dann funktioniert es gut, wie ich den Code formatiere.

Wenn Sie die Einstellungen so nah wie möglich an Ihren Vorlieben anpassen, sollten Sie bei jedem Refactoring nur minimalen Arbeitsaufwand haben.

Guffa
quelle
0

Zusätzlich zu Tangos Antwort auf die eigentliche Lösung gibt es möglicherweise Leute, die tatsächlich mit Auto-Formaten auf dem Laufenden bleiben möchten, aber Ihre relevanten Änderungen nicht vermasseln müssen. Ich würde vorschlagen, dass Sie die Datei so ändern, dass das automatische Format aktiviert wird, diese Änderungen einchecken und dann mit den tatsächlichen Änderungen fortfahren, die Sie vornehmen möchten.

Auf diese Weise kann Ihr Code auf dem neuesten Stand bleiben, aber Ihr Check-in ist relevant.

Rudy Scoggins
quelle
0

Deaktivieren Sie die Erweiterung Bundler & Minifier

Darek
quelle