Photo by Antonio Tajuelo
長田です。
みなさんコーディングするときのエディタって何を使ってますか?
paizaはRubyで作られているので、中のエンジニアもRubyMineを使っている人が多いんですが、今年入社した私はSublime Text派です。Sublimeはいいぞ…。
今回は、Sublime Textを使うメリット・デメリット、実際に開発で使っていて便利なプラグインや設定の小技とかを書きます。Sublime仲間の皆さんや、Sublime使ってみたいなっていう人の参考になればうれしいです。
■Sublime Textを使うメリット
◆シンプル
Sublime Textは、有志が作るパッケージなどで自由にカスタマイズできますが、そのぶん最初はあまり機能が充実していません。
これはデメリットに感じる人もいるかもしれませんが、私は「いろいろやってくれるけど初期状態からすでに重くて、設定をいじらないと軽くならない」タイプのリッチなエディタが嫌いなので…。
「自分が必要な機能だけを付け加えていく」ことができて、シンプルで軽い状態を保ちやすいところはメリットに感じています。
◆速い
正規表現を使った全文検索や、プロジェクト間のファイル検索・移動など、標準機能の動きがとにかく速いです。パッケージもほとんどが軽くて速い。
◆ カスタマイズが自由
後述するパッケージもそうですが、その気になればすべてのショートカットキーを自分好みに変えることもできます。
◆コマンドパレットが豊富
`Command + Shift + P` で開ける「コマンドパレット」で、実行可能なコマンドを簡単に探して実行できます。
Sublime Text上でできることはほぼすべて網羅されているので、とてもわかりやすいです。
http://docs.sublimetext.info/en/latest/extensibility/command_palette.html
◆パッケージが豊富
メジャーどころは今でも定期的にアップデートされています。
◆設定ファイルが全てJSON形式のテキストファイル
テキストファイルなので、新しいPCや環境に移行しても設定を移植しやすいです。ほかの人の設定を適用したいときも簡単にできます。
◆右側のミニスクロールバー
編集中のファイルの、大体の形を把握しながらスクロールできます。巨大なファイルを編集する際にはとても役立ちます。
◆無料でも使える
たまに「寄付する?」という表示は出ますが、基本的に無料で使えます。
■Sublime Textのデメリット
◆日本語だと不自然な動作のときがなくはない
最近はだいぶマシになりましたが、全文検索時に「変換確定のEnterキー」を押したときに検索が走っちゃうときがあります。
↓回避方法もあります。(私はもう慣れたのでしてないですが…)
Sublime Textの検索窓に日本語を入力する方法 · GitHub
◆最近落ち目…
最近は日本での人気が下がってきているのもあって、日本語の情報が徐々に少なくなってきている気がします…。
■Sublime Textの便利なプラグイン
◆Sublime Package Control
Installation - Package Control
これがないと始まらない。パッケージの管理をUI的にするためのものです。
(逆に言えばこれだけは、公式からインストール用のPythonコードをコピペして実行しないといけないです。エンジニアっぽい!)
◆Boxy Theme
https://github.com/ihodev/sublime-boxygithub.com
見た目を簡単におしゃれにしてくれます。7つぐらいあるテーマの中から1つ選ぶだけ。面倒くさがりでも手軽におしゃれにできます。
◆SublimeLinter
Welcome to SublimeLinter — SublimeLinter 4.0.0 documentation
Lintツール(ソースコード静的解析・エラー検出)をSublime Text上でできるようになります。このパッケージにひもづいた「SublimeLinter-rubocop」などを一緒にインストールすると、対応するLintツールが使えるようになります。
◆random-sublime-text-plugin
Random Everything - Packages - Package Control
ランダムのテキストを生成してくれます。
◆Sublime Files:
Sublime Files - Packages - Package Control
ファイル操作をSublime Text上のコマンドパレットでキーボード主体で実行できます。
◆TodoReview
TodoReview - Packages - Package Control
サイドバーで開いているコード内にある「TODO: 」を検出してくれます。設定で自分好みにできます。
◆Trimmer
余分な空白を削除してくれます。保存時ではなく、自分のタイミングでしたい時に使います。
そのほか、開発する言語に応じてスニペットの追加やコード整形のパッケージをインストールしています。
■設定
◆terminalからコマンドで開くようにする
下記リンク先を見てコマンドを叩くだけで、 `subl` コマンドが使えるようになります。
https://www.sublimetext.com/docs/3/osx_command_line.html
これを使えば、terminal上で `subl hogehoge.rb` や`subl project_directory/` とすると、Sublime Textで開けるようになります。
◆インデントし直し(Reindent)のショートカットキー追加
`Preferences > Key Bindings - User` を開いて下記設定をすると、ショートカットー発で選択箇所のインデントが振り直されます。`command+ctrl+i` の箇所はお好みで…。
[ ... { "keys": ["command+ctrl+i"], "command": "reindent" ,"args": {"single_line": false}}, ... ]
◆ 設定ファイル
設定ファイルはJSON形式のテキストファイルなので、「Sublime Text Settings」などでググって、先人の設定をパクるのもありです!
下記は私の主な設定です。
`"auto_complete": true,`
自動補完。
`"copy_with_empty_selection": true,`
選択をしていない状態でコピーやカットをすると、現在行全てに対して適用される。
`"detect_indentation": false,`
起動時にtabとspaceの自動認識をしない。
`"detect_slow_plugins": false,`
プラグインが重い時に出てくるポップアップを消す。
`"ensure_newline_at_eof_on_save": true,` `"index_files": true,`
対象のフォルダ内のファイルを全てインデックスする。高速なファイル間移動などを実現。
`"translate_tabs_to_spaces": true,`
保存時にtabをspaceに変更する。
`"trim_trailing_white_space_on_save": true`
保存時にむだなspaceを削除する。
■まとめ
Sublime Textは「The text editor you'll fall in love with」(恋に落ちるエディタ)というキャッチフレーズがついているんですけど、実際それぐらい使いやすいと思います。シンプルで軽くて速いし、プラグイン多いからカスタマイズしやすくて便利だし。興味のある方は、ぜひ使ってみてください。
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。