フォルダを用意する

VSCodeではフォルダが作業する時の最小単位になっている。フォルダごとに設定ファイルが保存される。まず最初は、プログラムごとにフォルダを新規作成して使用すると思っておけばよいと思う。

まず、次のようにメニューから「File」→「Open Folder…」を選択する。

  • 「File」→「Open Folder…」

    「File」→「Open Folder…」

使うフォルダを選択する。フォルダを用意していないなら、ここで新規作成して選んでから「フォルダーの選択」を押す。

  • 使用するフォルダを選択

    使用するフォルダを選択

これが新しいプログラムを作成する際の最初の作業だ。

Cソースコードのファイルを作成する

次に、用意したフォルダにCのソースコードを作成する。メニューから「File」→「New File」を選択する。

  • 「File」→「New File」

    「File」→「New File」

すると、次のように「Untitled-1」といった新規ファイルが作成される。

  • 作成された新規ファイル

    作成された新規ファイル

いわば、このファイルは名無しのファイルだ。名前もファイルの種類もない(実際にはあるが)ような状態だ。ファイルを保存することで、ファイル名とファイルの種類を指定し、Cのソースコードファイルに設定する。具体的には、メニューから「File」→「Save As…」を選択する。

  • 「File」→「Save As…」

    「File」→「Save As…」

ここで、ファイル名とファイルの種類を選択する。手始めにhello.cを作ってみよう。名前に「hello」、ファイルの種類に「C」を選択する。

  • 名前に「hello」、ファイルの種類に「C」を選択

    名前に「hello」、ファイルの種類に「C」を選択

保存を行ったら、hello.cにソースコードを書く。ここでは前回と同じで、次のソースコードを使用する。

hello.c

#include <stdio.h>

int
main(void)
{
        printf("Hello World!\n");

        return 0;
}
  • hello.c

    hello.c

ちなみに、ファイルの保存は「Ctrl」+「S」で行う。徐々にショートカットキーを覚えていこう。すべての操作をメニューから選択するのは効率が悪いのだ。

ビルドの設定ファイルを書く

作成したCのソースコードをビルドするには、ビルドの仕方を書いた設定ファイル「tasks.json」を用意する必要がある。tasks.jsonは汎用的な設定ファイルだ。C言語のみならず、使用するプログラミング言語に合わせて書くことができる。C言語以外のプログラミング言語を使う場合も書くことになるので、ある程度覚えておくとよいファイルだ。

まず、「Ctrl」+「Shift」+「P」を押してコマンドパレットと呼ばれるテキストフィールドを起動する。

  • 「Ctrl」+「Shift」+「P」でコマンドパレット起動

    「Ctrl」+「Shift」+「P」でコマンドパレット起動

コマンドパレットに「configure task」と入力し、表示されるリストから「Tasks: Configure Task」を選択する。

  • 「Tasks: Configure Task」を選択

    「Tasks: Configure Task」を選択

「Create tasks.json file from template」を選択する。

  • 「Create tasks.json file from template」を選択

    「Create tasks.json file from template」を選択

「Others Example to run an arbitrary external command」を選択する。

  • 「Others Example to run an arbitrary external command」を選択

    「Others Example to run an arbitrary external command」を選択

この操作で、次のような内容のtasks.jsonファイルが生成される。

  • 生成されたtasks.jsonファイル

    生成されたtasks.jsonファイル

このファイルをClang用に書き換える。ここでは、次のような設定を書いておけばよい。

tasks.json - Clang用の設定

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Clang",
            "type": "process",
            "command": "C:\\Program Files\\LLVM\\bin\\clang-cl.exe",
            "args": [
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "problemMatcher": [],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}
  • Clang用のtasks.jsonファイルに書き換えたサンプル

    Clang用のtasks.jsonファイルに書き換えたサンプル

開発するソフトウェアが大きくなったり複雑になったりしててくると、tasks.jsonファイルもそれに合わせて書き換えていくことになる。まずは、ここを出発点にしてもらえればと思う。

これで、Cのソースコードをビルドするための設定は完了だ。

Cのソースコードをビルドして実行してみよう

早速ビルドして実行してみよう。フォーカスをhello.cファイルに移してから、「Terminal」→「Run Build Task…」を選択する。

  • 「Terminal」→「Run Build Task…」を選択する。

    「Terminal」→「Run Build Task…」を選択する。

ビルドは「Ctrl」+「Shift」+「B」にショートカットキーが設定されているので、このショートカットキーを押してもよい。むしろ、ある程度慣れてきたら、この辺りはショートカットキーだけを使うことになる。ビルドのたびにメニューを操作するのは効率が悪い。

ビルドすると、次のようにターミナルペインでビルドが行われることを確認できる。

  • ターミナルペインにビルドの様子が表示される

    ターミナルペインにビルドの様子が表示される

ターミナルペインには、複数のターミナルを開くことができる。右下の「+」アイコンをクリックすれば新規ターミナルを追加可能だ。新しくターミナルを追加して、ビルドしたバイナリファイルを実行してみよう。dirで確認するとhello.exeというバイナリファイルが生成されていることを確認できる。実行すれば、当然だがプログラムしたとおりに「Hello World!」という文字列が出力されることを確認できる。

  • ビルドしたバイナリファイルを実行

    ビルドしたバイナリファイルを実行

以上で、VSCodeでCのソースコードをビルドするための必要最小限の設定が完了だ。同じ手順はC言語に限らずほかのプログラミング言語も同じだ。先に拡張機能をインストールしてしまうと、この辺りの仕組みがよくわからなくなってしまう。まずは、このようにしてVSCodeの機能だけを使ってビルドできるようにしてみるとよい。VSCodeの動作の仕組みがわかってくると思う。

内容は第2回目と同じ、美味しいのはこれから

今回、VSCodeで行った設定と作業は、第2回目に「Windows Terminal」「メモ帳」「clang-cl.exe」を使って行った作業と同じだ。VSCodeで同じことをするには、ここで取り上げたようにセットアップを行う必要がある。最初は面倒だが、あとはVSCodeの恩恵のほうが輝いてくる。まずは操作してVSCodeの使い方に慣れてもらえればと思う。