🧵VS Codeで改行コード(LF / CRLF)を統一する方法
はじめに
Git 管理下のリポジトリでは、改行コード(LF / CRLF)が混在すると差分が非常に見づらくなることがあります。 特に Windows 環境では、意識しないと CRLF が混ざりやすく、 「内容は変えていないのに diff が真っ赤になる」という事態が起きがちです。
この記事では、VS Code 側の設定だけで改行コードを LF に寄せる方法を整理し、 Git や OS に依存しにくい、安定した運用を作ることを目的とします。
🧠 改行コード問題の全体像
💡 なぜ問題になるのか
- Windows:CRLF(
\r\n) - Linux / macOS / GitHub:LF(
\n)
この違いにより、
- 実質的に中身が同じでも
- Git 上では「全行変更」に見える
という現象が起きます。
改行コードは「見えない差分」なので、気づいたときには履歴が汚れていることが多いです。
🧩 VS Code でできること(結論)
VS Code では、以下の 3 レイヤで改行コードを制御できます。
- 今開いているファイル単位
- ワークスペース(プロジェクト)単位
- VS Code 全体(ユーザー設定)
→ リポジトリ運用では 2. ワークスペース単位 が最も実用的です。
🪟 ファイル単位での確認・変更
🔍 現在の改行コードを確認する
- 画面右下のステータスバーに
LF/CRLFと表示されている
🔁 その場で変更する
- 右下の
LF/CRLFをクリック - 「改行コードの変更」
LFを選択- 保存
既存ファイルを一度だけ直したい場合に有効ですが、毎回やる運用には向きません。
🗂️ ワークスペース単位で LF に固定する(推奨)
🎯 目的
- このリポジトリ内では常に LF
- OS や個人設定に左右されない
⚙️ 設定方法
.vscode/settings.json に以下を追加します。
- 新規作成しても問題ありません
- すでにある場合は追記します
{
"files.eol": "\n"
}
これにより:
- 新規作成ファイル → 自動で LF
- 保存時も LF が維持される
チーム開発・個人開発どちらでも最も事故が少ない設定です。
🧑💻 VS Code 全体のデフォルトを LF にする
🔧 ユーザー設定での指定
VS Code の設定(JSON)に以下を追加すると、 すべてのプロジェクトで LF がデフォルトになります。
{
"files.eol": "\n"
}
既存の CRLF 前提プロジェクトまで影響するため、チーム作業では注意が必要です。
🔗 Git 設定との関係(重要)
よくある混乱ポイント
- VS Code:LF にしている
- Git:
core.autocrlf=true(Windows デフォルト)
→ Git が勝手に CRLF に変換する
VS Code と Git の設定が食い違うと、保存・checkout のたびに改行が揺れ続けます。
基本方針(おすすめ)
- VS Code:
files.eol = "\n" - Git:
core.autocrlf=false - 必要なら
.gitattributesで制御
※ Git 側の詳細は別記事で扱うのが望ましい
🧭 迷ったらこの運用
- リポジトリ内は LF に統一 - `.vscode/settings.json` で制御 - 個人の OS 差・エディタ差を排除
これだけで、
- 不要な差分
- レビューのノイズ
- 履歴の汚染
をほぼ完全に防げます。
🏁 まとめ
- 改行コード問題は VS Code 側で十分コントロール可能
- ワークスペース設定で LF 固定が最も安全
- Git 設定と衝突しないよう意識することが重要
「差分が静かになる」だけで、 リポジトリの可読性とストレスは驚くほど改善します。