Xを眺めるとちょくちょく魅力的なエディタの紹介が流れてきますが、こうした物をトライしつつ趣味開発環境の構成員に入れるべきか、の判断をしていく必要が半永久的に発生します。一旦の結論をここに書き留めておこうと思います。
結論
基本はVSCode + Dev Container
VSCodeとDocker、Dockerfile、devcontainer.jsonを用意
Dev Containerの立ち上げを含めVSCode内で完結
テストするエディタの条件はDev ContainerへのSSH接続が出来るか
何かしらのエディタ + DevPodの様な選択肢は全然有
今のところDevPodと併せて美味しそうなエディタは特に無かった
開発環境構築に対する基本スタンス
ローカルは汚したくない
ゆえに言語のバージョン管理ツールは選択肢で、実際pipenvあたりは割と有
ただ、言語毎にツールを入れて管理をすることや、pipenvの様に指定ディレクトリ下だけバージョンをロックする様な機能が無い物も多数ある
Dockerであれば言語によって作る物も変わらず、環境もコンテナの中に閉じ込められる
エディタの選定も必然コンテナ環境との接続回りでサポートが豊富な物の優先度が上がる
Dev ContainerかDockerコンテナかはあんまり気にしていないが、エディタ環境の統合との意味では後者をあえて推す必要性も無いな、と思っているため、Dev Containerとして立ち上げることを念頭に置く
VSCode
VSCodeには自前にDev Containerと繋がって開発が出来る様にしてくれる拡張機能提供がある。公式製な点もポイントが高い
仕組み的にはコンテナ側にVSCode Server(エージェント的な物と思っている)を入れた上で、そことSSHで接続することで実現している
Dev Container自体はVSCodeとは異なる文脈の機能であるが、この拡張機能によってVSCodeで完結するオペレーションで環境を作ることが出来る
VSCodeのエコシステムは強大で、あらゆる言語・フレームワークでの開発においてサポートしてくれる拡張機能が何かしらある
プラグイン機構なので、不要な物をインストールする必要性も無い。ミニマムに環境を作ることが出来る
結果的に、手元に必要な物はDev Container拡張機能を入れたVSCodeだけ、と言う分かりやすさが実現
エディタの他選択肢
まずコンテナ環境を使うことについては、それ以外の選択肢検討の余地が自分の中では無い(動機が無い)ためパス
エディタはDevPodでDev Containerを作成した上で、そことSSH出来る物をいくつか確認したが、下記の様な結論
VSCode Insider
これを使っても良いが、VSCodeと同義なので割愛
VSCodium
これも使えるが、VSCodeと同義
Fleet
結構期待値が高い記事を多く見ていたので楽しみだったが、今のところは論外
起動が本当に遅い
Smart Modeの起動も遅い
Smart Modeが動く前準備としてありとあらゆるプラグインを落としにかかる
AstroやReact等、サポートしていない言語・フレームワークも多い
HayStack
SSH接続失敗。VSCode like等を謳い文句にするならば、最低限VSCodiumと互換性は取ってほしい
Cursor
試した気がするものの、忘れた。DevPodプラグインが動かなかったことだけは覚えている
JetBrains系エディタ
正直課金無しで行きたいので選択肢にならず
ただ、業務アプリを作る場合Javaを採用する場面も多いと思うので、その時はJetBrains製品で固める選択肢は全然ある。VSCodeでJava + Mavenのプロジェクトは依存Jarの中身をデコンパイルして見える様にしてくれなかったはず
VSCode + Dev Containerでいいよ
ぶっちゃけ特に不満が無い
VSCodeは軽い
Dev Container立ち上げもVSCode Serverのインストールや起動がボトルネックな感じも無い
コンテナ側負荷が高くて接続が不安定になることが過去あったが、それもWSL無いしコンテナ自体への割り当てリソース設定でどうとでもなるし、そもそもエディタの問題では無い
VSCodium派生で互換性を維持しつつ面白そうな機能を盛り込んだアプリケーションが出てくるとちょっと期待が高まるかも