トレーニング
モジュール
C# の開発用に Visual Studio Code をインストールして構成する - Training
C# 用に Visual Studio Code を構成する方法と、このプロフェッショナル IDE を使用してコンソール アプリケーションを作成および実行する方法について学習します。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
このチュートリアルでは、CMake、vcpkg、Visual Studio Code で fmt
ライブラリを使用する C++ "Hello World" プログラムを作成する方法について説明します。 依存関係のインストール、構成、ビルド、および単純なアプリケーションの実行を行います。
リポジトリの複製
最初の手順では、GitHub から vcpkg リポジトリを複製します。 リポジトリには、vcpkg 実行可能ファイルを取得するスクリプトと、vcpkg コミュニティによって管理されるキュレーションされたオープンソース ライブラリのレジストリが含まれています。 これを行うには、次を実行します。
git clone https://github.com/microsoft/vcpkg.git
vcpkg キュレーション レジストリは、2,000 を超えるオープンソース ライブラリのセットです。 これらのライブラリは、vcpkg の継続的インテグレーション パイプラインによって検証され、連携しています。 vcpkg リポジトリにはこれらのライブラリのソース コードは含まれていませんが、レシピとメタデータを保持して、それらをビルドしてシステムにインストールします。
ブートストラップ スクリプトを実行する
vcpkg リポジトリを複製したら、 vcpkg
ディレクトリに移動し、ブートストラップ スクリプトを実行します。
cd vcpkg && bootstrap-vcpkg.bat
cd vcpkg; .\bootstrap-vcpkg.bat
cd vcpkg && ./bootstrap-vcpkg.sh
ブートストラップ スクリプトは前提条件チェックを実行し、vcpkg 実行可能ファイルをダウンロードします。
これで完了です。 vcpkg がセットアップされ、使用する準備が整いました。
注意
Windows でこのチュートリアルを実行し、コンパイラとして MSVC を使用している場合は、VS 用開発者コマンド プロンプトまたは VS 用開発者 PowerShell から Visual Studio Code インスタンスを起動する必要があります。 これにより、コンパイラ パスとその他の環境変数が正しく設定されます。
プロジェクト ファイルを任意の場所に保持するフォルダーを作成します。 このチュートリアルでは、"helloworld" という名前のフォルダーを作成します。 次に、Visual Studio Code を使用してフォルダーを開きます。
mkdir helloworld
code helloworld
拡張機能ビューに移動し、 C++ 拡張機能をインストールします。 これにより、C++ IntelliSense とコード ナビゲーションが有効になります。
C++ 拡張機能を含む Visual Studio Code 拡張機能ビューのスクリーンショット
CMake ツール拡張機能をインストールします。 これにより、Visual Studio Code での CMake のサポートが有効になります。
CMake ツール拡張機能を使用した Visual Studio Code 拡張機能ビューのスクリーンショット
VCPKG_ROOT
環境変数を構成します。Visual Studio Code で新しいターミナルを開く: ターミナル > 新しいターミナル
次のコマンドを実行します。
注意
この方法で環境変数を設定すると、現在のターミナル セッションにのみ影響します。 これらの変更をすべてのセッションで永続的にするには、[Windows システム環境変数] パネルで設定します。
$env:VCPKG_ROOT="C:\path\to\vcpkg"
$env:PATH="$env:VCPKG_ROOT;$env:PATH"
VCPKG_ROOTを設定し、Visual Studio Code ターミナルの PATH に追加するスクリーンショット。
注意
この方法で環境変数を設定すると、現在のターミナル セッションにのみ影響します。 これらの変更をすべてのセッションで永続的にするには、[Windows システム環境変数] パネルで設定します。
注意
この方法で環境変数を設定すると、現在のターミナル セッションにのみ影響します。 これらの変更をすべてのセッションで永続的にするには、[Windows システム環境変数] パネルで設定します。
set "VCPKG_ROOT=C:\path\to\vcpkg"
set PATH=%VCPKG_ROOT%;%PATH%
注意
export
コマンドを使用して環境変数を設定すると、現在のシェル セッションにのみ影響します。 この変更をセッション間で永続的にするには、シェルのプロファイル スクリプト (~/.bashrc
や~/.zshrc
など) に export
コマンドを追加します。
export VCPKG_ROOT=/c/path/to/vcpkg
export PATH=$PATH:$VCPKG_ROOT
VCPKG_ROOT
設定すると、Visual Studio Code で vcpkg インスタンスを見つけることができます。
これを PATH
に追加すると、シェルから直接 vcpkg コマンドを実行できます。
次のコマンドを実行して、helloworld
フォルダーのルートに vcpkg マニフェスト ファイル (vcpkg.json
) を作成します。
vcpkg new --application
vcpkg new
コマンドは、プロジェクトのディレクトリにvcpkg.json
ファイルとvcpkg-configuration.json
ファイルを追加します。
依存関係として fmt
パッケージを追加します。
vcpkg add port fmt
これで、 vcpkg.json
に次のものが含まれるはずです。
{
"dependencies": [
"fmt"
]
}
これはマニフェスト ファイルです。 vcpkg はマニフェスト ファイルを読み取り、インストールする依存関係を学習し、MSBuild と統合して、プロジェクトに必要な依存関係を提供します。
生成されたvcpkg-configuration.json
ファイルには、プロジェクトの依存関係にminimum バージョンの制約配置する基準線が導入されています。 このファイルの変更は、このチュートリアルの範囲外です。 このチュートリアルでは適用できませんが、 vcpkg-configuration.json
ファイルをソース管理の下に置いて、異なる開発環境間でバージョンの一貫性を確保することをお勧めします。
CMakeLists.txt
ファイルを作成するCMakeLists.txt
という名前の新しいファイルをプロジェクト フォルダーのルートに作成し、次の内容を指定します。
cmake_minimum_required(VERSION 3.10)
project(HelloWorld)
find_package(fmt CONFIG REQUIRED)
add_executable(HelloWorld helloworld.cpp)
target_link_libraries(HelloWorld PRIVATE fmt::fmt)
CMakeLists.txt
ファイルの各行を分解してみましょう。
cmake_minimum_required(VERSION 3.10)
: プロジェクトのビルドに必要な CMake の最小バージョンが 3.10 であることを指定します。 システムにインストールされている CMake のバージョンがこれより低い場合は、エラーが生成されます。project(HelloWorld)
: プロジェクトの名前を "HelloWorld" に設定します。find_package(fmt CONFIG REQUIRED)
: CMake 構成ファイルを使用して fmt
ライブラリを探します。 REQUIRED
キーワードを使用すると、パッケージが見つからない場合にエラーが生成されます。add_executable(HelloWorld helloworld.cpp)
: ソース ファイル helloworld.cpp
からビルドされた "HelloWorld" という名前の実行可能ターゲットを追加します。target_link_libraries(HelloWorld PRIVATE fmt::fmt)
: HelloWorld
実行可能ファイルが fmt
ライブラリに対してリンクする必要があることを指定します。 PRIVATE
キーワードは、fmt
はHelloWorld
の構築にのみ必要であり、他の依存プロジェクトには反映されないことを示します。helloworld.cpp
ファイルを作成します。#include <fmt/core.h>
int main()
{
fmt::print("Hello World!\n");
return 0;
}
このhelloworld.cpp
ファイルには、fmt
ライブラリを使用するための<fmt/core.h>
ヘッダーが含まれています。 main()
関数は、fmt::print()
を呼び出して"Hello World!" メッセージをコンソールに出力します。
CMake プロジェクト システムが vcpkg によって提供される C++ ライブラリを認識できるようにするには、 vcpkg.cmake
ツールチェーン ファイルを指定する必要があります。 これを自動化するには、次の内容を含む CMakePresets.json
ファイルを "helloworld" ディレクトリに作成します。
{
"version": 2,
"configurePresets": [
{
"name": "vcpkg",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build",
"cacheVariables": {
"CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
}
}
]
}
CMakeUserPresets.json
内容のファイルを "helloworld" ディレクトリに作成します。{
"version": 2,
"configurePresets": [
{
"name": "default",
"inherits": "vcpkg",
"environment": {
"VCPKG_ROOT": "<path to vcpkg>"
}
}
]
}
この CMakePresets.json
ファイルには、CMake 用の 1 つの "vcpkg" プリセットが含まれており、 CMAKE_TOOLCHAIN_FILE
変数が設定されます。 CMAKE_TOOLCHAIN_FILE
により、CMake プロジェクト システムは vcpkg によって提供される C++ ライブラリを認識できます。 CMakePresets.json
のみがソース管理にチェックインされ、CMakeUserPresets.json
はローカルで使用されます。
CMake: Build
コマンドを実行します
Visual Studio Code で CMake ビルド コマンドを選択するスクリーンショット。
default
CMake プリセットを選択します。 これにより、vcpkg ツールチェーンが有効になります。
Visual Studio Code の CMake ビルド コマンドでプリセットを選択するスクリーンショット。
以下のプログラムを実行します。
./build/HelloWorld.exe
./build/HelloWorld
次のように出力されるはずです。
Hello World!
vcpkg.json
の詳細については、リファレンス ドキュメントを参照してください。
vcpkg に関するフィードバック
vcpkg はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。
トレーニング
モジュール
C# の開発用に Visual Studio Code をインストールして構成する - Training
C# 用に Visual Studio Code を構成する方法と、このプロフェッショナル IDE を使用してコンソール アプリケーションを作成および実行する方法について学習します。