IntelliJでファイルの改行コードを指定する

たまたま改行コードがシステムデフォルトじゃ困るときがあって,設定場所を本気で忘れてたのでメモを残す。
改行コードを指定するのは,File->Settings->Code Style->Generalの「Line separator (for new files)」で行う。この場所がわかんなくて苦労したw


設定値は「System Dependent / Unix / Windows / Mac」の4種類。ファイルエンコード*1と違って,プロジェクト固有で,かつ新規ファイルを作ったときだけ効果がある(すでにできてるファイルの改行コードは変更できない)。


設定できてめでたし...と行きたいところだけど,残念な事にIntelliJって,今編集中のファイルの改行コードが何か知るすべが無いのよね。ファイルエンコードはステータスバー右側にあるけど,改行コードはどこ探しても見つけられない。仕方ないんで他のテキストエディタで確認してたけど,スマートとは言い難いなと。


モノは試しにプラグインを調べてみたけど,それっぽいのは見当たらず(File InfoとかFile status barとか惜しいのはあった)。仕方ないから,File status barにパッチ当てて自作した。:-)


ソースコードはGistに。バイナリはオレオレIdeaVIMんとこに置いといたので,使ってみたい物好きな方はどうぞ。
FileStatusBarPluginをカスタマイズして,使っている改行コードを表示するようにしたもの。 · GitHub
Downloads · masanobuimai/ideavim · GitHub


ちょっと悪ノリして改行コードを変換するコマンドも作ってみたけど,あんまりにもやっつけなので,こちらは非公開。改行コードの変換は,素直に普通のエディタでやろうと思う。


[おまけ] IntelliJから他のエディタを開く

外部ツールの設定(File->Settings->External Tools)をしておけば,IntelliJから任意のエディタでファイルを開くことができる。エディタの起動オプションで行番号指定ができるのであれば「Parameters」に「$LineNumber$」を指定する事をオススメしとく。


「Show In」の「Editor menu / Project views / Search results」のそれぞれにチェックを入れておくと,エディタ,プロジェクトウィンドウ,検索結果ウィンドウのコンテキストメニューから実行できて便利。あとはお好みでショートカットキーを設定するとか。

[おまけ] IntelliJでファイルのエンコードを変更して保存する

Fileメニューの「Reload 'XXX' file in another encoding」やステータスバー右側のエンコード名は「ファイルを読み込む時に使うエンコードであって「そのエンコードでファイルを保存する」意味では無い。もちろん,指定したエンコードで開き直したファイルを保存すれば,そのエンコードで保存されるが,開き直した時にもれなく文字化けしてると思う。


#知ってると思うけど,ステータスバーのこれはクリックすると,どのエンコードで開き直すか指定できる。


自分はどうやって,IntelliJでファイルのエンコード変換をやってるかというと,わりとしょうも無くて...

  1. 今開いてるエディタの内容を丸ごとクリップボードにコピー(全選択→コピー)
  2. エンコードを指定して,ファイルをリロード(ここで文字化け。全選択は維持したまま)
  3. (全選択状態のまま)ペーストして保存(2で指定したエンコードで保存される)

ってな,やり方をしている。単純だけど,これで特に困ってない。:-P

*1:こっちは,File->Settings->File Encodingsで設定