Deaktivieren Sie die Formatierung von Visual Studio-Code in Razor


117

Dies wurde bereits zuvor gefragt: Warum funktioniert die Visual Studio-Codeformatierung für das Razor-Markup nicht ordnungsgemäß?

Aber diese Frage ist ein paar Jahre alt. Und die Formatierung von Rasiermessern ist immer noch völlig inakzeptabel. Ich habe es aufgegeben, es zu reparieren.

Kann ich ALLE Visual Studio-Formatierungen für CSHTML-Dateien deaktivieren? Wenn nicht, kann ich alle Visual Studio-Formatierungen vollständig deaktivieren? Hacks von Drittanbietern, die ich verwenden kann? Es muss etwas geben!

Ich habe auf 2013 aktualisiert und die Formatierung ist genauso schlecht.

[EDIT]: 2015 ist auch schrecklich. Ich wünschte wirklich, sie würden das beheben.

[EDIT]: 2017 ist auch schrecklich. Ich wünschte wirklich, sie würden das beheben.

[EDIT]: 2019 ist auch schrecklich. Ich wünschte wirklich, sie würden das beheben.


15
Es ist schlimmer im Jahr 2013.
TombMedia

3
Ernsthaft. Es muss etwas getan werden, das dagegen getan werden kann ...
JustMaier

7
AUCH 2015 ist es SCHLECHTER!
Paul

4
Nicht festgelegt in vs 2017 rtm
April

5
Nicht im Jahr 2018 festgelegt.
Dirk Boer

Antworten:


52

Du kannst nicht. Dies ist eine integrierte "Funktion" von VS seit der ersten .net-Version (Visual Studio 2002/2003).

Es gibt unzählige Verbindungsberichte über die Formatierungsfehler, aber Microsoft ignoriert sie vollständig oder verschiebt das Update auf die "nächste Version". Ein Beispiel für eine Microsoft-Antwort finden Sie hier .

Hier können Sie Ihr eigenes Feedback an das Microsoft-Team senden


1
Ich habe das wieder in Verzweiflung gesucht, ich weiß nicht, ob sie etwas geändert haben, aber Metroid Jägers Fix funktioniert für mich in Razor stackoverflow.com/a/28053865/62829
mattmanser

4
Wie kann HTML in Visual Studio 2015 noch so schlecht saugen?
schmoopy

1
Tatsächlich ist es 2015 schlimmer als die Version 2013 (dasselbe gilt für C #, wo jedes Mal, wenn Sie eine Klammer öffnen, nicht verwandte Dinge eingerückt werden). Früher habe ich Visual Studio geliebt, aber das bringt es langsam um.
Youen

1
Hinweis: Die Verbindungslinks sind jetzt alle tot
jrh

64

Unter Extras -> Optionen -> Texteditor -> HTML -> Erweitert

Es gibt ein Schlüsselwertelement Einfügen mit der Aufschrift "Beim Einfügen formatieren" und einem booleschen Wert daneben. Wenn Sie dies in false ändern, wurde die Formatierung beim Einfügen für mich in der Rasiermessersyntax deaktiviert.

Ich verwende VS Professional 2013, Version 12.0.30110.00 Update 1


Danke dir! Die automatische (mal) Formatierung auf Paste hat mich verrückt gemacht. Dies scheint es beseitigt zu haben.
Torrents

Genial, genau das ist nötig, um das wegzutreiben! Vielen Dank!
Martin S Ek

Ich würde Sie mehr als einmal hochstimmen. Dies ist eine korrekte Antwort für vs Version 2013 up1 und neuer.
Erik Simonic

2
Funktioniert nicht in Visual 2015? Ich habe "Format beim Einfügen" in HTML / Erweitert deaktiviert, bekomme aber beim Einfügen immer noch funky Unformatierung / verrücktes Einrücken. Ich denke darüber nach, einen anderen Editor für cshtml-Dateien zu verwenden, aber dann würde ich die automatische Vervollständigung von C # verlieren. Diese Situation ist verrückt.
Youen

5
Arbeitete für mich in VS2017.
Dave

35

Die Orte zu suchen:

Tools -> Options -> Web Essentials -> HTML -> Auto-format HTML on Enter

(Erfordert die Installation der Web Essentials-Erweiterung)

Auf False setzen

Tools -> Options -> Text Editor -> HTML -> Advanced -> Format on Paste

Auf False setzen

Mit diesen Einstellungen habe ich keine Probleme in Visual Studio 2013.

Früher musste ich viel zu oft Strg-Z drücken, und wenn Sie vergessen haben, das Durcheinander zu entwirren, nachdem Ihr Code geschrieben und getestet wurde, war das ein großer Schmerz. Ich bin der Meinung, dass Microsoft viel tun könnte , um Benutzern bei der Konfiguration zu helfen und den Zugriff zu erleichtern.


3
Es gibt keinen Bereich "Web Essentials".
Paul

Gute Antwort! Das nervt mich seit Jahren, aber nicht mehr!
David Kirkland

2
@Paul Web Essentials ist eine VS-Erweiterung, die viele Dinge im Zusammenhang mit den HTML-, CSS- und JS-Editoren verbessert. Das Installieren und Deaktivieren des automatischen Formats hilft sehr .
SandRock

3
Dies sollte als Antwort markiert werden. Besonders die Zeile über Web Essentials. Vielen Dank, dass Sie @dazbradbury!
Aggromonster

1
Die zweite Option behebt es nicht in VS2017 und die erste existiert nicht einmal.
Ygoe

24

Der Trick für mich war, nach dem Einfügen STRG + Z zu drücken und dann die Formatierung zu entfernen.


3
Ich habe hier gearbeitet ... Ich habe einen Block eingefügt, einschließlich einer <Auswahl> mit einer Reihe von Datenbindungs-Knockout-Attributen, die über ~ 8 Zeilen verteilt waren, und es hat das Kamelgehäuse getötet und die Doppelpunkte entfernt ... war dabei zu stechen und erneut zu tippen es ... dann habe ich diese Strg + Z gemacht und ungefähr gequietscht, dass es funktioniert hat ... @ Miros
beauXjames

Upvoted. Dies funktioniert in VS 2015 :) Keine andere Lösung (verschiedene Einstellungen unter Extras> Optionen) hat bei mir funktioniert, zumindest nicht beim Einfügen von Inhalten, die auf irgendeine Weise zwischen Code / HTML wechseln sollen, dh beim Einfügen von Zeilen mit C # -Code gefolgt von HTML Tags oder Einfügen von HTML-Markups direkt nach Zeilen mit C # -Code.
Savehansson

Dies funktioniert immer, überall in VS. Dies ist die einzige Möglichkeit, das durch die Formatierung verursachte Durcheinander rückgängig zu machen. (Oder hast du es wirklich manuell aufgeräumt?) Ich habe mich bereits daran gewöhnt, aber es ist sehr ärgerlich.
Ygoe

10

In meinem Fall war R # der Schuldige und kann hier deaktiviert werden:

ReSharper> Optionen> Codebearbeitung> Rasiermesser> Editor & Formatierung

https://www.jetbrains.com/help/resharper/2016.1/Reference__Options__Languages__Razor__Editor.html


Dies ist in Visual Studio jedoch nicht enthalten, sodass Sie dies separat installieren müssten.
Paul

2
Der Grund, warum ich es hier erwähne, ist, dass jemand denkt, dass Visual Studio die Neuformatierung durchgeführt hat (wie ich), als es tatsächlich R # sein könnte (was viele Entwickler verwenden). Wenn jemand es nicht deaktivieren kann und R # installiert hat, möchte er sicherstellen, dass es in beiden deaktiviert ist.
hcoverlambda

5
In R # 2017.3 befinden sich diese Einstellungen bei ReSharper | Optionen | Umwelt | Editor | Verhalten des Herausgebers
Dark Daskin

1
In R # 2018.3 musste ich auch Editorverhalten , Auto-Format beim Einfügen auf "Keine" setzen
EM0

7

Leider besteht die einzige Möglichkeit, die automatische Formatierung beim Einfügen zu verhindern, darin, die Stelle auskommentieren, an der Sie neuen Code einfügen möchten, und nach dem Einfügen die Anweisungen zum Kommentieren zu entfernen.

Search & Replace scheint keine automatische Formatierung auszulösen. Durch das Einfügen wird jedoch der gesamte Codeblock neu formatiert.

Das ist unbeschreiblich schrecklich. Dadurch wird Visual Studio IDE für die Bearbeitung von Razor praktisch unbrauchbar. Für Razor-Dateien muss ein externer Editor verwendet werden.

Was noch schlimmer ist, selbst das neueste Visual Studio 2013 Update 1 stürzt ab, während Razor-Ansichten ständig bearbeitet werden.


6

Der lustige Teil ist, dass Sie die C # -Formatierung und die HTML-Formatierung deaktivieren können, jedoch nicht die Razor-Formatierung.

Ich habe "Extras> Optionen> Texteditor> C #> Formatierung> Beim Einfügen automatisch formatieren" deaktiviert und dasselbe für HTML.

Was zu der folgenden lustigen Erfahrung in cshtml-Dateien führt:

  • HTML-Code einfügen: kein Format
  • C # -Code einfügen: kein Format
  • Rasiermessercode einfügen: Formatieren Sie alles falsch

Und da es keine Möglichkeit gibt, die Razor-Optionen zu ändern, muss man damit leben, denke ich.

Meine "Lösung": Einfügen und Strg-Z, um das automatische Format rückgängig zu machen


1
Ich auch .. aber es macht mich verrückt!
Matt Kocaj

Ihre Lösung ist eine Problemumgehung und dauert beim Bearbeiten großer Dateien Minuten.
Arturo Torres Sánchez

0

Ich habe diese Einstellungen in Resharper 2019 gefunden, die meine Erfahrung verbessert haben: Geben Sie hier die Bildbeschreibung ein

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.