簡単になったC言語開発環境のセットアップ
これまでWindows 10でLLVMとVisual Studio CodeをベースにC言語の開発環境をセットアップする方法を説明してきた。これで必要最小限の環境は整ったはずだ。開発からデバッグ、チームでのソースコード共有や管理などを行える。
本連載を開始してから、Windows Package Manager (Winget)のバージョン1がリリースされたのはインパクトが大きかった。なぜなら、これまでGUIベースでインストール作業を行う必要があったが、ほとんどCUIコマンドで行えるようになったからだ。GUIベースのインストールはセットアップ方法をメモしておくのが面倒だが、コマンドベースのインストールはメモしておくのが簡単だし、作業も簡単だ。これでWindows 10におけるさまざまなセットアップが簡単になる。
ここからがVisual Studio Codeのおいしいところ
ここまでのセットアップはあくまでも最低限の内容だ。実際にはどのコマンドが動作しているか、どのソフトウェアがどのような機能を担当しているのかを把握してほしかったので、あくまでも必要最小限のソフトウェアだけをインストールしてきた。
ここからは開発を簡単にする機能を追加でインストールしていく。開発者は好みのVisual Studio Codeエクステンションを使っており、必要な支援機能を活用している。その一歩として、C言語開発を支援する言語サーバを使ってみよう。
プログラミング言語のコーディングにおいては、C言語なら関数の宣言や型の定義を見直す作業が繰り返し発生する。通常、これは面倒な作業だが、言語サーバの力を借りるとリアルタイムでVisual Studio Code側が支援してくれるようになる。この機能を使いたいために、Visual Studio CodeやVisual Studioといった多機能エディタや統合開発環境から離れられない人も多いはずだ。
本連載では、C言語のコンパイラインフラストラクチャとしてLLVMを使っている。LLVMプロジェクトはC/C++の言語サーバとして「clangd」を開発しており、Visual Studio Code向けにclangdを使うためのエクステンションも提供している。この機能を使ってC言語開発の支援機能を使ってみよう。
言語サーバ「clangd」をインストール
LLVMをインストールしてあれば、C:\Program Files\LLVM\bin\にclangd.exeという実行ファイルがインストールされているはずだ。
clangd.exeのヘルプを確認すると、このコマンドが言語サーバであることがわかる。
詳しい説明は省くが、言語サーバは統合開発環境やエディタからの問いかけに応えて支援機能のための情報を提供するソフトウェアと思ってもらえればよい。このサーバが存在していれば、さまざまな支援機能を得ることができるのだ。
Visual Studio Codeにclangdエクステンションをインストール
Visual Studio Codeに「clangdエクステンション」をインストールすれば、clangdの機能を利用できるようになる。
clangdで検索すれば見つかるので、これをインストールしよう。
C言語支援機能を使ってみよう
clangdの支援機能を使うのに特に操作は必要ない。C言語のソースコードを入力していけば、自動的に支援機能が機能する。よくできているのだ。以下、自動的に機能する支援機能のスクリーンショットを掲載しておく。
セットアップの最初の段階でこのエクステンションまでインストールすると、Visual Studio Codeにそもそも備わっている機能なのか、エクステンションによる機能なのかがわからなくなってしまうが、こうして順序立ててセットアップしていくと、どの機能がどのソフトウェアによってもたらされているのかがよく把握できると思う。
いくつものエクステンションをインストールすると機能がぶつかることもあるので、使うは必要に応じて選択するとよいと思う。最初から一気にエクステンションを入れるとわけがわからなくなってくるので、一つずつ試していこう。