俺の最強の開発スタイルを晒してみる
15日連続で記事を投稿していると、だんだんと普段の生活の中で無意識にnoteネタを探してしまうようになったざわほげ(@zawawahoge)です。
最近はもっぱらお気持ちばかり書いていて流石に自分でも飽きてきたので、コードを書く際の開発スタイルを晒していくことにします。色んな好みのスタイルがあると思うので、「これが俺の最強の開発環境だ」という方はコメントなどで教えていただけると幸いです。
自宅の開発環境
・MacBook Pro (15-inch, 2019, Core i9, 32GB)
・Dell 4Kモニター 27インチ
どうでしょうか?なかなか良さげな感じですね。これは私が去年の10月頃に揃えたラインナップです。エンジニアとして生きていくためにはこのくらい優れた開発環境が欲しい、そんな風に考えて購入を決意しました。
その結果、私は完全に金がなくなりました。
当時の嘆きが以下のように綴られています。
当月払いから翌月払いへの転職で、給料が2ヶ月近く振り込まれない状況になったのですが、なぜかそのタイミングで上のような開発環境を揃えていったため、ガチで金がなくなりました。
今はなんとか暮らせるレベルまで回復したので、御給金は大事ですね。
話が逸れてしまいましたが、Type-CからHDMIに変換するアダプタを用いてMacと外部モニタを接続しています。
Macにして良かったこと
〜Mission Controlで12画面を操る〜
私は就職してからMacを使い始めました。それまでは小さい頃からWindowsしか触ったことのない人間だったので、無意識に食わず嫌いしていました。今までもWindowsマシンを持っていたのですが、会社支給のMacの使い勝手が良かったので自分用に購入することにしました。
Macの機能の中でも Mission Control は特に便利です。Mission Controlでは、作業スペース(=スクリーン)を増やすことができます。
普通は3本指で作業スペースを行き来できるのですが、作業スペースを増やしていくと、お目当てのスペースに行くまで何手か必要になり煩わしいです。
おすすめを紹介すると、まず、作業スペースを10個作ります。そして、キーボードの設定で Control + <数字> というキーボードショートカットを各作業スペースに割り当てます。これによって、一つのパソコンの中に、10個の異なる開発環境を作れるようになります。
私は以下のように設定しています。
・Control+1 ブラウザ
・Control+2 ブラウザ
・Control+3 VSCode(API)
・Control+4 VSCode(ドキュメント)
・Control+5 VSCode(フロントエンド)
・Control+6 Youtube
・Control+7 予備
・Control+8 Jupyter Notebook
・Control+9 Slack
・Control+0 ターミナル(iTerm2)
自分でキーバインドを決めて運用すれば、1秒以内に辿り着きたい作業スペースに行くことができます。これは効率化を図る上では超おすすめです。
外部モニタを使っている場合は、モニタごとに作業スペースを追加できます。これ以上多いと持て余してしまうので、普段は外部ディスプレイに10個、MacBookに2個、合計12個の作業スペースで作業しています。
VSCode:メインのエディタ
最近はほとんどVSCodeを使っています。ターミナルでちょこっと弄りたい時はVimで開きますが、基本的な開発はVSCode上で行います。
VSCodeは非常に多くの拡張機能があります。その中でも、私がおすすめなのは、
・Vim キーバインド
・GitLens
・GitHub Pull Requests for Visual Studio Code
です。VimとEmacsの宗教戦争は依然として解決してない難問ですが私はVim信者なのでVimキーバインドは必ず入れます。
どのくらい好きだったかというと、大学の生協や図書館に 実践Vim を取り寄せたくらいです。
とても良い本なので、ぜひご一読ください。
GitLens:コミット情報をエディタ上に表示
GitLensは手動で git blame を実行せずに各行が誰によってどんなコミットで変更されたかを見ることができるツールです。特にどのくらい前の変更かがカーソルを合わせただけで出てくるので、開発の際とても重宝します。
GitHub Pull Requests:VSCode上でレビューできる
GitHub Pull Requests for Visual Studio Code は、自分がreviewerになっているPull RequestをVSCode上でレビューできるツールです。簡単にcheckoutできるので、hubコマンドでやるよりも直感的な操作ができます。
GitHub上でレビュ-する場合、レビュー箇所以外を参照したいときにいちいち View fileなどしてファイル全体を見なければいけなかったり、変数の型がわからないなどの問題があります。
VSCode上でレビューすることで、他のファイルへの参照もチェックできたり、必要ならば docker-compose up などで簡単にレビュー対象の環境をローカルに再現することができます。
ghq:リポジトリ管理
peco:インクリメンタルサーチ
Gitリポジトリが増えてくると、いちいち cd して戻ってくるのは手間です。こういうときに便利なのが、ghq+pecoのコンビネーションです。
私の環境では、ターミナルに
ghq look z
まで打ってから Control+R を入力すると、ローカルにcloneしてきたリポジトリをいい感じに検索してくれて、簡単にそのディレクトリに移動することができます。複数のリポジトリを行き来する場合は、ghq+pecoで5秒以内に移動ができます。
次のような記事が参考になるでしょう。
Alfred
最後はAlfredです。どんなアプリケーション上であっても、(私の環境では)Alt+Space を入力すると、Alfredが起動し、アプリケーション名を入力するとそのアプリケーションが実行されます。
例えば、 Dockerのエンジンが起動できていない!となったとき、Alfredを使えば、
・Alt+Space
・docker
と入力するだけでDockerエンジンが起動します。どのアプリケーションでも同じように起動できるので、とても便利です。
まとめ
いかがでしたでしょうか?私の渾身の開発環境を紹介してみました。
まだまだ知らないことがたくさんあるので突っ込みどころはあるかと思います。もしこういう便利なツールが他にもあるよ、という方は教えていただけると超ありがたいです!
良かったらスキしてもらえると励みになります!
Twitterもやってます。
よろしければサポートお願いします!本の購入などに充てます!