0. 为什么会有这篇博客

最近,我开始探索 AnduinOS: https://www.anduinos.com/

作为一名 .NET 开发者,配置一个舒适的开发环境是我上手后必须面对的挑战。由于 AnduinOS 是一个 Linux 发行版,我们不得不告别 Visual Studio。尽管 Jetbrains Rider 是一个出色的选择,但没有免费的社区版,这对我这样的贫穷开发者来说,显得有些奢侈。

当然,如果你实在无法割舍 Visual Studio,你甚至可以走邪路,例如装一个 Windows 虚拟机。但那又失去了 AnduinOS 的初衷。别担心,VSCode 仍然在我们手边。

虽然市场上还有 NeoVim、Sublime Text 等其他编辑器,但我对此不太熟悉,因此今天我将把注意力集中在 VSCode 上。我计划通过一些插件,让 VSCode 的 C# 开发体验更接近 Visual Studio 的标准。

也就是说,这篇文章不止适用于 AnduinOS,而且适用于所有可以使用 VSCode 的操作系统。

我并不常使用 VSCode 开发 .NET,以下内容纯属我在短暂使用后的“经验之谈”。如果你有更好的建议,欢迎在评论区留言;若觉得不合适,也可以当我在随意发言。

AnduinOS 的文档中已经详细介绍了如何在 AnduinOS 上安装 .NET SDK、VSCode 等操作,还有很多能让你的生活变得更好的设置,甚至还教了你如何安装微信,详情请查阅文档。这篇文章不再介绍安装 SDK 和 VSCode 的步骤。

首先请看以下截图中的第 1、2 和 4 插件:

1. C# 插件

上图中的第二个插件 C# 是必装的插件之一,它提供 C# 的基本语言支持。

安装完成后,不妨逛逛这个插件的 settings,看看有没有那些默认关闭却值得开启的选项,简直像是开启了隐藏关卡。

此外,我习惯在 settings.json 文件中添加以下几项,以便让 VSCode 更加给力:

"dotnet.server.useOmnisharp": true,
"omnisharp.enableDecompilationSupport": true,
"omnisharp.enableEditorConfigSupport": true,
"omnisharp.enableImportCompletion": true,
"omnisharp.enableRoslynAnalyzers": true

有时我听到开发者抱怨 VSCode 在 .NET 开发上功能不够强大。如果你也有类似的疑虑,不妨试试我的设置,或许能为你的开发体验带来一些意想不到的提升。

2. 强大的 C# Dev Kit

  1. 上图第 1 个插件:C# Dev Kit,为 VSCode 提供了类似 Visual Studio 的功能,例如创建 solution、创建 project、build、run、代码补全、debugging、testing 等。可以说,这个插件非常全面,几乎把所有你需要的功能都打包了。
  2. 第四个插件 IntelliCode for C# Dev Kit 则是那种一听名字就知道的智能代码提示工具,是 C# Dev Kit 的绝佳搭档。

最近两年 Microsoft 开发了这个插件,可以给 VSCode 的用户爽用,但是代价呢?

它们的许可证政策与 Visual Studio 相似,个人、学术和开源项目可以免费使用,而对于最多 5 人的团队,商业目的下也能免费使用。至于 6 人以上的团队,恭喜你们,需要 Visual Studio Professional(或更高版本)的订阅。

在使用该插件时,还需要登录微软账号来授权,所以如你所见,我根本没有安装它们,免得不小心踩了许可证的红线。

3. Roslynator

这个插件与 C# Dev Kit 是互斥的,你需要把 C# Dev Kit 设置为 Disable 才可以使用它。

它是基于 Roslyn 的代码分析器和代码修复器,提供了 500+ 个分析器,以此来提供例如代码格式化、代码优化、代码重构等功能。

而 Jetbrains Rider 提供了 2500+ 个分析器,所以你可以把它当作 Rider 的代码优化和重构功能的一个免费简化版。

如果你在前面的设置中开启了 "omnisharp.enableRoslynAnalyzers": true,你可能会发现 Roslynator 的功能有些重复。但是我在使用时的确有一种似曾相识的感觉。如果你曾经被 Rider 教过如何写代码,那你一定懂我说的那种“惊喜”,而 Roslynator 也可能会带给你类似的启发。

4. C# XML Documentation Comments

这个插件可以帮助你快速生成 XML 文档注释,仿佛在 Rider 中的体验,只需要输入 ///,就可以生成一个 XML 文档注释了,例如:

/// <summary>
///
/// </summary>
/// <param name="id"></param>
/// <returns></returns>

5. C# Namespace Autocompletion

在 VSCode 中,每次新建一个空的 C# 文件时,需要手动添加命名空间,这个插件可以给你完成命名空间的补全功能。

6. Github Copilot

Github Copilot 是一个每月 10 美元,包年 100 美元的强大的代码提示工具,它可以帮助你快速编写代码,但是它的订阅价格可能会让你不禁咽口水。

即使你没用过这个工具,想必也听说过它的名声。当年它被发布,一时风头无两,几乎让程序员们感受到被 AI 取代的恐惧。后来与 ChatGPT 联手,再次掀起波澜,但如今似乎被新兴的 Cursor 抢了风头。对于我这个懒人来说,Cursor 只用过一次,一直没有深入学习它,不便评论。所以我只能说 Copilot 是一个很好的产品,但如果你希望把它跟 Cursor 做比较,考虑订阅哪个更划算的话,建议你去咨询经常使用两者的工程师。

总结

以上列举了我在使用 VSCode 开发 .NET 时使用的一些插件,有一些常用的但与 .NET 没有关系的其它插件我并没有列举,例如 Markdown All in One 等。

我希望这篇文章能够让你在使用 AnduinOS 开发 .NET 时更加愉快,如果你有更好的建议,欢迎在评论区留言。