Skip to content

VS Code .NET 开发环境配置指南 ​

1. 简介 ​

Visual Studio Code (VS Code) 凭借其轻量级和强大的插件生态,已成为 .NET Core / .NET 5+ 开发的热门选择,特别是在跨平台(macOS/Linux)场景下。虽然它不是全功能的 IDE(如 Visual Studio),但通过合理的配置,完全可以胜任日常开发工作。

官方教程:使用 Visual Studio Code 创建 .NET 控制台应用程序

2. 插件安装清单 ​

2.1 核心必装 ​

  • C# Dev Kit (微软官方推荐)
    • 新版 VS Code 开发 .NET 的核心扩展包,包含了 C# 扩展。
    • 提供了类似 Visual Studio 的解决方案资源管理器 (Solution Explorer) 和测试资源管理器。
  • C#
    • 提供智能感知 (IntelliSense)、转到定义、查找引用等基础语言服务。

2.2 效率增强工具 ​

  • C# Extensions
    • 由社区维护,提供快速创建类/接口文件、右键生成构造函数等便捷功能。
  • vscode-icons
    • 为不同类型的文件显示精美的图标,显著提升文件树的可读性。
  • C# XML Documentation Comments
    • 输入 /// 自动生成标准的 XML 文档注释结构。
  • NuGet Package Manager
    • 通过命令面板 (Ctrl+Shift+P) 快速搜索并安装 NuGet 包,无需记忆 dotnet add package 命令。
  • Rest Client
    • 在 .http 文件中直接编写和发送 HTTP 请求,替代简单的 Postman 场景。

2.3 键位映射 (可选) ​

  • Visual Studio Keymap
    • 如果你习惯了 Visual Studio 的快捷键(如 Ctrl+K, Ctrl+D 格式化代码),强烈建议安装此插件以保持肌肉记忆。

3. 常用配置与技巧 ​

3.1 调试配置 (launch.json) ​

VS Code 使用 .vscode/launch.json 文件管理调试配置。通常在首次按 F5 时会自动生成。如果需要手动配置 Web API 项目:

json
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": ".NET Core Launch (web)",
            "type": "coreclr",
            "request": "launch",
            "preLaunchTask": "build",
            "program": "${workspaceFolder}/bin/Debug/net8.0/MyApi.dll",
            "args": [],
            "cwd": "${workspaceFolder}",
            "stopAtEntry": false,
            "serverReadyAction": {
                "action": "openExternally",
                "pattern": "\\bNow listening on:\\s+(https?://\\S+)"
            },
            "env": {
                "ASPNETCORE_ENVIRONMENT": "Development"
            },
            "sourceFileMap": {
                "/Views": "${workspaceFolder}/Views"
            }
        }
    ]
}

3.2 任务自动化 (tasks.json) ​

.vscode/tasks.json 定义了构建、测试等任务。preLaunchTask 调用的就是这里定义的任务。

json
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "command": "dotnet",
            "type": "process",
            "args": [
                "build",
                "${workspaceFolder}/MyApi.csproj",
                "/property:GenerateFullPaths=true",
                "/consoleloggerparameters:NoSummary"
            ],
            "problemMatcher": "$msCompile"
        }
    ]
}

3.3 单元测试配置 ​

虽然 C# Dev Kit 已经内置了测试功能,但如果你使用旧版配置,可能需要在 .vscode/settings.json 中指定测试项目路径:

json
{
    "dotnet-test-explorer.testProjectPath": "tests/MyProject.Tests"
}

建议使用 xUnit 作为单元测试框架,其在 VS Code 中的兼容性表现通常优于 MSTest。

3.4 常用快捷键 (基于 VS Keymap) ​

  • 命令面板: Ctrl + Shift + P (核心入口)
  • 格式化代码: Ctrl + K, Ctrl + D
  • 重命名变量: F2
  • 转到定义: F12
  • 快速修复 (Quick Fix): Ctrl + . (引入命名空间、实现接口等)
  • 调试: F5 (启动调试), F10 (单步跳过), F11 (单步进入)
  • 多光标编辑: Alt + Click 或 Ctrl + Alt + Down

5. 进阶开发场景 ​

5.1 WSL 2 远程开发 ​

在 Windows 上开发 Linux 目标应用(如 Docker 容器化应用)的最佳实践是使用 WSL 2。

  1. 安装 WSL 扩展。
  2. 在终端输入 code . 从 WSL 启动 VS Code。
  3. 此时 VS Code 运行在 Windows 上,但所有编译、调试命令都在 Linux 子系统中执行,环境完全隔离且性能极高。

5.2 代码分析与重构 (Roslynator) ​

虽然 C# 扩展自带了一些重构功能,但 Roslynator 提供了超过 500 个重构、分析器和代码修复建议。

  • 常用功能:
    • 快速生成 foreach 循环。
    • 将 if-else 转换为 switch 表达式。
    • 自动移除未使用的 using 声明。

6. .NET CLI 常用命令速查 ​

在 VS Code 内置终端 (Ctrl + ~) 中常用的命令:

bash
# 创建新解决方案
dotnet new sln -n MySolution

# 创建类库项目
dotnet new classlib -n MyLibrary

# 创建 Web API 项目
dotnet new webapi -n MyApi

# 将项目添加到解决方案
dotnet sln add MyApi/MyApi.csproj

# 添加 NuGet 包
dotnet add package Newtonsoft.Json

# 引用项目
dotnet add reference ../MyLibrary/MyLibrary.csproj

# 运行项目
dotnet run

# 运行测试
dotnet test

# 发布应用 (Release 模式)
dotnet publish -c Release -o ./publish

参考资料 ​

方舟 · Ark