TadaoYamaokaの日記

山岡忠夫Homeで公開しているプログラムの開発ネタを中心に書いていきます。

【Tips】Visual Studio 2015で保存時に改行コードをLFにする

Visual Studioで開発してLinuxでもビルドや実行できるソースにしようとすると、改行コードをLFにそろえたい。

Visual Studio 2015では保存時の改行コードを設定できる。
エンコーディングと改行

しかし、いったんLFにして保存しても改行コードが異なるソースからコピー&ペーストすると改行コードが混在してしまう。
設定は保持されないため、毎回保存前に設定し直す必要がある。

なお、文字コードは「Unicode (UTF-8 シグネチャ付き) - コードページ 65001」にすることでLinuxとソースを共有できる。シグネチャ付き(BOM付き)にしておかないと、毎回文字コードの設定が必要になる。

対策

拡張機能を導入することで、保存時に改行コードを強制的にLFにすることができる。

改行コードを変更する拡張機能として、

を試してみた。

拡張機能は、[ツール]->[拡張機能と更新プログラム]からインストールする。
左ペインからオンラインを選んで、検索ボックスに検索キーワードを入力する。
f:id:TadaoYamaoka:20180310114059p:plain

Trim line ends on save

インストールすると、[ツール]->[オプション]でオプションダイアログを表示すると、左ペインに[IDCT]が追加される。
On Save->newLineを「Unix」に設定すると、保存時に改行コードがLFになる。
f:id:TadaoYamaoka:20180310114413p:plain

改行コードをLFにすることはできるが、この拡張機能には少し問題がある。
Visual Studioは変更行を色で表示する機能があるが、この拡張機能を導入した状態でソースを保存すると、全行の色が変わってしまう。
f:id:TadaoYamaoka:20180310114501p:plain
変更した行だけが緑になるはずが、全行が緑になっている。

Line Endings Unifier

インストールすると、[ツール]->[オプション]でオプションダイアログを表示すると、左ペインに[Line Endings Unifier]が追加される。
[Default Line Ending]を「Linux
[Force Default Line Ending On Document Save]を「True」
に設定する。
Visual StudioPythonのソースも編集する場合は、[Supported File Formats]に「; .py」を追加する。
f:id:TadaoYamaoka:20180310114900p:plain

Trim line ends on saveでは、保存すると全行に色が付いたが、Line Endings Unifierでは、変更した行のみに色が付く。
f:id:TadaoYamaoka:20180310115251p:plain


ということで、Line Endings Unifierの方をお勧めする。