『Atom』で既存ファイルを編集したら想定外の差分?「不要なスペース」「不要な改行」が原因

想定外の差分が出る原因

『Atom』にはソースをきれいにするために、ファイル保存時に、行末の半角スペース、ファイル末の空行を削除してくれる機能があります。それらは標準で「ON」になっています。

想定外の差分が出る原因はこれでした。編集前のファイルに行末の半角スペースファイル末の空行が存在した場合、編集後のファイル保存時に削除されます。これでソースはきれいになるのですが、編集前のファイルとは差分が出てしまいます。

回避する方法

行末の半角スペース、ファイル末の空行を削除してくれる機能を「OFF」にすれば回避できます。

「Remove Trailing Whitespace」をOFFにする

「Remove Trailing Whitespace」は直訳で「末尾の空白を削除」です。行末の半角スペースの削除です。こちらを「OFF」にしておきましょう。

(1)上部メニュー「ファイル」をクリックする
(2)「環境設定」をクリックする

『Atom』の画面キャプチャー

(3)「設定」タブが開かれる。その中の左側のメニューの「パッケージ」をクリックする
(4)右側に「インストール済みのパッケージ」が開かれる。「Filter packages by name」に『whitespace』と入力する
(5)「コアパッケージ」に「whitespace」が表示される。そこの「設定」をクリックする

『Atom』の画面キャプチャー

(6)「Settings」が開かれる。その一番下に「Remove Trailing Whitespace」があるので、チェックを外す

『Atom』の画面キャプチャー(チェックボックスの一番下)

以上で「Remove Trailing Whitespace」を「OFF」にできました。

「Ensure Single Trailink Newline」をOFFにする

「Ensure Single Trailink Newline」は直訳で「改行を1行にする」です。私が試してみた限りですと、ファイル末の不要な改行を1行分にしてくれます(不要な空行を削除)。こちらを「OFF」にしておきましょう。

上記「「Remove Trailing Whitespace」をOFFにする」の(1)~(5)は全く同じ手順ですので、そちらをご覧ください。

(6)「Settings」が開かれる。その一番上に「Ensure Single Trailink Newline」があるので、チェックを外す

『Atom』の画面キャプチャー(チェックボックスの一番上)

以上で「Ensure Single Trailink Newline」を「OFF」にできました。

解決方法等はここまでになります

↑ここまで問題解決できなかった場合は、私の事象とは異なるものの可能性があります。お役に立てずすみません。
もし、解決できたのであれば幸いです。

以下、余談になります

「Remove Trailing Whitespace」「Ensure Single Trailink Newline」基本はONにしておきたい

本件で「OFF」にしたこの2つの機能ですが、基本的には「ON」にしておきたいと思いました。

不要なスペースや無駄な改行等しないように心掛けていますが、操作ミスなどで書いてしまっている場合でも、保存時に自動できれいにしてくれるので有難いです。ソースがきれいだとメンテナンス性も良くなります。

今回のように差分が多く出てしまい、チェックに工数が掛かってしまう場合は仕方ありません。こういったときのためにも「ON」「OFF」の切り替え方は抑えておきたいです。

編集後のチェックはWinMergeがやっぱり便利

だいぶ昔から「WinMerge」を利用していますが、やはり便利ですね。ちょっとした修正でもその他を触ってしまっていないかチェックできます。ECサイトの修正のときなど慎重に編集したいのでこういったチェックができるのは助かります。

本記事に関しても「WinMerge」を利用したことで見つかった機能です。細かいチェックはしてみるものですね。良い拾いものがあります。

最後に

『Atom』に関してまだ知らない使い方が多いと思います。より便利に使えていけたらと思います。