Visual Studio Code 开发 .NET Core 看这篇就够了
來源:依樂祝
cnblogs.com/yilezhu/p/9926078.html在本文中,我將帶著大家一步一步的通過圖文的形式來演示如何在Visual Studio Code中進(jìn)行.NET Core程序的開發(fā),測試以及調(diào)試。
盡管Visual Studio Code的部分功能還達(dá)不到Visual Studio的水平,但它實(shí)際上已經(jīng)足夠強(qiáng)大來滿足我們的日常開發(fā)。而且其輕量化,插件化以及跨平臺的特性則是VS所不具備的。
而且Visual Studio Code還可以通過社區(qū)來創(chuàng)建一系列的擴(kuò)展來增強(qiáng)其功能,且社區(qū)已經(jīng)足夠活躍。
我們可以期待更多很酷的擴(kuò)展和功能來增強(qiáng)VS Code,這將使在這個輕量級,跨平臺編輯器中的開發(fā).NET Core應(yīng)用程序更加流暢和有趣。
為什么要寫這篇文章?
因?yàn)樯掀恼乱舱f了,.NET Core已經(jīng)全面跨平臺了,而且我們也在嘗試使用Linux了,但是上篇CentOS開發(fā)ASP.NET Core入門教程 中使用的CLI進(jìn)行.NET Core開發(fā)的話,感覺很不適應(yīng)。
畢竟從.net過度過來的我們已經(jīng)習(xí)慣了使用Microsoft的Visual Studio進(jìn)行開發(fā)。那么有沒有一款媲美Visual Studio的開發(fā)工具可以讓我們能夠在Linux系統(tǒng)上進(jìn)行高效的.NET Core開發(fā)呢?答案是肯定的,因?yàn)槲④浺呀?jīng)開發(fā)了一個名為Visual Studio Code的跨平臺和開源的文本編輯器。
Visual Studio Code是如此強(qiáng)大和令人驚嘆,因?yàn)樗峁┝藘?nèi)置的智能提醒,調(diào)試功能和Git支持。而且Visual Studio Code提供了強(qiáng)大的插件擴(kuò)展功能。
使得你可以在插件擴(kuò)展庫里面找到滿足你需求的插件。如果你沒有在他們的擴(kuò)展庫中找到它,那么你還可以自己創(chuàng)建一個插件并使用它。很酷,對嗎?那就開始吧!
安裝
這部分,我們將講解如何進(jìn)行Visual Studio Code的安裝,配置以便進(jìn)行.NET Core的開發(fā)
準(zhǔn)備工作
1、安裝.NET Core SDK。具體的安裝方式大伙可以點(diǎn)擊這里進(jìn)行查看并進(jìn)行安裝。因?yàn)槲④浀臇|西都比較傻瓜式,所以這里就不演示了。
2、安裝Visual Studio Code。您可以從此處 然后根據(jù)您的操作系統(tǒng)進(jìn)行選擇下載,不同操作系統(tǒng)的安裝過程可能會有所不同 您可以在此處 查看Visual Studio Code的安裝說明。還是 因?yàn)槲④浀臇|西都比較傻瓜式,所以這里就不演示了。
3、在Visual Studio Code 中安裝C# 擴(kuò)展以便讓Visual Studio Code 支持C#的開發(fā),當(dāng)然你也可以安裝其他語言的擴(kuò)展來進(jìn)行其他編程語言的開發(fā),比如說python,go等等。
為了安裝c#的擴(kuò)展,你可以通過Visual Studio Code左側(cè)工具欄中的Extensions圖標(biāo)或使用鍵盤快捷鍵Ctrl + Shift + X打開Extensions視圖。在搜索框中搜索C#并從列表中安裝擴(kuò)展程序。如下圖所示:
這里需要注意下,安裝完成之后,需要重啟下Visual Studio Code才能夠使用C#擴(kuò)展功能。
重啟之后會出現(xiàn)如下的界面,表示已經(jīng)安裝好了C#擴(kuò)展
使用Visual Studio Code開發(fā)基本的.NET Core程序
既然環(huán)境都已經(jīng)準(zhǔn)備好了,那么現(xiàn)在我們就開始使用Visual Studio Code開發(fā)一個.NET Core應(yīng)用程序吧!
4、在電腦上一個位置創(chuàng)建一個名為DotNetCoreSample的空文件夾,然后右鍵單擊該文件夾,從彈出的菜單中選擇“使用Visual Studio Code打開”。這將打開Visual Studio Code,并將選定該文件夾作為工作區(qū)。當(dāng)然也可以通過下圖所示的步驟來打開這個文件夾,這個按照你的習(xí)慣來操作就好。
5、使用`Ctrl+Shift+`` 快捷鍵在 Visual Studio Code 中快速打開終端,如下圖所示:
6、接下來我們使用dotnet new console --name DotNetCoreSample 命令來在這個打開的終端里面創(chuàng)建一個基礎(chǔ)的控制臺程序并進(jìn)行restore。如下圖所示
7、接下來我們打開生成的Program.cs 文件,Visual Studio Code會安裝OmniSharp插件,然后會在右下角彈出如下圖所示的是否需要生成用來構(gòu)建以及調(diào)試的資產(chǎn)文件的詢問窗口,這里點(diǎn)擊“是”就會幫我們生成“l(fā)aunch.json”以及“task.json”文件,這些文件將有助于使用Visual Studio代碼構(gòu)建和調(diào)試應(yīng)用程序 。
8、下面我們修改下Program.cs 文件中的內(nèi)容,添加下面這行代碼。然后保存文件,并把鼠標(biāo)移動到終端,然后終端cd到我們的項(xiàng)目目錄cd DotNetCoreSample。輸入dotnet run 然后按下Enter鍵,可以看到如下所示的內(nèi)容:
Visual Studio Code中vscode-solution-explorer解決方案管理器插件的使用
可能很多.neter朋友們剛開始使用Visual Studio Code的時候很不適應(yīng)各種命令行dotnet命令來創(chuàng)建項(xiàng)目以及解決方案。幸運(yùn)的是,Visual Studio Code擴(kuò)展中提供了類似于Visual Studio的解決防范資源管理的插件來解決這個問題。下面我們一步一步的看下如何使用此插件吧!
1、打開Visual Studio Code擴(kuò)展,然后輸入vscode-solution-explorer,然后如下圖所示進(jìn)行安裝。
2、安裝后插件后,VS Code Explorer左側(cè)欄中將多了一個顯示名為“SOLUTION EXPLORER”的新窗格。
3、接下來我們使用它來創(chuàng)建解決方案,并在解決方案中添加項(xiàng)目吧。我們按下快捷鍵Ctrl + Shift + P
然后選擇“Create a new empty solution ” VS Code 將提示我們輸入一個解決方案的名稱。我們輸入一個SimpleCalculator 作為解決方案的名稱。
4、現(xiàn)在,VS Code將使用我們提供的名稱創(chuàng)建一個空的解決方案。在后臺,我們安裝的擴(kuò)展將執(zhí)行dotnet new sln? 命令。
您可以在“SOLUTION EXPLORER”窗格中看到空白解解決方案。然后此擴(kuò)展程序?qū)⒃儐柲闶欠駝?chuàng)建模板文件夾請參見下圖。
如果允許,它將在.vscode / solution-explorer 目錄中添加一些模板。
5、現(xiàn)在,讓我們向這個空白的解決方案中添加類庫和控制臺應(yīng)用程序。右鍵單擊解決方案(在Solution Explorer窗格中),然后從上下文菜單中選擇Add new project選項(xiàng)。這將列出.NET CLI提供的可用項(xiàng)目類型(請參見下圖)。選擇“類庫”選項(xiàng)。
6、系統(tǒng)將詢問您將使用哪種語言。選擇C#,編輯器將提示輸入項(xiàng)目名稱。 像我們之前給出的那樣給出MathOperations的名稱。類庫已添加到解決方案中。
7、重復(fù)相同的步驟并添加名為“Calculator ”的控制臺應(yīng)用程序。請記住從項(xiàng)目模板中選擇控制臺應(yīng)用程序。
8、現(xiàn)在我們需要在控制臺應(yīng)用程序中添加類庫項(xiàng)目的引用。右鍵單擊控制臺應(yīng)用程序項(xiàng)目,然后從上下文菜單中選擇“添加引用”選項(xiàng)。由于解決方案中只有兩個項(xiàng)目,擴(kuò)展程序?qū)⒆詣犹砑恿硪粋€項(xiàng)目的引用。如果有兩個以上的項(xiàng)目,我們需要從列表中選擇項(xiàng)目。
9、導(dǎo)航到類庫目錄MathOperations。將Class1.cs? 類文件重命名為MathOperations.cs。在類中添加一個兩個數(shù)字的簡單簡單加法的方法,代碼如下:
public static class MathOperation? ??
{? ??
? ? public static int Add(int num1, int num2) => num1 + num2;
}??
10、修改導(dǎo)航到Calculator控制臺程序并在Program.cs文件中使用類庫中的方法。這里大家可以使用Shift + Alt + F快捷鍵格式化代碼。如下所示:
static void Main(string[] args)
{
? ? int num1 = 10;
? ? int num2 = 20;
? ? int sum = MathOperation.Add(num1, num2); // Method from class library? ??
? ? Console.WriteLine($"{num1} + {num2} = {sum}");
? ? Console.ReadLine();
}
11、現(xiàn)在,右鍵單擊解決方案資源管理器樹中的控制臺應(yīng)用程序項(xiàng)目,然后從上下文菜單中選擇“運(yùn)行”選項(xiàng)。您可以看到.NET CLI將在后臺運(yùn)行應(yīng)用程序。并在Output窗口中輸出結(jié)果,如下圖所示。
Visual Studio Code在.NET Core應(yīng)用程序中運(yùn)行測試插件
單元測試是軟件開發(fā)不可或缺的一部分。這里我不打算詳細(xì)解釋單元測試,因?yàn)橛泻芏嘣诰€資源。我只給大家介紹如何在.NET Core應(yīng)用程序中包含單元測試以及可用于運(yùn)行單元測試的Visual Studio Code的擴(kuò)展。
1、首先讓我們該寫下數(shù)學(xué)運(yùn)算的類庫方法
public static class MathOperation
{
? ? public static int Add(int num1, int num2) => num1 + num2;
? ? public static int Subtract(int num1, int num2) => num1 - num2;
? ? public static int Multiply(int num1, int num2) => num1 * num2;
? ? public static int Divide(int num1, int num2) => num1 / num2;
}
1、現(xiàn)在,我們需要在解決方案中添加一個單元測試項(xiàng)目。
我們可以使用.NET CLI或上面提到的Solution Explorer擴(kuò)展來添加單元測試項(xiàng)目。要通過Solution Explorer擴(kuò)展添加項(xiàng)目,請右鍵單擊解決方案,然后 從上下文菜單中選擇“ 添加新項(xiàng)目 ”。從項(xiàng)目模板中選擇xUnit Test Project 并命名為 MathOperationTests。創(chuàng)建測試項(xiàng)目后,將MathOperations類庫的引用添加到測試項(xiàng)目中。
如果您使用的是.NET CLI,則需要運(yùn)行以下命令。
dotnet new xunit -n MathOperationTests??
dotnet add MathOperationTestsMathOperationTests.csproj reference MathOperationsMathOperations.csproj??
dotnet sln SimpleCalculator.sln add MathOperationTestsMathOperationTests.csproj
將UnitTest1.cs重命名為OperationTests.cs。也要在代碼中更改類名。現(xiàn)在我們將為類庫方法添加一些測試。
public class OperationTests
{
? ? [Fact]
? ? public void AddTwoNumbers_ReturnsSum()
? ? {
? ? ? ? var num1 = 10;
? ? ? ? var num2 = 20;
? ? ? ? var result = MathOperation.Add(num1, num2);
? ? ? ? Assert.Equal(30, result);
? ? }
? ? [Fact]
? ? public void SubtractTwoNumbers_ReturnsDifference()
? ? {
? ? ? ? var num1 = 20;
? ? ? ? var num2 = 10;
? ? ? ? var result = MathOperation.Subtract(num1, num2);
? ? ? ? Assert.Equal(10, result);
? ? }
? ? [Fact]
? ? public void MultiplyTwoNumbers_ReturnsProduct()
? ? {
? ? ? ? var num1 = 10;
? ? ? ? var num2 = 20;
? ? ? ? var result = MathOperation.Multiply(num1, num2);
? ? ? ? Assert.Equal(200, result);
? ? }
? ? [Fact]
? ? public void DivideTwoNumbers_ReturnsQuotient()
? ? {
? ? ? ? var num1 = 20;
? ? ? ? var num2 = 10;
? ? ? ? var result = MathOperation.Divide(num1, num2);
? ? ? ? Assert.Equal(2, result);
? ? }
}
2、現(xiàn)在,我們需要運(yùn)行我們創(chuàng)建的測試。我們?yōu)榇耸褂?NET CLI。打開終端。導(dǎo)航到MathOperationTests目錄。輸入dotnet test命令。我們將獲得以下輸出。
3、如您所見,輸出信息量較少。如果我們在Visual Studio中有類似于Test Explorer的東西來執(zhí)行我們的單元測試并查看結(jié)果,那將會很好。好消息是有一個名為.NET Core Test Explorer的Visual Studio Code插件。下面按照下圖所示在Visual Studio代碼中安裝此擴(kuò)展吧。這里不過多說明了
4、安裝擴(kuò)展程序后,您可以在左側(cè)活動欄中看到一個燒杯圖標(biāo)。單擊該圖標(biāo),您將看到測試的側(cè)欄面板,其中列出了項(xiàng)目中發(fā)現(xiàn)的單元測試。測試項(xiàng)目將顯示在按命名空間和類分組的樹視圖中。您還可以看到每個測試的“運(yùn)行”按鈕和頂部的“全部運(yùn)行”按鈕。單擊Run All按鈕,您可以看到正在執(zhí)行的所有測試及其結(jié)果。
5、我們可以看到所有測試都已通過,并在測試資源管理器窗格中標(biāo)有綠色勾號。現(xiàn)在讓我們讓測試失敗。我將更改Add方法的邏輯以使測試失敗。
public static int Add(int num1, int num2) => num1 - num2;//這里有bug
6、現(xiàn)在再次運(yùn)行測試。我們可以看到我們對Add方法的測試失敗,并在test explorer窗格中用紅色符號標(biāo)記。
7、如果我們導(dǎo)航到我們編寫的測試方法,我們可以看到它現(xiàn)在在Assert方法中有一個紅色的波浪下劃線。如果我們將鼠標(biāo)懸停在該波浪線上,將顯示一個信息框,顯示測試的實(shí)際值和預(yù)期值。VS代碼的底部面板(終端所在的面板)的“ 問題”選項(xiàng)卡中顯示相同的信息。這可以在下圖中看到。
8、修復(fù)錯誤并再次運(yùn)行測試,以便所有測試都通過,我們可以再次看到綠色標(biāo)記。
Visual Studio Code中順暢的調(diào)試.NET Core應(yīng)用程序
在這部分,我們將了解如何在Visual Studio Code中順暢的調(diào)試.NET Core應(yīng)用程序。為了在Visual Studio Code中調(diào)試.NET Core應(yīng)用程序,我們需要為VS Code安裝C#擴(kuò)展。(上面我們已經(jīng)安裝過了)
1、我們首先在Calculator控制臺程序的Program.cs文件中加入斷點(diǎn)。與Visual Studio類似,我們可以通過單擊源代碼文件的左邊距,或者將光標(biāo)放在一行代碼上并按F9,在源代碼中設(shè)置行斷點(diǎn)。斷點(diǎn)在編輯器的左邊緣顯示為紅點(diǎn)。
2、要開始調(diào)試,請按F5。這將自動將調(diào)試器附加到我們的Calculator應(yīng)用程序來啟動應(yīng)用程序。我們可以看到執(zhí)行在我們設(shè)置的斷點(diǎn)處停止,這有助于我們在調(diào)試時了解當(dāng)前的程序狀態(tài)。
這里需要注意下,需要修改launch.json中的對應(yīng)路徑以及項(xiàng)目名稱為Calculator。
3、我們可以看到VS Code的Debug視圖在編輯器的左側(cè)打開。Debug視圖顯示與調(diào)試相關(guān)的所有信息。
我們還可以注意到編輯器頂部出現(xiàn)了一個調(diào)試工具欄。調(diào)試時,調(diào)試工具欄可用于代碼導(dǎo)航選項(xiàng)。這里調(diào)試試圖的大部分功能跟vs2017差不多,因此這里不做過多地闡述了。
總結(jié)
在本文中,我已經(jīng)為大家一步一步的通過圖文教程解釋了如何在Visual Studio Code中進(jìn)行.NET Core程序的開發(fā),測試以及調(diào)試。趕緊下載一個試試吧!你會發(fā)現(xiàn)你會越來越喜歡他的!
本文參考:https://www.c-sharpcorner.com/article/create-a-net-core-development-environment-using-visual-studio-code2/
總結(jié)
以上是生活随笔為你收集整理的Visual Studio Code 开发 .NET Core 看这篇就够了的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 原生和h5桥接
- 下一篇: ASP.NET MVC 4 过滤器(Au