Visual Studioがファイルの行末を混在させないようにする


123

Visual Studio 2010でテキストベースのファイルを開くと、編集内容が元のファイルの行末形式ではなくCRLFで書き込まれます。VSがこれを行わないようにするにはどうすればよいですか?半分以上の編集者は、この機能を備えている必要があります。

さらに悪いのは、VSがCRLFで部分を含むファイルを書き込んだため、ファイルを再度開くときに、ファイルの行末を変換するように求めるダイアログが表示されることです。


このアドインを試してみてください:Strip'emが
になり

8
:あなたはこのために投票することもできますvisualstudio.uservoice.com/forums/121579-visual-studio/...
ジョンWatte

1
@JonWatte 2016年4月28日現在レビュー中
Chris Marisic

2
私は最近.NETから離れ、MSにうんざりしすぎて、シーズンごとにフォーカスが変わっているように見え、これらのような単純な問題を無視しています。彼らが最終的にそれを修正しているのを見てうれしい。
ブレットライアン

回答:


84

[ファイル ]メニューの[ 高度な保存オプション ]を選択すると、そこで制御できます。

編集:ここにドキュメントがあります。最初にファイルを開いておく必要があります。


5
VS2010の最終的なインストールにこのメニュー項目はありません。
Palantir

6
VS2010 Ultimateにはこの設定がありますが、このオプションはグローバルな永続オプションではなく、現在のエディターセッションでのみ有効です。私が欲しいのは、VSがファイルを編集するときに現在開いているファイルの行末を尊重することです。
Brett Ryan、

2
ファイル+名前を付けて保存、[保存]ボタンの矢印をクリックします。同じことですが、ファイルに固有です。
ハンスパッサント

13
コマンドが表示されていないものについてはFile、メニュー、あなたがに行く必要がありToolsCustomizeCommandsタブ、Menu BarFileAdd Command...FileAdvanced Save Options...OkClose。今、あなたはオプションを持っているはずです。
davidg 2013年

92
これは実際には問題を解決しません。保存するたびにそのオプションを選択する必要があるためです。また、保存するたびに行末オプションを選択する必要があります。他のすべてのテキストエディターがサポートする正しい動作は、読み込み時に形式を検出し、保存時にその形式で保存することです。VS2010にそのAFAICTを実行させる方法はありません。それは残念です。
Jon Watte 2013

70

Visual Studio 2015(これは2019年にも同じ値で保持されます)で、設定を確認します。

[ツール]> [オプション]> [環境]> [ドキュメント]> [読み込み時に一貫した行末を確認]

VS2015では、一貫性のないファイルを開くと行末を変換するように求められるので、ファイルを開き、プロンプトから目的のオプションを選択して再度保存するだけです。


4
これは役立つかもしれませんが、質問にはvisual-studio-2010というタグが付けられていることに注意してください。
ダカブ2015年

4
このオプションの問題は、どの行末がドキュメントで最も一般的であるかがわからないことです。そのため、最初にNotepad ++でドキュメントを開き、次に正しいオプションのみを選択する必要があります。これは、読み込みの問題ではなく、保存の問題です。
戦略思想家2015

3
私が抱えていた問題は、LFで終わるファイルを開いていて、編集または追加したすべての行がCR LFで保存されることでした。もう一度ファイルを開くと、一貫性のない行末を何に変更したいか尋ねられ、LFを選択すると、プロセスが繰り返されます。ここに私がそれを解決した方法があります:stackoverflow.com/a/47318778/2701911
FragmentalStew

これでは、行末が混在するテキストをコピーして貼り付ける際の問題は解決されません。チェックをトリガーするには、ファイルを再度開く必要があります。
Andry

22

VS2010 +には、プラグインソリューション:Line Endings Unifierがあります。

プラグインをインストールすると、ソリューションエクスプローラーでファイルとフォルダーを右クリックしてメニュー項目を呼び出すことができます Unify Line Endings in this file

この設定は、

ツール->オプション->行末ユニファイア。

含まれているデフォルトのファイル拡張子リストはかなり狭いです:

 .cpp; .c; .h; .hpp; .cs; .js; .vb; .txt;

次のようなものを使いたいかもしれません:

 .cpp; .c; .h; .hpp; .cs; .js; .vb; .txt; .scss; .coffee; .ts; .jsx; .markdown; .config

11
これは実際にはプラグインであり、デフォルトではインストールされません。
null

1
それを指摘してくれてありがとう、これは実際に私が探していたものです。私はこのすべてをよりよく反映するように答えを更新しました
Chris Marisic

11

http://editorconfig.orgおよびhttps://docs.microsoft.com/en-us/visualstudio/ide/create-portable-custom-editor-options?view=vs-2017を参照してください

  1. 存在しない場合は、プロジェクトに.editorconfigという新しいファイルを追加します

  2. エディター設定を操作して、好みの動作を使用します。

タブよりもスペースを優先し、すべてのコードファイルでCRLFを使用します。
これが私の.editorconfigです

# http://editorconfig.org
root = true

[*]
indent_style = space
indent_size = 4
end_of_line = crlf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

[*.tmpl.html]
indent_size = 4

[*.scss]
indent_size = 2 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.