【開発環境】Visual Studio Codeの設定(C/C++言語)

【開発環境】Visual Studio Codeの設定(C/C++言語)

こんにちは、もがちゃんです。
前回に続いてVisual Studio Codeの設定方法の紹介になります。
今回は、Visual Studio CodeでC/C++のコンパイル・デバッグが行るように環境設定します。
これから、C/C++を学習しようとしている人には簡単に設定できるのでオススメします。

コンパイル環境(コンパイラ・リンカ・デバッガ)の設定

Windowsで使用できる主なコンパイルラとしては、Microsoft C++コンパイラ(MSVC)とgcc(GNU Compiler Collection)があります。

今回は、Windows環境以外でも使用できるgccを使用したいと思います。
Windowsでgccを使用するために必要となるコマンドやヘッダファイル、ライブラリ等がまとめられたMingw-w64が存在するので、これをインストールします。

インストーラのダウンロード

Mingw-w64のインストーラは、以下のサイトからダウンロードすることが出来ます。
https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe/download

インストール

ダウンロードしたmingw-w64-install.exeを実行して次のようにインストールします。
インストーラを実行した際、「この不明な発行元からのアプリがデバイスに変更を加えることを許可しますか?」の確認ダイアログが表示されますが、「はい」を選択してインストールを進めます。

mingw-w64-install-step1
mingw-w64-install-step1

mingw-w64-install-step2
mingw-w64-install-step2

mingw-w64-install-step3
mingw-w64-install-step3

mingw-w64-install-step4
mingw-w64-install-step4

mingw-w64-install-step5
mingw-w64-install-step5
アンインストールするには

このインストーラには、アンインストール機能は無いのでアンインストールしたい場合は、次の環境設定で設定した内容を削除して、インストール先のディレクトリを削除します。

私がインストールした際のデフォルトのインストール先は、C:\Program Files\mingw-w64になっていました。

環境設定

インストールが終わったら、ユーザー環境変数のPathにインストールディレクトリ内にあるbinディレクトリのパスを追加します。

環境変数を編集
環境変数を編集

スタートメニューの隣にある検索ボックスに「環境変数を編集」と入力して検索結果からコントロールパネルの環境変数を編集を選択します。

環境変数
環境変数

ユーザーの環境変数部分のPathを選択し、編集(E)ボタンをクリックします。

新規(N)ボタンをクリックして、mingw-w64インストールディレクトリ内にあるbinディレクトリのパスを追加して「OK」ボタンをクリックします。
私の場合は、C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\binでした。

環境変数名の編集
環境変数名の編集
コンピュータを使用する人全てが利用できるようにするには

「システム環境変数の編集」を検索してコントロールパネルのシステム環境変数の編集からシステム環境変数のPathにmingw-w64インストールディレクトリ内にあるbinディレクトリのパスを追加します。

機能拡張(C/C++ for Visual Studio Code)インストール

Visual Studio Codeを起動し、機能拡張の検索ボックスにcを入力して検索を行い、インストールします。

C/C++ for Visual Studio Code install
C/C++ for Visual Studio Code install
C/C++ for Visual Studio Code installed
C/C++ for Visual Studio Code installed

Hello Worldを出力するプログラムを作ってみる

エクスプローラからフォルダを開く

フォルダーを開く
フォルダーを開く

今回はHello Worldフォルダーを作成し選択しました。

Hello Worldフォルダー
Hello Worldフォルダー

ソースファイルを新規作成する

新しいファイルを追加する
Hello World.c
Hello World.c

Hello Worldのソースを書いて保存する

#include <stdio.h>

void main(int argc, char* argv[]) {
    printf("Hello World!");
}
Hello Worldのソースを書いて保存
Hello Worldのソースを書いて保存

Hello Worldをデバッグ実行してみる

構成の追加

実行(R)メニューから構成の追加を選択する

構成の追加
構成の追加

環境の選択

環境の選択では、今回Mingw-w64(gcc)を使用するので、G++(GDB/LLDB)を選択します。

環境の選択
環境の選択

構成の選択

構成の選択では、gcc.exeを選択します。(表示されているパスは、Mingw-w64をインストールしたパスになっていると思います。)

構成の選択
構成の選択

構成の選択が終わると以下のようなjsonファイルが自動的に作成され、プログラムも実行されます。

{
    // IntelliSense を使用して利用可能な属性を学べます。
    // 既存の属性の説明をホバーして表示します。
    // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "gcc.exe - アクティブ ファイルのビルドとデバッグ",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "gdb の再フォーマットを有効にする",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: gcc.exe アクティブなファイルのビルド"
        }
    ]
}
launch.json
launch.json

launch.jsonのタブは、特に編集の必要がないので×印の所をクリックして閉じます。

launch.jsonを閉じる
launch.jsonを閉じる

デバッグ実行

ブレークポイントを設定するには、ソースの行番号付近をクリックすることで設定できます。(解除する場合は、ブレークポイントが設定されている行番号付近(赤丸部分)をクリックすることで解除できます。(赤丸が消えます)
下の画像では、printf文の所にブレークポイントを設定しました。

ブレークポイントの設定
ブレークポイントの設定

実行(R)メニューのデバッグの開始を選択するか、F5キーを押下することでデバッグ実行されます。
下の画像は、ブレークポイントで停止している画像になります。

ブレークポイントで停止
ブレークポイントで停止

F5キーを押下して、処理を継続してプログラムの実行が終了

デバッグ実行終了
デバッグ実行終了
デバッグ時に良く使用するショートカットキー
  • 続行(F5)
    ブレークポイントで停止した場合、処理を続行する場合に使用します。
  • ステップオーバー(F10)
    ブレークポイントで停止した状態からステップ実行する場合に使用します。
  • ステップイン(F11)
    関数内に入ってステップ実行したい場合に使用します。
  • ステップアウト(Shift + F11)
    関数内から呼び出し元へ戻りたい場合に使用します。
  • 再起動(Ctrl + Shift + F5)
  • 停止(Shift + F5)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA