现已推出!阅读 10 月份的新功能和修复。

项目管理

在 Visual Studio Code 中创建 C# 应用程序时,您将从一个 **项目** 开始。项目包含所有编译成可执行文件、库或网站的文件(例如源代码、图像等)。然后,所有相关的项目都可以存储在一个名为 **解决方案** 的容器中。本文将向您展示如何通过 **解决方案资源管理器** 视图维护所有项目及其相应的文件。

**注意**:要使用 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:打开解决方案** 命令在命令面板中调用该命令。

调用 **打开解决方案** 命令时,如果工作区中只有一个解决方案文件,它将自动加载该文件。如果有多个解决方案文件,系统将提示您选择要加载的解决方案文件。这与您第一次打开包含一个或多个解决方案文件的工作区的体验相同。让我们继续讨论解决方案资源管理器对解决方案文件夹的支持。

解决方案文件夹

在解决方案资源管理器中,如果解决方案包含解决方案文件夹(用于对解决方案中的项目进行分组的虚拟文件夹),它们将显示出来。在这里,您可以与解决方案文件夹的内容进行交互。要添加新的解决方案文件夹,可以右键单击解决方案并选择 **新建解决方案文件夹** 菜单项。请查看下面的简短视频。

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。您可以在 如何删除包引用如何删除包 中阅读更多信息。

如果要查看或编辑项目文件,请在解决方案资源管理器中选择项目节点,项目文件将在编辑器中打开。这与您在解决方案资源管理器中选择文件时的行为相同。

使用解决方案资源管理器,您还可以使用上下文菜单执行常见操作,例如 **构建**、**重新生成** 和 **清理**。在解决方案资源管理器中选择解决方案节点或项目节点时,您将看到这些上下文菜单。这将构建/重新生成/清理选定项目及其依赖项。