惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
U
Unit 42
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
J
Java Code Geeks
D
DataBreaches.Net
B
Blog RSS Feed
D
Docker
L
LangChain Blog
aimingoo的专栏
aimingoo的专栏
F
Fortinet All Blogs
Y
Y Combinator Blog
A
About on SuperTechFans
V
V2EX
罗磊的独立博客
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
MongoDB | Blog
MongoDB | Blog
博客园 - 【当耐特】
Last Week in AI
Last Week in AI
S
SegmentFault 最新的问题
月光博客
月光博客
Vercel News
Vercel News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
阮一峰的网络日志
阮一峰的网络日志

博客园 - 华安

C#中Microsoft.Extensions.Caching.Memory 与 System.Runtime.Caching.MemoryCache区别 自适应网格系统:CSS Grid中repeat()、auto-fill与auto-fit的深度解析 CSS3中响应式布局两大神器display:flex和display:grid springBoot中的 pom.xml文件 bulid学习 CSS中元素的display显示方式有多种,隐藏、块级、内联、内联-块级 SQl Server 中的 go 是什么作用 CSS中 display:flex的align-items: stretch; 移动端浏览器(尤其是 iOS Safari)的橡皮筋回弹效果(Overscroll / Bounce Effect) 手机端浏览器上ES6中的Fetch回调执行 window.open没效果 用Flex实现兼容性好的全屏布局 Unity 可编程物件(ScriptableObject) 微信小程序中的 联系客服 最基本的使用方法 wx.requestSubscribeMessage(Object object) 和 wx.requestSubscribeDeviceMessage(Object object) 这两个有什么区别 微信小程序中 wx.hideLoading() 后调用 wx.showToast()的问题 Windows 中启动 Nginx的常用命令 CSS进阶技巧:字体渐变、描边、倒影与渐变色描边全解析 netCore 中各DLL引用了 SkiaSharp.dll的问题 unity中预制体解包 在 Unity 中,Time.timeScale实现游戏暂停加速等 微信小程序中关联微信支付 unity中的 Navigation AI使用 C#中TaskCompletionSource(简称 TCS)学习 Unity 编辑器 中,快捷键 Ctrl + Shift + F 的功能 unity中按下 F键,让物体聚焦 微信中进入定页面的,判断时通过扫二维码进入的,还是点小程序名称进入的 MYSQL中从JSON字符串中提取指定的值 Unity2022中创建动画 Animation(旧方法) Unity 中区别,public 和 [SerializeField] Unity中 onCollisionEnter2D与OnTriggerEnter2D 区别 asp.netCore中给动态请求路径加客户端缓存
在 VS Code 中使用 C# Dev Kit 和 Unity Tools 调试 Unity 2022
华安 · 2026-09-06 · via 博客园 - 华安

核心思路是:安装微软官方的 Unity 扩展(会自动拉取 C# Dev Kit 等依赖)→ 在 Unity 中关联 VS Code → 直接 F5 附加调试。以下是详细步骤和常见问题排查。

一、环境准备

组件要求
Unity 2021 LTS 或更高(Unity 2022 满足)
VS Code 最新稳定版
.NET Runtime .NET 10 SDK / Runtime(C# Dev Kit 3.x 必需)
Unity 包 Visual Studio Editor ≥ 2.0.20

1. 安装 VS Code 扩展

在 VS Code 扩展商店搜索并安装 Unity(发布者:Microsoft)。

这会一次性自动安装:

  • Unity(调试器、Unity 专属分析器、Shader/UXML 等着色)

  • C# Dev Kit(项目管理、IntelliSense、Solution Explorer)

  • C#(语言服务)

  • .NET Install Tool

2. Unity 端配置

  1. 打开 Unity → Edit → Preferences → External Tools

  2. External Script Editor 选择 Visual Studio Code

  3. 点击 Regenerate Project Files(重新生成项目文件)

注意:确保 Package Manager 中的 Visual Studio Editor 包版本 ≥ 2.0.20。旧版的 Visual Studio Code Editor 包已被废弃,可以卸载。


二、启动调试

方式 1:直接 F5(推荐)

安装 Unity 扩展后,项目会自动生成调试配置。直接按 F5,VS Code 会附加到当前打开的 Unity Editor 实例。

方式 2:Attach Unity Debugger 命令

Ctrl+Shift+P → 输入 Attach Unity Debugger → 选择要附加的 Unity Editor 或 Player 实例。

方式 3:手动配置 launch.json

如需调试远程 Player(如手机、主机),可在 .vscode/launch.json 中添加:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Attach to Unity",
            "type": "vstuc",
            "request": "attach"
        },
        {
            "name": "Attach to Player",
            "type": "vstuc",
            "request": "attach",
            "endPoint": "127.0.0.1:56321"
        }
    ]
}

三、常见问题排查

1. 断点显示"未验证"(灰色空心)

C# Dev Kit 3.x 对项目格式要求更严格。如果 Unity 生成的是旧格式 .sln,C# Dev Kit 的项目系统可能崩溃。

解决:在 Unity 中点击 Regenerate Project Files,重新打开 VS Code。新生成的 .slnx(SDK 风格解决方案)可被 C# Dev Kit 正确解析。

2. C# Dev Kit 被禁用

检查 VS Code 输出面板(Ctrl+Shift+U → 右上角选 C# 开发工具包),若看到:

C# Dev Kit extension is disabled because setting 'dotnet.preferCSharpExtension' is set to 'true'

解决:在 .vscode/settings.json 中设置:

"dotnet.preferCSharpExtension": false

3. 缺少 .NET 10 Runtime

C# Dev Kit 3.x 后台服务基于 .NET 10。如果报错 You must install or update .NET to run this application,请下载安装:

  • .NET 10 Runtime

  • ASP.NET Core 10 Runtime(C# Dev Kit 的项目解析服务依赖它)

安装后执行 dotnet --list-runtimes 确认存在 Microsoft.AspNetCore.App 10.0.x

4. 调试 Player(真机/独立程序)

构建 Player 前,在 Unity 中勾选:

  • File → Build Settings → ✅ Development Build

  • Script Debugging

  • (可选)✅ Wait For Managed Debugger(让 Player 启动后等待调试器连接)


四、快速检查清单

□ Unity 2022 已安装
□ VS Code 已安装 Unity 扩展(含 C# Dev Kit)
□ Unity → Edit → Preferences → External Tools → 选择 VS Code
□ Visual Studio Editor 包 ≥ 2.0.20
□ 已点击 Regenerate Project Files
□ .NET 10 Runtime + ASP.NET Core 10 Runtime 已安装
□ dotnet.preferCSharpExtension 未设为 true
□ 按 F5 启动调试

完成以上步骤后,在 VS Code 中打开 C# 脚本设置断点,回到 Unity 运行场景,即可命中断点进行单步调试。