环境搭建
环境搭建
IDE选择
从事C#框架开发的几乎都是首选Visual Studio的。
WinUI 3作为一个新生框架,Rider对它的支持并不好,目前为止仍然无法编译通过。
Visual Studio Code也是一个选择。
但它作为一个几乎需要从零搭建环境的“IDE”,使用它不是明智的选择。
Visual Studio版本区别
从Visual Studio 2019开始,就可以运行WinUI 3项目了,但并不推荐使用VS2019。
一是因为有新版本VS2022,本来就比VS2019更高效好用。
二是因为从VS2022起,工作负荷中就出现了WinUI 3,以代替UWP。
这表明VS2022可以一键安装好WinUI 3的工作环境了。
此外VS2022还支持更新的.NET SDK和更新的源生成器。
所以建议选择VS2022开发WinUI 3。
安装方法
在网上下载安装VS2022后,在工作负荷页面选择有WinUI图标的“Windows 应用程序开发”即可。
你也可以选择别的你需要的负载安装。
推荐扩展
安装完成后,可以打开VS2022并选择继续但无需代码。
进入空的项目页面后,在工具栏中选择“扩展”->“管理扩展”打开扩展页面
Single-project MSIX Packaging Tools for VS 2022
这个扩展可以让你使用一个项目就完成项目本身的功能,和打包该项目的功能。
如果你需要构建打包应用,这是个很有用的扩展。
XAML Styler for Visual Studio 2022
使用过XAML的人都能理解为什么需要这样的扩展。
它就像.editorconfig规定代码风格一样,可以规定XAML的风格,只需要一键就可以对XAML进行格式化。
这个扩展也可以将你的风格导出为Settings.XamlStyler文件(类似于.editorconfig),使其他拥有这个插件的人也可以使用一致的风格。
此外github action也可以定义工作流来检查提交代码是否符合Settings.XamlStyler的标准。
现在几乎所有XAML项目几乎都使用这个扩展来对XAML进行格式化,这个扩展已经得到了广泛的认可。
ResXManager
VS自带的ResX/ResW编辑器功能总是很弱,快捷键支持也有限,这个扩展正是为了解决这些问题而出现的。
它可以很方便的对比多国语言,进行增删改编辑。唯一的缺点是不支持ResJson格式的资源。
Template Studio for WinUI
这个扩展和VS自带的项目模板功能类似,但更强大。
VS自带的项目模板只是生成一个新项目,
但它可以一键生成带有导航视图、设置页的规范项目,并带有依赖注入、MVVM等模板,
不仅可以减少创建项目时的工作量,还是新手学习建立规范项目的好模板。
dotUltimate(ReSharper)
这个扩展一般不从扩展商店下载,而是从JetBrains官网下载,并且需要付费购买才能使用。
如果你有高校学校邮箱并且是现役学生也可以免费申请学生许可证,在此不过多赘述。
这个扩展除了ReSharper本体,还包含dotCover、dotMemory、dotPeek、dotTrace。
ReSharper
增强.NET语言(如C#等)和C++的编码体验。主要是通过静态分析指出可读性更好的写法、更高效的写法、可能出错的逻辑等。
不论是对新手还是老手,都有很强的指导作用,可以说是批量制造了优雅的代码。
虽说扩展是在原功能上增强,但它的缺点也导致某些部分不如没装扩展的VS:
- 对新.NET SDK的支持不如VS自身快。VS几乎可以做到新SDK和新版VS同时发布。
但ReSharper会对新的语法报错(约一两天到一周),更新后就好了。
对不使用预览版.NET的程序员来说,这个缺点每年更新时才会出现一次,对使用手感几乎没有影响。
对于不使用新版.NET的程序员来说,这个缺点不存在。 - 打开新的VS实例的时候,ReSharper会卡住约十几秒到一分钟(因机器而异),这也是它最广为诟病的缺点。
但好在加载完成后VS性能几乎没怎么下降,这个缺点还是可以接受。
dotCover
这个软件是用来检测.NET项目的单元测试覆盖率的,ReSharper中也包含了它一部分的功能。
dotMemory
这个软件是专门用来挂载到运行中的.NET应用上分析内存使用情况的,类似于VS自带的诊断工具,但功能更强。
dotPeek
这个软件是用来反编译.NET dll的,尤在分析没有源码的dll,或者检查自己生成的dll结构时十分好用。
dotTrace
类似于dotMemory,但更侧重于关注应用总体性能。