Vsvim: Probleme mit der Razor-Formatierung mit :w

Erstellt am 9. Apr. 2014  ·  5Kommentare  ·  Quelle: VsVim/VsVim

Ich habe dies hauptsächlich in Razor-Vorlagendateien bemerkt (insbesondere .cshtml-Dateien, aber ein- oder zweimal in einfachem HTML), aber wenn Sie :w zum Speichern verwenden, versucht der Formatierer zu formatieren, und die Zeilen werden als nicht gespeichert markiert. Strg+s funktioniert einwandfrei. Wiederholte Versuche mit :w führen den Formatierer aus, speichern aber immer noch nicht richtig.

Besonders schlimm ist es bei Razor if-Anweisungen oder allem, was geschweifte Klammern erfordert.

Ich verwende Visual Studio 2013 Update 2 RC, aber dies ist seit dieser Installation ein Problem. Windows 7 x64, falls das wichtig ist.

Installierte Plugins:
Produktivität Power Tools 2013 (Format beim Speichern ist deaktiviert)
Web-Essentials 2013

Dies ist das Codebeispiel, das mich dazu geführt hat, den Fehler zu melden:
shot_140409_120037

bug visual studio integration

Hilfreichster Kommentar

Ich verwende MacOS und VSVim erlaubt mir nicht, <Enter> zu drücken, um den Befehl abzuschließen. Es erlaubt mir, in den Befehlsmodus zu gelangen, indem ich : . Sobald ich einen Befehl eingebe und <Enter> drücke, drückt es <Enter> als ob ich im Einfügemodus wäre , was mich in eine neue Zeile versetzt, während ich im Befehlsmodus bleibe. Wenn ich die Rücktaste drücke, werden Zeichen gelöscht, die ich in den Befehl eingegeben habe. Es sieht also so aus , als würde sich <Enter> im Befehlsmodus für .cshtml Dateien wie im Einfügemodus verhalten und die Datei nicht speichern oder einen Befehl beenden, nachdem <Enter> gedrückt wurde. Eine weitere Kuriosität ist , dass , wenn die Eingabe :W mit einem Kapital ‚W‘, ermöglicht es Ihnen drücken <Enter> , um aus dem Befehlsmodus und nicht über die Frage des Gehens auf eine neue Zeile , als ob Sie waren im Einfügemodus, aber der Befehl wird nicht ausgeführt. Dies ist der Fall, wenn Sie einen Großbuchstaben in den Befehl einfügen.

Auch während ich hier bin, ist VSVim nicht in XML - Dateien arbeiten.

Alle 5 Kommentare

Danke für die Einreichung des Problems!

Können Sie einen Punkt klarstellen. Speichert die Operation :w den Status der Datei vor dem Formatieren oder wird sie überhaupt nicht gespeichert? Ich bin neugierig auf den Inhalt auf der Festplatte im Vergleich zum Randindikator, da sie etwas getrennt sind und auf unterschiedliche Probleme hinweisen würden

Hätte vorher nicht daran gedacht das zu überprüfen.

Es scheint, dass, wenn :w getroffen wird, es auf der Festplatte gespeichert wird und dann das Formatierungsprogramm ausgeführt wird. Das Öffnen der Datei in erhabenem Text zeigt die Textänderungen, aber nicht die Formatierungsänderungen, die manchmal versucht werden.

Ich kam, um dies zu melden, und eine flüchtige Suche ergab dieses Problem.

Das klingt ein bisschen nach dem, was ich beobachte. Wenn ich versuche, :w zu speichern, um eine Razor-Datei (cshtml) zu speichern und die Eingabetaste drücke, um den Befehl auszuführen (aus einer leeren Zeile), scheint es die Datei zu speichern und dann 4 Leerzeichen einzufügen (dh als ob ein Tab eingefügt und in Leerzeichen umgewandelt wurde). Ich bemerke die typische Änderung im Mercurial-Diff, wenn ich nachfolgende Leerzeichen auf der Linie finde. Ich habe gerade festgestellt, dass ich nicht das falsche Zeichen auf diesem PoS-Tastaturlayout eingegeben habe, sondern dass Visual Studio und/oder VsVim tatsächlich das Leerzeichen einfügen, wenn ich :w<Enter> tippe ...

Ich verwende MacOS und VSVim erlaubt mir nicht, <Enter> zu drücken, um den Befehl abzuschließen. Es erlaubt mir, in den Befehlsmodus zu gelangen, indem ich : . Sobald ich einen Befehl eingebe und <Enter> drücke, drückt es <Enter> als ob ich im Einfügemodus wäre , was mich in eine neue Zeile versetzt, während ich im Befehlsmodus bleibe. Wenn ich die Rücktaste drücke, werden Zeichen gelöscht, die ich in den Befehl eingegeben habe. Es sieht also so aus , als würde sich <Enter> im Befehlsmodus für .cshtml Dateien wie im Einfügemodus verhalten und die Datei nicht speichern oder einen Befehl beenden, nachdem <Enter> gedrückt wurde. Eine weitere Kuriosität ist , dass , wenn die Eingabe :W mit einem Kapital ‚W‘, ermöglicht es Ihnen drücken <Enter> , um aus dem Befehlsmodus und nicht über die Frage des Gehens auf eine neue Zeile , als ob Sie waren im Einfügemodus, aber der Befehl wird nicht ausgeführt. Dies ist der Fall, wenn Sie einen Großbuchstaben in den Befehl einfügen.

Auch während ich hier bin, ist VSVim nicht in XML - Dateien arbeiten.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

keithn picture keithn  ·  3Kommentare

jaredpar picture jaredpar  ·  5Kommentare

elrob picture elrob  ·  6Kommentare

jaredpar picture jaredpar  ·  5Kommentare

kalebpederson picture kalebpederson  ·  6Kommentare