mottox2 blog

VSCodeからRubyMineに乗り換えてみた

diaryeditorrubyminevscode

TypeScript+VSCodeの組み合わせはエディタは軽く、補完も最強という特徴があり最高の開発体験を得られます。
ここ最近はほとんどTS(JS)を書いているので開発環境の恩恵を受けていたのですが、久しぶりに仕事でRailsを触ることになりました。1

しかし、最高の開発環境に慣れてしまったあとでRubyを書くと補完が弱い箇所にイライラしたり、JSの文法で書いてしまったりと大分辛さを感じます。とにかくツライ!2

ここで、JetBrains(RubyMine)のライセンスをセールで買っていたことを思い出したので、RubyMineに乗り換えてRuby専用環境の恩恵を受けようと思いました。

初心を忘れないため / RubyMineへの乗り換えを検討している人のために感想を残しておきます。

ファーストインプレッション

  • とにかくショートカットキーがわからない。
  • 補完はサクサク。(いい意味で)Rubyとは思えない。
  • ちょっと重い。特に起動が。
  • Ruby/Railsに特化した機能が便利。
  • Rubyに関してはVSCodeより良さそうな印象。

ショートカットキー

自分はプログラミングを始めて4年ほどVimを使っていたのでVim Pluginは必須です。RubyMineでは「IdeaVim」というVimキーバインドを再現してくれるプラグインが用意されており、インストールの途中、オプトイン形式でインストール出来ます。
Vimキーバインドはプラグインで解決するのですが、エディタ固有のキーバインドに苦戦しています。

VSCodeでよく使った機能との対応を把握すると多少楽だった。このあたりのショートカットは抑えておきたい。

RubyMine VSCode
ファイルのインクリメントサーチ Cmd + Shift + O Cmd + P
コマンドパレット Cmd + Shift + A Cmd + Shift + P
ターミナルの起動 option + F12 ctrl + `

補完がいいぞ

TypeScriptほどじゃないけど、まあまあ書きやすくなった。
Railsプロジェクトだけど、モデルのフィールド名ぐらいの補完はしてくれる。

vimやvscodeではctagsプラグインなどを使って実現していたが、デフォルトでいい感じにしてくれるのはかなり体験がよい。

ちょっと重い

筆者のエディタ遍歴がVimとVSCodeなので、とにかく軽量なエディタを使ってきました。そのこともあり統合開発環境は起動がめちゃくちゃ遅いという印象があります。
iMac 2017でメモリ40GBで「まあ我慢出来る」ぐらいの感想なので、ノートPCで起動しようとは思えないかも…
同じ職場のちょっと古いMBPを使っているエンジニアいわく「まともに動かない」とのこと

Ruby/Railsに特化した機能が便利

大体コマンドパレット(RubyMineでは「Find Action」と呼ぶらしい)からRuby/Railsの各種機能が呼べる。ターミナルもあまり必要なくなってよい。
とりあえず「rake」とか「rails」で検索するといい感じのアクションを示してくれる感じ

今後やりたいこと

  • Ctrl + Aで行頭に、Ctrl + Eで行末に動くショートカットキーを設定した。(Vimキーバインドに乗っ取られてる)
  • VSCodeのCmd + [Cmd + ](インデント変更)に当たるショートカットキーを設定したい。

感想

ちまたのプログラミングスクールではRuby on Railsを教えているスクールが多いとの噂ですが、補完の効くTypeScriptとNext/Nuxtみたいな組み合わせで始めたらいいんじゃないでしょうか?

作りやすさもポイントだとは思うけど、快適に開発出来るかどうかって結構重要だと思います。TypeScript最高!

Rubyに関してはRubyMineでもう少し頑張ってみようと思います。年内はRailsやっていき。

  1. もともとはRailsをずっとやってきた人間なので、去年までRubyの方が得意でした。本当は新規のRails案件は避けていたけど、知り合い経由だったので引き受けた。

  2. TSだと動かす前にエラーがわかることが多いので、更にツライ

B!
book

MS Wordで柱に章番号・テキストを表示する方法

技術書展8に向けてWordとPandocを使って同人誌を作っています。PandocではWordのテンプレートを用意して、その中にMarkdownで書いたコンテンツを流し込みます。この構成で大事なのがW

event

技術書展8でSPAの技術に関する同人誌を出す予定です

技術書展7、技書博1に続いて技術書展8や技書博3に向けて、つのぶえ出版として新作を書いています。今回は「フロントエンドの技術選定」「仕組みの理解」あたりをテーマに考えています。 - ReactとV

diary

タスク消化のためにひとり合宿をやってきた

3泊4日をかけて名古屋でタスク消化合宿を行った。 簡単にまとめると、普段の環境では進捗が見えやすく、達成感を得られるプログラミングをやりがちですが合宿の場を用意することで普段進みにくいタスクを消化す