最近、色々とツール周りを更新したので、自分の開発環境を以下の記事に習って記録しておきます。 生産性への投資は本当に大事。後回しになりがちなので、しっかりと改善していきたい所 ...
各種ツールの設定は dotfiles として管理しているので、参考までに。
エディタ
Neovim と VSCode(+ vscode-neovim)の二刀流です。
業務でKotlinを書くため、 IntelliJ IDEA も使っていますが、特にこだわりはないので詳細は省略します。
最近はTypeScriptを書くことが多く、ちょっとしたコーディングは Neovim で完結させることが多いですが、メインでは VSCode(+ vscode-neovim)を使っています。
NeoVim の開発効率を取り入れたい一方、Copilot なんかを Neovim に設定してまで使いたいモチベーションがないのと、ペアプロで LiveShare が使えないと困るケースが多いため、VSCode でスムーズな開発ができるようにメインエディタとして整えています。
vscode-neovim と Neovim の設定ファイルは共通化できますが、自分はあえて分けています。
捨てやすさを優先しての選択です。Neovim の設定ファイルはinit.vimになっている一方、vscode-neovimの設定ファイルはinit.luaになっているので、.luaに統一したい ...

(2025/07/19追記: 記事公開後に.luaに更新しました)
ターミナルエミュレーター
iterm2 を長らく愛用していましたが、Ghostty に乗り換えました。
特に iterm2 に不満があったわけではないですが、Zero Configuration Philosophy に惹かれました。
設定がシンプルであればあるほど良いと考えているのですが、実際に設定ファイルを書いてみて、記述量の少なさに驚きました。設定ファイルはプレーンなテキストファイルなので、git で管理できるのも嬉しいです。
自分の環境(M1・M3 Mac)ではかなりサクサクと動いています。軽量を売りにしているのも納得です。
ターミナルマルチプレクサ
相変わらず tmux を使っています。実は本格的に使い出したのは去年の夏頃です。
キーバインドに若干の扱いにくさはありますが、慣れれば問題なかったです。合わせて、開発環境を一発で立ち上げるのに tmuxinator を使っています。
ymlファイルを定義しておけば、指定のウィンドウ・ペインなどをコマンド1つで立ち上げられるのが本当にありがたい。
シェル
zshを使っています。
特にこだわりはないですが、Mac のデフォルトシェルになった頃から bash から乗り換えました。
ランチャー
Raycast を使っています。
今までランチャーを使ってこなかったんですが、生産性が爆上がりしたので、絶対使った方が良いです。
Snipet がめちゃくちゃ便利。テストデータに保険者番号と呼ばれる特定の番号を入力する必要が頻繁にありますが、,hokenと入力すれば、自動で変換してくれます。
バージョン管理
asdf から mise に乗り換えました。 不満は特になかったですが、mise は環境変数・タスクの管理まで可能です。タスクに tmuxinator のコマンドを登録して、入力の手間を省いています。
Docker container launcher
OrbStackを使っています。とにかく速い。UIがシンプルで分かりやすいです。
ウィンドウマネージャー
Rectangle(シンプルで良い)
ブラウザ
Google Chrome(ずっと使ってる。重いのがね ...)
キーボード:
Mac Book 標準のキーボードです。キーボードにこだわりないです。
過去に HHKB と NiZ を試しましたが、しっくりこなかった。どこでも仕事ができるように Mac Book だけで仕事ができるようにしておきたい思いがあります。
モニター
BenQ GW2785TC をずっと使っています。
2年ほど使っていますが、type-c 一本で出力・給電できるのは超便利です。特に不満はないですが、そろそろ買い替えても良いかも。最近はフロントを触ることが多いので、もう少し大きいサイズにしたい気持ちもあります。