技術

Python環境をJetbrainsからVSCodeに乗り換えてみた感想

私はJetbrains信者です。 一年以上前に、All Products Packに切り替えてから、その信者っぷりは加速しました。

【Jetbrains All Products Pack】エンジニアならもう買ってしまっていい!Jetbrainsは開発者に人気のIDEです。 各言語ごとに製品があり、ライセンスも各製品ごとにあります。Jetbrains All ...

しかし、今度、新たにジョインした現場が、かなり環境ガチガチのところで、開発環境はVSCodeしか使えない感じです。セキュリティ的に個人ライセンスは使えませんし、VSCodeのworkspaceの設定がかなり組まれていて、その設定がメンバーに共有されており、各自の環境がそのワークスペースの使用前提になっております。

というわけで、Jetbrains信者だった私が、ここ最近で、VSCodeをがっつり触ってみた感想になります。

結論から言うと、やっぱり可能な限りJetbrainsは使いたいです。今は週5フルコミットで、ほぼVSCodeしか使っていませんが、個人でAll Products Packのライセンス購入は継続すると思います。

メインで使っている言語はPythonになります。VSCodeはマルチ言語の環境構築が可能です。中でもTypeScriptとPythonはかなり最適化されているイメージです。しかし、そのPythonでも、やはりJetbrainsの方がいいなと思いました。

VSCodeでも意外と何とかなったこと

まずはVSCodeでも意外と何とかなったことたちになります。

見た目

これはわかっていたことで、意外でも何でもないですが、見た目に関してはまったく問題ありません。

VSCodeはデフォルトと水色ベースで目にあまり優しくないですが、ExtensionでAtom One Dark ThemeとMaterial Icon Themeを入れれば、理想的な状態になりました。

デバッグ

デバッグは、VSCodeだときついかなと思ったのですが、意外と何とかなりました。

Jetbrainsのデバッグのほうが使いやすいですが、これは慣れの問題の気がします。機能自体には問題ありません。

まだデバッグをはじめとして、開発に必要な機能、エディタの操作全般、検索、各種チェックも問題ありません。この辺りは、Jetbrainsとほとんど遜色ありません。無料なのに、すごいなと思います。

エディタ界の覇権を制しただけあります。

スペルミスチェック

これはJetbrainsだけの機能かなと思っていたのですが、ExtensionのCode Spell Checkerを使えば大丈夫そうです。

精度自体はJetbrainsのほうが高そうですが、最低限のtypoはこれで防げそうな気がしています。

Git周り

VSCodeはGit周りが使いづらいイメージがあったのですが、これも以下のExtensionで何とかなりました。

  • Git Graph
  • GitLens
  • GitHub Pull Requests and Issues

VSCodeだと辛いとこ

diffの確認

コミット前の差分確認ですが、これはJetbrainsの方が格段に使いやすいです。

VSCodeは変更箇所がわかるだけですが、Jetbrainsは行単位で柔軟に変更を戻したりできます。

またJetbrainsはコミット前に、コードのwarningやアノテーションコメントの有無をチェックしてくれます。

VSCodeデフォルトではやってくれません。設定次第ではできそうなものですが、詳細は調べていません。

ローカルヒストリー

Jetbrainsはローカルヒストリーという、デザインツール系によくある作業履歴の機能があります。

この機能のおかげで、こまめにローカルコミットをしなくてもある時点の状態に戻ったりすることが容易にできます。

この機能が非常に強力で、重宝しています。

VSCodeにこの機能はありません。

メソッドの参照

VSCodeはメソッドにジャンプしないで、その場での参照が使いづらいです。Alt+F12でできるのですが、Jetbrainsの同機能のAlt+Spaceのほうが見やすいです。

ウィンドウの分離

Jetbrainsは今見ているタブをマウス操作で簡単にウィンドウ分離できます。

私はこの操作をよくやるのですが、VSCodeではできません。コマンドパレットに入力するという面倒な動作で、今見ているタブを別ウィンドウにコピーすることしか、できなさそうです。不便です。

大文字小文字のトグルができない

大文字 <--> 小文字の相互変換、つまりトグルが標準機能だとできなさそうです。片方向の変換はあるので、割り当てキーを2つにすれば、大文字、小文字の相互変換はできそうですが、あまりやりたくありません。

この程度の機能にキーを2つも割り当てたくありませんし、キーを覚えるのも大変です。

しかたがないので、小文字 -> 大文字だけ、Ctrl+Uでやるようにしました。大文字 -> 小文字の変換はあまりしないので、キーでやるのは諦めました。

コメントアウト

VSCodeはコメントアウトしても下の行にフォーカスしてくれません。

地味に不便です。

これも標準機能だとできなさそうです。マクロを入れたりする必要がある見たいです。面倒なのでまだやっていませんが、これはさすがに不便なので、そのうち導入してみるつもりです。

DB周り

Jetbrainsには、Data GripというDBに特化したIDEがあります。SQLを書いて実行するといったことを頻繁にやる場合は、この環境が重宝します。

Jetbrainsのこれは別製品であり、比較する対象としてレベルがあっていませんが、VSCodeでDB周りをゴリゴリ触ることはできません。

また、VSCodeはSQLのフォーマッターとかも微妙な感じがします。

リファクタリング

VSCodeは通常開発なら問題ないですが、リファクタリングをやるとなるときつそうな気がしています。

まだVSCodeではリファクタをやったことないので、勝手なイメージではありますが。たぶん、VSCodeでもできるんでしょうけど、Jetbrainsのほうが機能が強力でスムースにできそうな気がしています。

VSCodeの方が優れていること

あまりありませんが、VSCodeの方が優れていることもあります。

軽い

VSCodeの方が起動が速くて軽いです。ちょっとしたメモやテキストを扱うにはVSCodeの方が適しています。

ファイルの新規作成

Jetbrainsは常時保存のため、ファイルを作成してからでないと使えません。保存するほどでもない一時的なメモやコードを書くのが面倒です。

VSCodeは名無しの未保存のファイルが扱えますので、書き捨てのメモやコードを書くのにはVSCodeのほうが使いやすいです。

マークダウンはVSCodeの方が書きやすい

マークダウンはVSCodeの方が書きやすいです。

Jetbrainsでも書けないことはないのですが、プラグインがいまいちです。VSCodeはマークダウン関連のプラグインが秀逸です。

まとめ

以上、JetbrainsからVSCodeに乗り換えてみた感想でした。

JavaはJetbrains一択でしょうけど、Pythonに関しては、VSCodeでも何とかなりそうな感じではあります。Jetbrainsのほうが機能が強力で、できることは多いですが、開発に影響するほどでもなさそうです。

なのでその機能に、Jetbrainsの高いライセンス費用を出すかどうかは、意見がわかれるところだと思います。

私は今の所は、まだJetbrainsのライセンスを継続して購入する気ではいます。ただ、今後、VSCodeを使い続け、使用する言語もPythonだけという状態がしばらく続くなら、一度、ライセンスの購入を止めてみてもいいかもと思っています。