プロジェクト管理

Visual Studio Code で C# アプリケーションを作成する場合、プロジェクトから開始します。プロジェクトには、実行可能ファイル、ライブラリ、または Web サイトにコンパイルされるすべてのファイル (ソースコード、画像など) が含まれています。関連するすべてのプロジェクトは、ソリューションと呼ばれるコンテナに格納できます。この記事では、ソリューションエクスプローラービューを使用して、すべてのプロジェクトとそれぞれのファイルを管理する方法について説明します。

: VS Code でソリューションエクスプローラービューを使用するには、C# Dev Kit 拡張機能が必要です。

ソリューションエクスプローラー

新しい C# Dev Kit 拡張機能には、プライマリサイドバーに新しいビューであるソリューションエクスプローラーが含まれています。このビューは、アプリケーション、そのソリューション、およびプロジェクトの構造化されたビューを提供し、簡単で一元的なプロジェクト管理を実現します。.NET ソリューションファイルまたはプロジェクトファイルを含むワークスペースを開くと、ソリューションエクスプローラーが自動的に表示されます。

ワークスペースに単一のソリューションファイル (.sln ファイル) がある場合、ソリューションエクスプローラーはそのファイルを検出し、ワークスペースのロード後に自動的にロードします。たとえば、単一のソリューションファイルを含むワークスペースを開くエクスペリエンスを示す以下の動画をご覧ください。

Open workspace with 1 solution file

上記の動画では、ワークスペースが VS Code に初めてロードされました。ワークスペースがロードされると、ソリューションエクスプローラーは単独の .sln ファイルを検出し、それを自動的にロードします。

ワークスペースに複数のソリューションファイルがある場合は、ロードする特定のソリューションファイルを選択するように求められます。ワークスペースにソリューションファイルがロードされた後、拡張機能は最後にロードされたソリューションファイルを記憶し、ワークスペースが VS Code にロードされるときにそのファイルを自動的に再ロードします。以下の動画では、複数のソリューションファイルを含むワークスペースを初めて開くエクスペリエンスを確認できます。

Open workspace with multiple solution files

上記の動画では、ワークスペースがロードされた後、ソリューションエクスプローラーはワークスペースに複数のソリューションファイルが含まれていることを検出し、標準の VS Code 通知でロードするソリューションを選択するように求められます。今後、同じワークスペースを開くと、ソリューションエクスプローラーは最後にロードされたソリューションファイルを記憶し、それを自動的に再ロードします。

ソリューションエクスプローラーにロードされたソリューションを閉じたい場合は、ソリューションを閉じるコマンドを使用できます。このコマンドは、ソリューションエクスプローラーでソリューションを右クリックしたときのコンテキストメニューにあります。

Close solution context menu

このコマンドは、コマンドパレットから呼び出すこともできます。コマンドパレットは、⇧⌘P (Windows、Linux Ctrl+Shift+P) で開くことができます。これは、次の画像に示されています。

Close solution from the Command Palette

ソリューションを閉じると、ソリューションエクスプローラーにボタンが表示され、後でワークスペースからソリューションファイルを開くことができます。また、.NET: ソリューションを開くコマンドを使用して、コマンドパレットからそのコマンドを呼び出すこともできます。

ソリューションを開くコマンドを呼び出すと、ワークスペースに単一のソリューションファイルがある場合は、それが自動的にロードされます。複数のソリューションファイルがある場合は、ロードするソリューションファイルを選択するように求められます。これは、1 つ以上のソリューションファイルを含むワークスペースを初めて開く場合と同じエクスペリエンスです。次に、ソリューションエクスプローラーでのソリューションフォルダーのサポートについて説明します。

ソリューションフォルダー

ソリューションエクスプローラーでは、ソリューションにソリューションフォルダー (ソリューション内のプロジェクトをグループ化するために使用される仮想フォルダー) が含まれている場合、それらが表示されます。ここでは、ソリューションフォルダーのコンテンツを操作できます。新しいソリューションフォルダーを追加するには、ソリューションを右クリックして、新しいソリューションフォルダーメニュー項目を選択します。以下の短い動画をご覧ください。

C# Dev Kit new solution folder

上記の動画では、「tests」という名前の新しいソリューションフォルダーが作成されました。ソリューションフォルダーを作成した後、既存のプロジェクトを追加コンテキストメニューを使用して、プロジェクトをソリューションフォルダーに追加できます。以下の動画は、このエクスペリエンスを示しています。

Add existing project

次の図に示すように、新しいファイルを追加コンテキストメニューを使用して、ソリューションフォルダーに新しいファイルを追加することもできます。

Add file to solution folder

このコマンドを呼び出すと、コマンドパレットで使用するファイルテンプレートを選択するように求められます。以下の画像はこれを示しています。

Add new file from Command Palette

このリストには、拡張機能が現在ソリューションフォルダーでサポートしているファイルテンプレートが表示されます。テンプレートを使用せずにファイルを作成する (空のファイルを作成する) には、カスタムファイル (テンプレートなし) を選択します。

ソリューションフォルダーを削除するには、削除コンテキストメニューオプションを使用できます。

Remove Solution Folder

ソリューションからソリューションフォルダーを削除すると、ソリューションフォルダーとそのコンテンツがソリューションから削除されます。それに含まれるファイルやプロジェクトは、ディスクから削除されません。ソリューションフォルダーについて説明したので、次にソリューションエクスプローラーでプロジェクトをさらに操作する方法を見ていきましょう。

プロジェクトの操作

ソリューションエクスプローラーには、プロジェクトを操作できるようにするための多くの機能があります。最初にソリューションを開くと、プロジェクトとソリューションフォルダーが表示されます。ソリューションフォルダーまたはプロジェクトを展開して、その内容を表示できます。以下の画像は、いくつかのノードが展開されたソリューションエクスプローラーを示しています。

Solution Explorer with expanded nodes

上記の画像では、ソリューションエクスプローラーで、いくつかのソリューションフォルダーと TemplatesWeb プロジェクトが展開されていることがわかります。このリリースでは、最小限のファイルネストがサポートされています。Visual Studio IDE に見られるファイルネストとより一貫性を持たせるために、そのサポートを拡張する予定です。

ここから、ソリューションエクスプローラーでファイルをダブルクリックしてファイルを開くことができます。ソリューションエクスプローラー内の項目を右クリックして、使用可能なアクションのコンテキスト固有のメニューを表示することもできます。たとえば、プロジェクトに新しいファイルを追加するには、プロジェクトを右クリックして、新しいファイルを追加を選択します。そのオプションを選択すると、デフォルトコンテンツに使用するファイルテンプレートを選択するように求められます。.NET 7.0.200 以降をターゲットとするプロジェクトで作業している場合、ここで最高のエクスペリエンスが得られます。

VS Code で通常行うようにファイルを作成し、プロジェクトファイルを含むフォルダーの下に保存することで、プロジェクトにファイルを追加することもできます。デフォルトでは、プロジェクトフォルダーに追加された新しいファイルは、自動的にプロジェクトに追加されます。

プロジェクトビューでは、プロジェクトが持つ依存関係 (プロジェクト参照パッケージ参照の両方) も確認できます。このバージョンの C# Dev Kit では、依存関係を変更する機能はありません。プロジェクトまたはパッケージ参照に依存関係を追加するには、dotnet add コマンドラインツールを使用できます。パッケージ参照を追加するには、dotnet add package コマンド - .NET CLI を参照し、プロジェクト参照を追加するには、dotnet add reference コマンド - .NET CLI を参照してください。参照を削除するには、dotnet remove を使用します。詳細については、パッケージ参照を削除する方法パッケージを削除する方法 を参照してください。

プロジェクトファイルを表示または編集する場合は、ソリューションエクスプローラーでプロジェクトノードを選択すると、プロジェクトファイルがエディターで開きます。これは、ソリューションエクスプローラーでファイルを選択した場合と同じ動作です。

ソリューションエクスプローラーを使用すると、コンテキストメニューを使用して、ビルドリビルドクリーンなどの一般的なアクションを実行することもできます。ソリューションエクスプローラーでソリューションノードまたはプロジェクトノードを選択すると、これらのコンテキストメニューが表示されます。これにより、選択した項目とその依存関係がビルド/リビルド/クリーンされます。