これは主にかみそりのテンプレートファイル(具体的には.cshtmlファイルですが、プレーンhtmlでは1〜2回)で気づきましたが、:wを使用して保存すると、フォーマッターがフォーマットを試み、行が未保存としてマークされます。 Ctrl + sは正しく機能します。 :wを繰り返し試行するとフォーマッタが実行されますが、それでも適切に保存されません。
Razor ifステートメント、または中括弧を必要とするものの周りは特に悪いです。
Visual Studio 2013 Update 2 RCを実行していますが、これはインストール前から問題になっています。 それが重要な場合は、Windows 7x64。
インストールされているプラグイン:
Productivity Power Tools 2013(保存時のフォーマットはオフです)
Web Essentials 2013
これは私がバグを提出することにつながったコードサンプルです:
問題を提出していただきありがとうございます!
一点明確にできますか。 :w
操作は、フォーマット前のファイルの状態を保存しますか、それともまったく保存に失敗しますか? ディスクの内容とマージンインジケーターは多少分離していて、さまざまな問題を示しているので、興味があります。
以前にこれをチェックすることを考えていませんでした。
:wを押すと、ディスクに保存してからフォーマッタを実行するようです。 崇高なテキストでファイルを開くと、テキストの変更が表示されますが、フォーマットの変更は表示されないことがあります。
私はこれを報告するようになり、大まかな検索でこの問題が見つかりました。
これは私が観察しているものと少し似ています。 :w
を実行してRazorファイル(cshtml)を保存し、Enterキーを押してコマンドを(空の行から)実行しようとすると、ファイルを保存してから4つのスペースを挿入しているように見えます(つまり、タブのように)挿入され、スペースに変換されていました)。 行の末尾に空白があると、通常はMercurialの差分が変化することに気付きます。 このPoSキーボードレイアウトで間違った文字を入力したのではなく、 :w<Enter>
と入力すると、VisualStudioやVsVimが実際にスペースを挿入しているようです...
私はMacOSを使用していますが、VSVimでは<Enter>
を押してコマンドを完了することができません。 :
押すと、コマンドモードに入ることができます。 コマンドを入力して<Enter>
を押すと、挿入モードのように<Enter>
押され、コマンドモードを維持したまま新しい行に移動します。 バックスペースを押すと、コマンドで入力した文字が削除され始めます。 したがって、 .cshtml
ファイルのコマンドモードの<Enter>
は、挿入モードのように動作し、 <Enter>
押した後、ファイルを保存したり、コマンドを終了したりしません。 もう1つの奇妙な点は、大文字の「W」を付けて:W
と入力すると、 <Enter>
を押してコマンドモードを終了し、あたかも新しい行に進むという問題が発生しないことです。挿入モードでしたが、コマンドは実行されません。 これは、コマンドに大文字を含める場合に当てはまります。
また、私がここにいる間、VSVimはXMLファイルではまったく機能
最も参考になるコメント
私はMacOSを使用していますが、VSVimでは
<Enter>
を押してコマンドを完了することができません。:
押すと、コマンドモードに入ることができます。 コマンドを入力して<Enter>
を押すと、挿入モードのように<Enter>
押され、コマンドモードを維持したまま新しい行に移動します。 バックスペースを押すと、コマンドで入力した文字が削除され始めます。 したがって、.cshtml
ファイルのコマンドモードの<Enter>
は、挿入モードのように動作し、<Enter>
押した後、ファイルを保存したり、コマンドを終了したりしません。 もう1つの奇妙な点は、大文字の「W」を付けて:W
と入力すると、<Enter>
を押してコマンドモードを終了し、あたかも新しい行に進むという問題が発生しないことです。挿入モードでしたが、コマンドは実行されません。 これは、コマンドに大文字を含める場合に当てはまります。また、私がここにいる間、VSVimはXMLファイルではまったく機能