Open4

IntelliJ IDEAからVisual Studio Codeへの移行

ohtacaesarohtacaesar

JetBrains製品ではindivisual planのGitHub Copilot契約でないとCopilot Chatが利用できないので、プランに関係なく利用できるVisual Studio Codeへの乗り換えを検討する。それほどIDEの機能を活用していないので下記の様な機能が乗り換えられそう。

  1. Vimプラグイン
  2. DBクライアント(SSH Tunnelでの接続)
  3. 1つのプロジェクト内に異なる言語のプロジェクトを配置できる
  4. 賢い補完・ワーニング
ohtacaesarohtacaesar

Vimプラグイン

JetBrains製品では公式がVimプラグインを提供しており安心してインストール・利用できる。VCSには有名で歴史のあるVimプラグインがあるようだ。

https://github.com/VSCodeVim/Vim

試してみる

エディター内のマーケットプレースから簡単にインストールすることができ、再起動なく即座に反映された。モードの変更やカーソル移動、置換などなどJetBrainsのものと同じように使えるため問題なさそうだ。

ohtacaesarohtacaesar

DBクライアント

IDEで.sqlファイルに記述したクエリをエディター内で実行できると、実行後にクエリをコミットでき、集計条件等が失われにくくなる。

以前はIDEとDBクライアントを分けて使っていたが、IDEで記述したクエリをDBクライアントにコピーしてから実行し、エラーが発生したらDBクライアント上で修正してIDEにコピーして保存するなどといった煩雑な作業を行っていた。保存漏れが置きやすかったり、周りのメンバーにファイルへの保存が徹底させられずDBクライアントにキャッシュにしか存在しないようクエリが発生したり、なかなかつらい状況だった。

このような事態を防ぐために、DBクライアントを持ちファイル内のSQLを実行できるIDEを利用したい。

プラグイン調査

VSCでは公式で提供されているようなDBクライアントはなさそうで、コミュニティプラグインを利用する必要がありそうだ。マーケットプレースでdatabaseと検索すると、いくつか人気の有りそうなプラグインがでてきた。

DBはアプリケーション開発用のMySQLやPostgreSQLから、データ分析のためにBigQueryやHiveにもつなげるようにしたいため、JDBCでDBに接続できそうなDatabase Client JDBCが良さそうだ。

Database Client

インストールしたが画面のどこから利用できるかわからなかったが、プラグインの説明を見るとDatabase Client JDBCdatabase-clientのコンポーネントということなのでDatabase Clientもインストールする必要がありそうだ。

Database Clientをインストールするとサイドバーにデータベースのアイコンが表示された。MySQLやPostgreSQL等にはDatabase Client単体で対応してそうなので、Database Client JDBCは基本的には必要ないかもしれない。

接続の作成画面にアクセスすると、このエクステンションは年間23ドル払わないと登録できるデータベースの制限がかかるようだ。RDBとNoSQLでそれぞれ3つずつでワークスペース(プロジェクト)ごとではなくPC全体での管理になるようで使い勝手は悪そう。

またSQLファイル内にあるクエリを実行できるのだがフリープランだと実行結果をエクスポートできないようで、接続可能件数含めフリープランで使うのは難しそうに感じた。

他のエクステンションも探してみたが、microsoftが提供しているものはAzure用だったり、ほかはデータベース製品別のエクステンションだったりして管理が面倒そうだ。

ohtacaesarohtacaesar

よさげなDBクライアントが見つからないので移行は諦めることにする。面倒だがCopilot Chatを使いたいときのみにVisual Studio Codeを開くようにする。