最近看到不少刚入门 .NET 的朋友在问:想搞 WINUI 开发,是不是必须得去下那个几个 G 甚至几十 G 的 Visual Studio?VS Code 这种轻量级的编辑器能不能搞定?

今天就撇开废话,从实际开发场景和大家聊聊这个话题,帮你理清思路,少走弯路。

一、WINUI 开发的“硬门槛”是什么?

首先,我们要搞清楚 WINUI(特别是 WinUI 3)的本质。它是微软最新的原生 UI 框架,主要用来构建 Windows 11 风格的桌面应用。

关键点来了:

Visual Studio 中 WinUI 3 的可视化设计器界面,展示拖拽按钮和即时预览功能

Visual Studio 内置的 XAML 设计器支持所见即所得,拖拽即可布局

目前的 WinUI 3 项目模板(特别是 Windows App SDK),在设计之初就深度绑定了 Visual Studio 的设计器功能。虽然 .NET 的编译器和底层逻辑已经跨平台,但 UI 这一块,微软为了追求“所见即所得”的体验,很多工具链是优先甚至独占 VS 的。

二、VS Code 做得好的地方

VS Code 确实香,启动快,插件多,写后端逻辑、API 调用或者是纯代码拼接部分,它用起来非常顺手。

VS Code 中安装 C# Dev Kit 插件后的代码编辑和调试界面

VS Code 配合 C# Dev Kit 插件在处理逻辑代码时体验优秀

配合 C# Dev Kit 插件,你现在可以在 VS Code 里愉快地调试 .NET 6/7/8 的代码,智能提示、Refactoring 什么的都做得不错。如果你只是写 Console App 或者 ASP.NET Core,VS Code 绝对够用,甚至比巨无霸 VS 更好用。

三、VS Code 在 WINUI 上的“软肋”

但是,一旦涉及到 WinUI 3 这种重度依赖 XAML 的桌面开发,VS Code 目前还是有点“力不从心”:

  1. 没有可视化设计器(XAML Designer): 这是最大的痛点。在 Visual Studio 里,你可以拖拽按钮、调整布局,左边写代码,右边即时预览。但在 VS Code 里,你得纯手写 XAML 代码。对于一个复杂的界面,或者需要精确调整 Margin、Padding 的时候,没有预览简直是灾难,改一行代码 -> 跑起来看一眼 -> 关掉 -> 改一行,效率低到感人。

  2. 热重载体验差: 虽然 .NET 现在支持 Hot Reload,但在 VS Code 里集成 WinUI 的热重载(XAML Hot Reload)配置相对麻烦,且不如 VS 里那么顺滑稳定。很多时候你会发现改了代码没反应,还得手动重启。

  3. 项目模板脚手架缺失: 虽然可以通过 dotnet new 命令行创建项目,但 VS 提供的那套向导能帮你自动配置好很多 Manifest、Package.appxmanifest 以及签名相关的设置。在 VS Code 里,你得自己去啃文档补全这些配置文件,一旦配错,打包上架就会一堆坑。

四、结论:到底该选谁?

如果你是新手,或者刚开始接触 WinUI 3:

强烈建议老老实实装 Visual Studio(Community 版本即可)。

Visual Studio Community 是免费的,并不是必须要“正版”付费版(虽然叫正版,但免费版也是合法合规的)。它的功能对于个人开发者或小团队完全溢出。安装时选择“使用 C++ 的桌面开发”和“.NET 桌面开发”工作负载,虽然安装包大,但它能帮你省去无数配置环境的时间。尤其是 UI 设计器,对于理解 XAML 布局系统至关重要。

如果你是老手,或者只需要写逻辑层/UI 层分离的项目:

你可以尝试用 VS Code 写 ViewModel、Service 等纯 C# 代码,同时开着一个轻量级的 VS 仅用来处理 XAML 的编辑和预览。这种“混合开发”模式是目前很多追求效率的开发者的折中选择。

五、给你的避坑建议

  1. 不要为了“轻量”而牺牲“效率”:学习新技术初期,工具的辅助功能能极大提升自信心。VS 安装一次能用很久,别心疼那点硬盘空间。
  2. 善用 VS Community:微软官方免费提供,功能无阉割,为什么不用?
  3. 关注社区动态:VS Code 的 C# 插件更新很快,未来也许会有更好的第三方 XAML 预览工具出现,但目前,VS 依然是 WinUI 的最佳搭档。

总之,工欲善其事,必先利其器。在 WinUI 的世界里,Visual Studio 依然是那个不可替代的“重型坦克”,而 VS Code 则是适合轻量级突击的“匕首”。根据你的需求选对武器,比纠结“必须用哪个”更重要。

标签: none

AI Skills Smart Station on Nick Launches

评论已关闭