- 文档
- 教程
【免费下载链接】vscode-docs
Public documentation for Visual Studio Code
C# 语言支持是 Visual Studio Code(VS Code)为跨平台 .NET 开发提供的核心能力之一,其实现主要依托微软出品的C# Dev Kit扩展,为你带来丰富的 C# 编辑体验、AI 辅助开发、解决方案管理与集成式测试体验。本文将围绕 docs/languages/csharp.md 这份官方指南,完整梳理 C# Dev Kit 的安装方式、支持的工程类型、Solution Explorer 项目管理、IntelliSense、代码片段、符号搜索、CodeLens、Peek 定义、快速修复以及 XUnit/NUnit/MSTest 测试等全部要点,并结合本仓库中的 C# 快速入门、项目工程管理、导航与编辑、测试文档 等配套文档,给出可直接落地的操作步骤与配置细节。
C# 支持总览:面向跨平台 .NET 的编辑体验
VS Code 中的 C# 支持针对跨平台 .NET 开发做了深度优化。官方文档(docs/languages/csharp.md)明确指出,VS Code 的目标是成为跨平台 C# 开发的优秀编辑器,为此它重点提供以下几类能力:
- 丰富的 C# 编辑体验:IntelliSense、格式化、重命名重构、代码片段、符号搜索、CodeLens、Peek 定义等,详见下文"Editing Evolved"相关小节;
- AI 辅助开发:通过 GitHub Copilot 在你输入代码时提供编码建议,也可直接向 Copilot 提问(如何实现某段逻辑、如何修复 bug、如何理解他人代码);
- 解决方案管理:通过 Solution Explorer 视图统一管理解决方案(.sln)、工程(.csproj)与项目文件;
- 集成测试体验:支持 xUnit、NUnit、MSTest 三大主流测试框架的发现、运行与调试。
此外,VS Code 还支持对运行在.NET 或 Mono上的 C# 应用程序进行调试:
- .NET 调试:详细操作见 C# Dev Kit 调试文档;
- Mono 调试:需要借助 Mono Debug 扩展完成(在扩展市场中搜索
ms-vscode.mono-debug即可找到)。
如果你希望系统了解跨平台 .NET 开发(包括 F# 支持),可以继续阅读同目录下的 .NET 开发文档。
安装 C# 支持:C# Dev Kit 扩展
C# 语言支持由C# Dev Kit扩展(发布方为微软,扩展 ID 为ms-dotnettools.csdevkit)提供。安装方式有两种:
- 在 VS Code 的Extensions视图(快捷键
Ctrl+Shift+X)中搜索C# Dev Kit并安装; - 如果你已经打开了一个包含 C# 文件的项目,VS Code 会在你首次打开 C# 文件时弹出提示,引导你一键安装该扩展。
安装完成后,C# Dev Kit 会启动一个扩展引导教程(walkthrough),你可以跟随其中的步骤了解 C# 扩展的各项功能,也可以借此安装最新的 .NET SDK。之后想再次打开该教程时,可通过命令面板(Ctrl+Shift+P)执行Welcome: Open Walkthrough,然后选择Get Started with C# Dev Kit即可。
安装后的必备环境与前置条件
根据 C# 快速入门 的说明,完成安装后还需要满足以下前置条件:
- 已安装 Visual Studio Code 本体;
- 已安装 C# Dev Kit 扩展;
- 进行 .NET 开发需要本机装有.NET SDK(在引导教程中执行Set up your environment → Install .NET SDK,即可从扩展内直接下载安装最新版本)。
值得注意的两点限制:
- 需要登录 Visual Studio 订阅才能使用 C# Dev Kit,具体见 C# Dev Kit 登录文档;
- C# Dev Kit 支持云原生开发;如需跨平台移动端与桌面端开发,可将其与 .NET MAUI 扩展搭配使用。
C# Dev Kit 的组成结构
从 .NET 开发文档 的说明看,C# Dev Kit 实际上是一个扩展包,由多个扩展协同工作,共同提供完整的 C# 体验:
- C# 扩展(
ms-dotnettools.csharp):提供基础语言服务支持(语法高亮、IntelliSense 底层等),并独立于本扩展包持续维护; - C# Dev Kit 扩展(
ms-dotnettools.csdevkit):建立在与 Visual Studio 相同的基础之上,提供解决方案管理、工程模板、测试发现与调试; - IntelliCode for C# Dev Kit(可选):为编辑器带来 AI 辅助开发体验。
如果项目需要 F# 支持,可以安装.NET Extension Pack(ms-dotnettools.vscode-dotnet-pack),它包含 C# Dev Kit、Ionide for F# 与 Jupyter Notebooks 等扩展,当然也可以按需单独安装。
C# Dev Kit 的核心能力:项目类型与解决方案管理
C# Dev Kit 借助 Roslyn(.NET 官方编译器平台)的能力,为 VS Code 带来增强的 C# 体验,支持以下工程形态:
- .NET 项目(
dotnet new生成的 SDK 风格工程) - MSBuild 项目(传统非 SDK 风格工程)
- C# 脚本(CSX)
受支持的 .NET 项目模板
官方文档明确列出的受支持 .NET 项目类型包括:
- ASP.NET Core App
- ASP.NET Core Web API
- ASP.NET Core MVC Web App
- Blazor Web App
- Blazor Server App
- Blazor WebAssembly App
- Console App
以及更多其他类型。要查看 VS Code 中支持的完整项目模板清单,请打开命令面板(Ctrl+Shift+P)并搜索.NET: New Project...,扩展会列出全部可用模板。
Solution Explorer:自动识别解决方案
当你打开一个包含 .NET 解决方案文件或工程文件的工作区时,Solution Explorer会自动出现在主侧边栏中:
- 工作区中只有一个 .sln 文件时,Solution Explorer 会在工作区加载完成后自动检测并加载该解决方案;
- 工作区中有多个 .sln 文件时,首次打开会弹出提示让你选择要加载的解决方案;此后扩展会记住上次加载的文件,并在下次打开同一工作区时自动重新加载。
关于解决方案管理的更多操作(详见 project-management.md):
- 关闭解决方案:右键解决方案节点选择Close Solution,或通过命令面板执行同名命令;关闭后 Solution Explorer 会显示一个打开按钮,也可用命令面板中的.NET: Open Solution重新打开;
- 解决方案文件夹(Solution Folders):用于在解决方案内分组项目的虚拟文件夹,可右键解决方案新建、通过Add Existing Project向其中添加已有工程、通过Add New File添加带模板的新文件(也可选择Custom file (without template)创建空白文件);使用Remove可将文件夹从解决方案中移除(注意:不会删除磁盘上的文件);
- 工程操作:在 Solution Explorer 中右键工程节点可执行Build / Rebuild / Clean,该操作会作用于所选节点及其依赖;双击节点即可在编辑器中打开对应的工程文件;
- 依赖管理:Solution Explorer 会展示工程的Project References与Package References,但当前版本不支持在界面中直接增删依赖,需使用 .NET CLI:
dotnet add package/dotnet add reference添加,dotnet remove package/dotnet remove reference移除; - 文件添加:右键工程选择Add New File可选择文件模板;在工程文件夹内手动创建的新文件默认会自动纳入工程。
提示:若 Solution Explorer 未显示,可在 Explorer 视图标题栏的Views and More Actions(
...)按钮中勾选Solution Explorer将其开启。右键 Activity Bar 无法控制该视图的显示。
Editing Evolved:C# 编辑体验升级
C# 与编辑器结合后还有很多值得探索的能力,例如format on type(输入即格式化)、IntelliSense(智能补全)与rename-refactoring(重命名重构)等。关于 C# Dev Kit 编辑功能的完整介绍可参考 导航与编辑文档,关于 VS Code 通用编辑能力可阅读 基础编辑 与 代码导航。
以下结合 navigate-edit.md 补充几个高价值的导航编辑特性:
- Outline 视图:利用文件大纲视图快速定位当前文件内的成员;
- Go To Definition(转到定义):光标置于符号名上按
F12,或右键选择Go To Definition、Ctrl+点击符号,即可跳转到类型或成员的源码位置并新开标签页;Ctrl+Alt+点击可在侧边打开定义; - Peek Definition / Peek Implementations / Peek References:通过
Alt+F12或右键Peek >子菜单,在当前位置内联查看符号的定义、实现位置或引用列表,无需离开当前上下文; - Smart Selection(智能选择):基于光标位置的语义信息,用
Shift+Alt+Right/Shift+Alt+Left扩大或缩小选中范围; - Inlay Hints(内联提示):在调用点显示参数名、变量类型等信息,可通过
csharp.inlayHints相关设置(在设置编辑器中搜索)按需开启或关闭各项提示。
IntelliSense 与 AI 增强补全
IntelliSense 开箱即用:在编辑器中随时按Ctrl+Space(Trigger Suggest)即可获得上下文相关的智能补全建议,涵盖成员补全、参数提示、快速信息等。
在 AI 层面,GitHub Copilot会在你输入代码时提供编码建议;你也可以直接向 Copilot 提出编码相关问题,例如:如何以最佳方式实现某段代码、如何修复某个 bug、或者他人编写的某段代码是如何工作的。开始使用 AI 功能可参考 VS Code 中的 AI 概览。
C# 代码片段(Snippets)
VS Code 内置了若干 C# 代码片段,在你输入时会自动浮出,也可以通过Ctrl+Space主动触发上下文相关的建议列表。C# Dev Kit 还提供了更多面向 C# 的片段,详见 导航与编辑文档。
提示:你也可以创建属于自己的用户自定义代码片段(User Defined Snippets)用于 C#,具体做法参考 用户自定义代码片段。
搜索符号与 CodeLens
除了编辑器内的功能,还有一些编辑器之外的能力:
- 搜索符号(Search for Symbols):无论当前光标在何处,按
Ctrl+T(Show All Symbols)并开始输入,即可看到匹配的 C# 符号列表;选中某个符号后会直接跳转到其代码位置; - CodeLens:在方法定义的正上方直接显示该方法的引用次数,点击引用信息即可在 Peek 视图中查看具体引用位置,且该引用信息会随着你的输入实时更新。
注意:定义在
object类中的方法(如equals、hashCode)出于性能考虑不会显示引用信息。 提示:如果你不想在 CodeLens 中显示引用信息,可以通过editor.codeLens设置关闭,详见 设置文档。
查找引用与 Peek Definition
查找引用(Find References):点击对象的引用标记,即可在不丢失当前上下文的情况下原地查看该对象的全部使用位置。Peek Definition则提供了完全相反方向的体验:内联查看某个对象的定义,无需离开当前位置。有关 C# Dev Kit 中 Peek Definition 的详细介绍,可继续阅读 导航与编辑文档。
快速修复与建议(Quick Fixes)
VS Code 支持一批基础的 C# 快速修复:当代码出现可修复的问题时,编辑器会显示一个灯泡图标,点击它或按Ctrl+.(Quick Fix),即可看到一份简单的修复/建议列表,选择后即可一键应用。
测试:C# Dev Kit 的集成测试体验
C# Dev Kit 为测试提供了开箱即用的支持,官方文档确认支持的测试框架有:
- xUnit
- NUnit
- MSTest
并提供以下测试能力:
- 运行/调试测试用例
- 查看测试报告
- 在Testing Explorer(测试资源管理器)中查看测试
详细的测试配置与操作见 C# Dev Kit 测试文档,以下是其关键要点。
为工程启用测试框架
你可以在 Solution Explorer 中通过命令面板的.NET: New Project...快速创建对应的测试工程:
- xUnit:选择xUnit Test Project,工程文件会自动加入
Microsoft.NET.Test.Sdk、xunit、xunit.runner.visualstudio、coverlet.collector等包引用; - NUnit:选择NUnit3 Test Project,自动加入
Microsoft.NET.Test.Sdk、nunit、NUnit3TestAdapter包引用; - MSTest:选择MSTest Test Project,自动加入
Microsoft.NET.Test.Sdk、MSTest.TestAdapter、MSTest.TestFramework、coverlet.collector包引用。
创建测试工程后,还需要把它与被测工程建立工程引用,在终端执行:
dotnet add [你的测试csproj文件路径] reference [被测工程csproj文件路径]运行与调试测试
写完测试用例后,需要先对测试工程执行一次构建(命令面板中的.NET: Build),测试才能被识别。构建完成后,C# Dev Kit 会在测试类与方法定义的左侧生成绿色播放按钮(快捷操作),点击即可运行目标测试,右键按钮还能看到更多选项。
Test Explorer:点击左侧活动栏的烧杯图标即可打开。它以树状结构展示工作区内的全部测试用例,支持运行/调试并查看测试结果;若尚未构建工程,可点击Refresh Tests按钮完成构建并发现全部测试。
代码覆盖率(Code Coverage)
C# Dev Kit 通过 VS Code 的代码覆盖率 API 支持代码覆盖率统计,衡量测试执行时哪些代码行被执行、哪些未被执行,帮助你定位未经测试的代码区域(使用前请确保安装最新版 C# Dev Kit):
- 从活动栏打开 Test Explorer;
- 选择测试并以"覆盖率模式"运行;
- 覆盖率数据会自动生成,并随测试结果显示在 Test Explorer 中。
生成覆盖率报告后,在 VS Code 中查看结果:
- 打开命令面板(
Ctrl+Shift+P),搜索Test: Show Coverage访问覆盖率数据; - 在编辑器中查看高亮标记:绿色表示已被测试覆盖的代码,红色表示未覆盖的代码;
- Test Explorer 会给出总体覆盖率摘要,并可下钻到需要补充测试的具体文件或方法。
要提升代码覆盖率,可对照报告中标红的部分编写新测试,然后重新运行测试并复查更新后的覆盖率。
测试命令与设置
- 在命令面板(
Ctrl+Shift+P)中搜索Test:,可以找到 VS Code 的测试相关命令(例如Run All Tests运行全部测试); - 在设置编辑器(
Ctrl+,)中搜索Testing,可以配置 VS Code 的测试相关设置项。
下一步学习路径
读完本文后,可以继续深入以下专题(均来自 docs/languages/csharp.md 的延伸指引):
- C# Dev Kit 文档:从创建 Hello World 工程开始,完整走一遍 C# 开发环境搭建流程;
- .NET 开发文档:快速上手跨平台 .NET(含 F#)开发;
- 基础编辑:了解 VS Code 编辑器的强大基础能力;
- 任务(Tasks):使用任务来构建你的工程;
- 调试:了解如何将调试器用于你的项目;
- Unity 开发:了解在 Unity 项目中使用 VS Code 的方法。
- 文档
- 教程
【免费下载链接】vscode-docs
Public documentation for Visual Studio Code
相关推荐
XGo 语言新语法特性开发指南:三阶段 PR 工作流、编译器架构与质量规范
XGo 语言新语法特性开发指南:三阶段 PR 工作流、编译器架构与质量规范 导读 XGo 是一个"读起来像自然英语"的编程语言,它建立在 Go 生态之上,同时可
文档教程Visual Studio Code中C开发的终极完整指南:从安装到精通
Visual Studio Code中C 开发的终极完整指南:从安装到精通 想要在Visual Studio Code中高效开发C 应用程序吗?这个终极完整指南
Visual Studio中的C/C++开发全指南
Visual Studio中的C/C++开发全指南 前言:为什么选择Visual Studio进行C/C++开发 Visual Studio作为微软推出的集成开
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考