vscode 支持C#

2022-08-11 15:06 更新

VS Code上的 C# 支持并不是十分完整。為什么這么說呢?這個(gè) C# 插件,并不是要完成 Visual Studio 的 C# 支持的所有功能,而只是立足于 .NET Core 和 Mono。也就是說,即使你是在 Windows 上使用VS Code并且使用這個(gè)插件,也不能很好地支持完整的 .NET framework。

看到這里,如果你的目的是使用VS Code和 C# 插件來替代 Visual Studio 完成你日常的 .NET 開發(fā)(非 .NET Core),那么相信你已經(jīng)知道答案了,你還是應(yīng)該使用 Visual Studio。

而如果你本身對(duì) .NET Core 很感興趣,或者你就是在 macOS 和 Linux 上,想嘗試 C#,那么下面的介紹就值得一看了。

安裝使用

首先,你需要到插件市場(chǎng)安裝 C# 插件


通過這個(gè)項(xiàng)目地址,你可能也發(fā)現(xiàn)了,它的底層支持是依賴 OmniSharp 的,而OmniSharp 本身就是為了解決跨平臺(tái)的 .NET 開發(fā)問題的。

這個(gè)插件主要支持的項(xiàng)目類型有:

  • .NET Core
  • MSBuild
  • C# scripts

要正常使用這個(gè)插件,你就需要安裝 C# 環(huán)境。在 macOS 和 Linux,你要安裝的則是.NET Core

而當(dāng)你打開一個(gè) .NET 項(xiàng)目時(shí),C# 插件則會(huì)自動(dòng)地去下載所需要的 package,你可以從輸出面板中看到相關(guān)的下載信息。


語(yǔ)言支持

當(dāng)所有的 package 都安裝完成后,打開 C# 文件時(shí),VS Code已經(jīng)開始提供語(yǔ)言服務(wù)了。比如在下圖中,你能夠看到函數(shù)被引用的情況。


至于自動(dòng)補(bǔ)全、參數(shù)提示等,都跟 Visual Studio 上的體驗(yàn)基本一致,因?yàn)槠涞讓邮褂玫氖峭粋€(gè) C# 編譯器Roslyn。

當(dāng)然你也可以在 C# 項(xiàng)目中進(jìn)行符號(hào)跳轉(zhuǎn)。

C# 插件也自帶了一個(gè)代碼格式化工具。

任務(wù)

VS Code已經(jīng)支持了 .NET Core 的構(gòu)建腳本,所以你可以直接通過任務(wù)系統(tǒng)構(gòu)建代碼。默認(rèn)情況下,VS Code會(huì)把構(gòu)建腳本運(yùn)行在集成終端中。

調(diào)試

如果你是使用 dotnet 腳本來創(chuàng)建的項(xiàng)目,那么項(xiàng)目已經(jīng)自帶了 launch.json ,而無需你再進(jìn)行配置。如果你的項(xiàng)目沒有 C# 相關(guān)的調(diào)試配置,你也可以借助自動(dòng)補(bǔ)全來生成。

有了書寫完整的 launch.json,你就能夠無縫地調(diào)試 .NET Core 代碼了。

已知問題和前瞻

相信跟前面介紹的其他幾門語(yǔ)言相比,C# 插件的已知問題,應(yīng)該比功能介紹可能還要多。比如 :

  • Razor 里不支持 Intellisense;
  • 調(diào)試時(shí)不支持編輯代碼并熱更新;
  • 不支持 VB;
  • csproject 的編輯體驗(yàn)也很有限;

不過,我們?cè)谧钌厦嬉呀?jīng)提過了,它有這些問題,最主要的還是因?yàn)樗牧⒆泓c(diǎn)是 .NET Core。

對(duì)于VS Code上的 C# 支持,我自己的感覺是它依然會(huì)以 .NET Core 為主要核心,這和VS Code跨平臺(tái)的特性也非常吻合。而全尺寸的 C# 開發(fā)體驗(yàn),Visual Studio 依然是不二之選。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)