iPX社員によるブログ

iPX社員が"社の動向"から"自身の知見や趣味"、"セミナーなどのおすすめ情報"に至るまで幅広い話題を投下していくブログ。社の雰囲気を感じ取っていただけたら幸いです。

AI開発をVSCodeで行う際のオススメ拡張機能

はじめに

こんにちは、iPXのきかん坊ことフクベエです。
辛抱の中にも少しずつ希望の光が見えつつある昨今でありますが、いかがお過ごしでしょうか。


さて、突然ですが皆さんはPythonでAIシステムをコーディングする際にどのエディタを使用しているでしょうか。
iPXでは基本的にVisualStudio Codeを使用しています。このエディタの一つの醍醐味と言ってもよいのが拡張機能(Extensions)ではないでしょうか。
そこで今回のブログでは私が開発業務を行う中で重宝している拡張機能についてご紹介したいと思います!

 オススメExtensions

まずはコーディングを行う際に直接的に役立つ機能をご紹介します。

  • Braket Pair Colorizer 2

    marketplace.visualstudio.com


    対応する括弧を同じ色で表してくれます。括弧の乱れ打ちのようなコードの視認性が格段にアップします。また、括弧を付け忘れるようなミスにもより気づきやすくなるでしょう。 

 

  • Python Docstring Generator

    marketplace.visualstudio.com


    関数やクラスの説明文となるDocStringのフォーマットを自動で生成してくれる機能です。有名なフォーマットとしてGoogleスタイルとNumpyスタイルがありますが、どちらのスタイルで生成するかを設定で指定することが可能です。この機能のすごいところは引数や返り値を認識した上でフォーマットを作成してくれるところです。
    可読性を上げるためにDocStringは必要不可欠ですが、この拡張機能が無ければ私は全ての関数に記述することは諦めていたと思います。

 

  • Trailing Spaces

    marketplace.visualstudio.com


    余分なスペースのハイライトや、それらの一括除去が可能です。余分なスペースが眩い赤色でその存在を主張してくるので、いやでも余分なスペースを抹殺する必殺仕事人と化すことでしょう。

 

 

次に大まかにはソースコード管理をアシストしてくれるような拡張機能をご紹介します。

  • Bookmarks

    marketplace.visualstudio.com


    行単位でブックマークすることができます。TODO機能との使い分けは難しいですが短期的で、わざわざTODOで残しておくほどでもない部分についてこちらの機能を使用することが多いです。

 

  • Todo Tree

    marketplace.visualstudio.com


    スクリプト内に書き記した"TODO"をハイライトおよび一覧表示することができる機能です。TODOの確認漏れを予防することができます。設定の「todo-tree.general.tags」で、TODO以外のアノテーションコメントを追加することが可能です。
    この機能には大変お世話になっていて、TODOリスト・タスクリスト的な使い方をしています。そのおかげかうっかりミスや作業の抜け漏れ等のヒューマンエラーによる問題がかなり減りました。また、チームで開発する上でも一覧表示が可能なのでスムーズに認識の共有が可能となります。

  • Git Graph

    marketplace.visualstudio.com


    Git使う上で個人的には必須の機能です。日本人にはお米、開発者にはGit Graphといったイメージです。Gitの変更履歴を大変わかーりやすく可視化してくださります。各コミットから変更部分を確認することも勿論可能です。

最後にチームで開発を行う上で有用に感じた機能やその他QOLが上がった拡張機能をご紹介します。

  • Live Share

    marketplace.visualstudio.com


    ペアプログラミングやコーディングのティーチングを行う上で非常に便利な機能です。複数人で同じワークスペースを共有し、同時編集することが可能です。リモートワークがトレンドとなっているこのご時世には抜群のツールだと思います。早押しコーディング謎かけなんて如何でしょう。

  • Remote Development

    marketplace.visualstudio.com


    SSH/WSL/Dockerを使用した開発には必須の機能ではないでしょうか。たとえSSH先、WSL内、Dockerコンテナの中、、、どこにスクリプトファイルが存在していたとしても、この機能を使用するとローカルファイルを扱うのと同様の感覚で編集を行うことが可能となります。
    VSCode界のトゲゾーこうらといってもよいでしょう。

  • Settings Sync

    marketplace.visualstudio.com


    VSCodeの設定をGithubのgistにアップロードおよびダウンロードすることができる機能です。つまり、とあるマシンのVSCodeの設定を他のマシンに簡単にコピーすることができるのです。
    私は会社のマシン2台と家のWindowsLinuxで合計4つのVSCodeホルダーですが、全てのマシンでキーボードショートカットや拡張機能及びその設定といった環境整備を一から行った1週間後にこの機能を知りました。万歳。
    なお共有可能な設定はURL先の「In Syncs」という項目に記載がありますが、ほとんど必要な部分は網羅されていると思います。

  • Draw.io Integration

    marketplace.visualstudio.com


    draw.ioはブラウザ上でフローチャートや組織図などビジュアル系なお絵かきを行うことができるサービスですが、この拡張機能はブラウザに行くまでもなくVSCode上でお絵かきを行うことができるものです。最近リリースされた機能で、正直なところ未だ使ったことがありません。知ったふうな口の利き方をしてしまいすみませんでした。

 おわりに

如何でしたでしょうか。
カスタマイズ要素の豊富なツールというのは非常にワクワクしますよね。
個人的には、10分間のうちに1行もコードを書かなかったときにアニマル浜口さんが「気合だ!気合だ!」と声をかけて励ましてくれるような機能があれば素敵だなぁと思っています。皆さんはどのような機能があれば嬉しいでしょうか。