雑記

ものを書く練習。学びをまとめる場。

atom-beautify のショートカットキーが使えない

自分は基本エディタにAtomを使用しているのですが、自力でインデントとか綺麗にするの超めんどくさい...

ということで atom-beautify を入れてみることにしました。

atom-beautify のinstall

普通に Atom エディタの設定から Install を選択。" atom-beautify " で検索すれば出てきます。

ショートカットキーの設定

毎回 Packages->Atom Beautify->Beautify から実行するのも面倒なのでショートカットキーを調べてみたら、Macでも「Control + alt (option) + b」で実行可能とのこと。
いざやってみると

" Could Not Find ' Uncrustify ' . The Program May Not Be Installed. "

と言われてしまいました。

なので、

brew install uncrustify

Uncrustify をインストールしましたが、ここから何をすればいいのかなかなか分かりませんでした。

(ちなむと Mac の場合、Finder で不可視ファイルを表示するのは「Command + Shift + . 」で出来ます。)

install した uncrustify をどこのディレクトリに置けばいいのか問題

はじめは/usr/local/Celler/uncrustify というディレクトリができていたので、これを/Users/(username)/.atom/packagesとかに移動させては「違うなぁ」ということを繰り返してました。
調べたら Windows の場合にのみ、展開して得た uncrustify.exe を packages 下に置かなければならないだけで Mac だと何も触らなくていいみたいですね。この原理はちょっとまだ分かっていないのでそのうちちゃんと調べたいです。

uncrustify の config 設定問題

どうやら Uncrustify はインストールするだけじゃなく、詳細なconfigを書いた uncrustify.cfg を用意して、Atom の Settings -> Packages -> Atom Beautify からそれぞれの言語に対して絶対パスを通す必要があるそうです。(自分は絶対パスの記入でタイポしていて無駄に悩んでいました笑)

自分の場合は/Users/(username)/下に/.uncrustify/uncrustify.cfgを作成しました。

config の内容は以下の記事を参考にさせていただきました。

qiita.com

ただ Uncrustify もアップデートされているようで、Uncrustifydefault config をみてみると、上記のサイトに掲載されている設定に一部誤りが含まれていたので、以下に自分の変更点をまとめておきます。

・align_number_left を align_number_right に変更
・L.314, L.338, L.597のコメントアウトに対して日本語であるせいかエラーが吐かれているので適当に改行
・L.485 D言語のテンプレート sp_before_template_paren が { number } になっていたので { ignore, add, remove, force } に変更 (自分は ignore を選びました)
・ mod_full_brace_if_chain = false の下に mod_full_brace_if_chain_only = false を挿入
・sp_func_call_user_paren = remove の下に sp_func_call_user_inside_fparen = ignore, sp_func_call_user_paren_paren = ignore の挿入

下二つは必要なかったかもしれませんが、default config にあってこちらになかったのを発見してしまったので一応追加しておきました。

まとめ

以上で atom-beautify とそのショートカットキーの導入が完了しました。
情弱すぎてこの実装にさえ一時間ほどかかってしまったのでちょっと悲しいです...笑
しかし、これからは快適な Atom 生活でどんどん強くなっていきたいですね!

自分のように困っている方の助けになれば幸いです。

参考

Macのショートカットキー - 不可視ファイルの表示/非表示を切り替える - PC設定のカルマ 
atomにatom-beautifyを入れた時にハマったこと | one more step
意識の高さからかコードフォーマッター設定を公開
PATHを通すために環境変数の設定を理解する (Mac OS X)
Atomエディタでatom-beautifyを使ってPHPのソースコードを整形する(追記あり) - そうだ車輪と名づけよう 7th
http://uncrustify.sourceforge.net/default.cfg