趣味開発のエディタ無いし開発環境事情

hctaw_srp
·

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と繋がって開発が出来る様にしてくれる拡張機能提供がある。公式製な点もポイントが高い

    • https://code.visualstudio.com/docs/devcontainers/containers

    • 仕組み的にはコンテナ側に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派生で互換性を維持しつつ面白そうな機能を盛り込んだアプリケーションが出てくるとちょっと期待が高まるかも

@hctaw_srp
野球を観ることとサウナ、プログラミングが趣味。未知の領域を自分なりに咀嚼出来た瞬間が好き。ここでは気が抜けた文章を投下したい。