使用Visual Studio Code開發.NET Core看這篇就夠了


作者:依樂祝
原文地址:https://www.cnblogs.com/yilezhu/p/9926078.html

在本文中,我將帶着大家一步一步的通過圖文的形式來演示如何在Visual Studio Code中進行.NET Core程序的開發,測試以及調試。盡管Visual Studio Code的部分功能還達不到Visual Studio的水平,但它實際上已經足夠強大來滿足我們的日常開發。而且其輕量化,插件化以及跨平台的特性則是VS所不具備的。而且Visual Studio Code還可以通過社區來創建一系列的擴展來增強其功能,且社區已經足夠活躍。我們可以期待更多很酷的擴展和功能來增強VS Code,這將使在這個輕量級,跨平台編輯器中的開發.NET Core應用程序更加流暢和有趣。趕緊跟着博主一起開始今天的文章吧!

為什么要寫這篇文章?

因為上篇文章也說了,.NET Core已經全面跨平台了,而且我們也在嘗試使用Linux了,但是上篇CentOS開發ASP.NET Core入門教程 中使用的CLI進行.NET Core開發的話,感覺很不適應。畢竟從.net過度過來的我們已經習慣了使用Microsoft的Visual Studio進行開發。那么有沒有一款媲美Visual Studio的開發工具可以讓我們能夠在Linux系統上進行高效的.NET Core開發呢?答案是肯定的,因為微軟已經開發了一個名為Visual Studio Code的跨平台和開源的文本編輯器。Visual Studio Code是如此強大和令人驚嘆,因為它提供了內置的智能提醒,調試功能和Git支持。而且Visual Studio Code提供了強大的插件擴展功能。使得你可以在插件擴展庫里面找到滿足你需求的插件。如果你沒有在他們的擴展庫中找到它,那么你還可以自己創建一個插件並使用它。很酷,對嗎?那就開始吧!

安裝

這部分,我們將講解如何進行Visual Studio Code的安裝,配置以便進行.NET Core的開發

准備工作

  1. 安裝.NET Core SDK。具體的安裝方式大伙可以點擊這里進行查看並進行安裝。因為微軟的東西都比較傻瓜式,所以這里就不演示了。

  2. 安裝Visual Studio Code。您可以從此處 然后根據您的操作系統進行選擇下載,不同操作系統的安裝過程可能會有所不同 您可以在此處 查看Visual Studio Code的安裝說明。還是 因為微軟的東西都比較傻瓜式,所以這里就不演示了。1541339022729

  3. 在Visual Studio Code 中安裝C# 擴展以便讓Visual Studio Code 支持C#的開發,當然你也可以安裝其他語言的擴展來進行其他編程語言的開發,比如說python,go等等。為了安裝c#的擴展,你可以通過Visual Studio Code左側工具欄中的Extensions圖標或使用鍵盤快捷鍵Ctrl + Shift + X打開Extensions視圖。在搜索框中搜索C#並從列表中安裝擴展程序。如下圖所示: 1541339435927

    這里需要注意下,安裝完成之后,需要重啟下Visual Studio Code才能夠使用C#擴展功能。1541339538011
    重啟之后會出現如下的界面,表示已經安裝好了C#擴展1541339685496

使用Visual Studio Code開發基本的.NET Core程序

既然環境都已經准備好了,那么現在我們就開始使用Visual Studio Code開發一個.NET Core應用程序吧!

  1. 在電腦上一個位置創建一個名為DotNetCoreSample的空文件夾,然后右鍵單擊該文件夾,從彈出的菜單中選擇“使用Visual Studio Code打開”。這將打開Visual Studio Code,並將選定該文件夾作為工作區。當然也可以通過下圖所示的步驟來打開這個文件夾,這個按照你的習慣來操作就好。1541340456205

  2. 使用`Ctrl+Shift+`` 快捷鍵在 Visual Studio Code 中快速打開終端,如下圖所示:

    1541590018735

  3. 接下來我們使用dotnet new console --name DotNetCoreSample 命令來在這個打開的終端里面創建一個基礎的控制台程序並進行restore。如下圖所示

    1541590248007

  4. 接下來我們打開生成的Program.cs 文件,Visual Studio Code會安裝OmniSharp插件,然后會在右下角彈出如下圖所示的是否需要生成用來構建以及調試的資產文件的詢問窗口,這里點擊“是”就會幫我們生成“launch.json”以及“task.json”文件,這些文件將有助於使用Visual Studio代碼構建和調試應用程序 。

    1541590405069

    1541590667259

  5. 下面我們修改下Program.cs 文件中的內容,添加下面這行代碼。然后保存文件,並把鼠標移動到終端,然后終端cd到我們的項目目錄cd DotNetCoreSample。輸入dotnet run 然后按下Enter鍵,可以看到如下所示的內容:

    1541591036238

Visual Studio Code中vscode-solution-explorer解決方案管理器插件的使用

可能很多.neter朋友們剛開始使用Visual Studio Code的時候很不適應各種命令行dotnet命令來創建項目以及解決方案。幸運的是,Visual Studio Code擴展中提供了類似於Visual Studio的解決防范資源管理的插件來解決這個問題。下面我們一步一步的看下如何使用此插件吧!

  1. 打開Visual Studio Code擴展,然后輸入vscode-solution-explorer,然后如下圖所示進行安裝。

    1541591973934

  2. 安裝后插件后,VS Code Explorer左側欄中將多了一個顯示名為“SOLUTION EXPLORER”的新窗格。

    1541592290514

  3. 接下來我們使用它來創建解決方案,並在解決方案中添加項目吧。我們按下快捷鍵Ctrl + Shift + P

    然后選擇“Create a new empty solution ” VS Code 將提示我們輸入一個解決方案的名稱。我們輸入一個SimpleCalculator 作為解決方案的名稱。

    1541592847941

  4. 現在,VS Code將使用我們提供的名稱創建一個空的解決方案。在后台,我們安裝的擴展將執行dotnet new sln  命令。您可以在“SOLUTION EXPLORER”窗格中看到空白解解決方案。然后此擴展程序將詢問你是否創建模板文件夾請參見下圖。如果允許,它將在.vscode / solution-explorer 目錄中添加一些模板。

    1541593203311

  5. 現在,讓我們向這個空白的解決方案中添加類庫和控制台應用程序。右鍵單擊解決方案(在Solution Explorer窗格中),然后從上下文菜單中選擇Add new project選項。這將列出.NET CLI提供的可用項目類型(請參見下圖)。選擇“類庫”選項。

    1541593412253

    1541593430198

  6. 系統將詢問您將使用哪種語言。選擇C#,編輯器將提示輸入項目名稱。 像我們之前給出的那樣給出MathOperations的名稱。類庫已添加到解決方案中。

  7. 重復相同的步驟並添加名為“Calculator ”的控制台應用程序。請記住從項目模板中選擇控制台應用程序。

  8. 現在我們需要在控制台應用程序中添加類庫項目的引用。右鍵單擊控制台應用程序項目,然后從上下文菜單中選擇“添加引用”選項。由於解決方案中只有兩個項目,擴展程序將自動添加另一個項目的引用。如果有兩個以上的項目,我們需要從列表中選擇項目。

    1541593786278

  9. 導航到類庫目錄MathOperations。將Class1.cs  類文件重命名為MathOperations.cs。在類中添加一個兩個數字的簡單簡單加法的方法,代碼如下:

        public static class MathOperation    
        {    
            public static int Add(int num1, int num2) => num1 + num2;
        }  
    
  10. 修改導航到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. 現在,右鍵單擊解決方案資源管理器樹中的控制台應用程序項目,然后從上下文菜單中選擇“運行”選項。您可以看到.NET CLI將在后台運行應用程序。並在Output窗口中輸出結果,如下圖所示。

    1541594980618

    1541594999015

Visual Studio Code在.NET Core應用程序中運行測試插件

單元測試是軟件開發不可或缺的一部分。這里我不打算詳細解釋單元測試,因為有很多在線資源。我只給大家介紹如何在.NET Core應用程序中包含單元測試以及可用於運行單元測試的Visual Studio Code的擴展。

  1. 首先讓我們該寫下數學運算的類庫方法
 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. 現在,我們需要在解決方案中添加一個單元測試項目。

我們可以使用.NET CLI或上面提到的Solution Explorer擴展來添加單元測試項目。要通過Solution Explorer擴展添加項目,請右鍵單擊解決方案,然后 從上下文菜單中選擇“ 添加新項目 ”。從項目模板中選擇xUnit Test Project 並命名為 MathOperationTests。創建測試項目后,將MathOperations類庫的引用添加到測試項目中。

如果您使用的是.NET CLI,則需要運行以下命令。

dotnet new xunit -n MathOperationTests  
dotnet add MathOperationTests\MathOperationTests.csproj reference MathOperations\MathOperations.csproj  
dotnet sln SimpleCalculator.sln add MathOperationTests\MathOperationTests.csproj
  1. UnitTest1.cs重命名為OperationTests.cs。也要在代碼中更改類名。現在我們將為類庫方法添加一些測試。

    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. 現在,我們需要運行我們創建的測試。我們為此使用.NET CLI。打開終端。導航到MathOperationTests目錄。輸入dotnet test命令。我們將獲得以下輸出。

    1541596760373

  3. 如您所見,輸出信息量較少。如果我們在Visual Studio中有類似於Test Explorer的東西來執行我們的單元測試並查看結果,那將會很好。好消息是有一個名為.NET Core Test Explorer的Visual Studio Code插件。下面按照下圖所示在Visual Studio代碼中安裝此擴展吧。這里不過多說明了

    1541597219891

  4. 安裝擴展程序后,您可以在左側活動欄中看到一個燒杯圖標。單擊該圖標,您將看到測試的側欄面板,其中列出了項目中發現的單元測試。測試項目將顯示在按命名空間和類分組的樹視圖中。您還可以看到每個測試的“運行”按鈕和頂部的“全部運行”按鈕。單擊Run All按鈕,您可以看到正在執行的所有測試及其結果。

    1541597348658

  5. 我們可以看到所有測試都已通過,並在測試資源管理器窗格中標有綠色勾號。現在讓我們讓測試失敗。我將更改Add方法的邏輯以使測試失敗。

     public static int Add(int num1, int num2) => num1 - num2;//這里有bug
    
  6. 現在再次運行測試。我們可以看到我們對Add方法的測試失敗,並在test explorer窗格中用紅色符號標記。

    1541597509689

  7. 如果我們導航到我們編寫的測試方法,我們可以看到它現在在Assert方法中有一個紅色的波浪下划線。如果我們將鼠標懸停在該波浪線上,將顯示一個信息框,顯示測試的實際值和預期值。VS代碼的底部面板(終端所在的面板)的“ 問題”選項卡中顯示相同的信息。這可以在下圖中看到。

    1541597599699

  8. 修復錯誤並再次運行測試,以便所有測試都通過,我們可以再次看到綠色標記。

Visual Studio Code中順暢的調試.NET Core應用程序

在這部分,我們將了解如何在Visual Studio Code中順暢的調試.NET Core應用程序。為了在Visual Studio Code中調試.NET Core應用程序,我們需要為VS Code安裝C#擴展。(上面我們已經安裝過了)

  1. 我們首先在Calculator控制台程序的Program.cs文件中加入斷點。與Visual Studio類似,我們可以通過單擊源代碼文件的左邊距,或者將光標放在一行代碼上並按F9,在源代碼中設置行斷點。斷點在編輯器的左邊緣顯示為紅點。

  2. 要開始調試,請按F5。這將自動將調試器附加到我們的Calculator應用程序來啟動應用程序。我們可以看到執行在我們設置的斷點處停止,這有助於我們在調試時了解當前的程序狀態。

    1541598520046

    這里需要注意下,需要修改launch.json中的對應路徑以及項目名稱為Calculator。

    1541598690693

  3. 我們可以看到VS Code的Debug視圖在編輯器的左側打開。Debug視圖顯示與調試相關的所有信息。我們還可以注意到編輯器頂部出現了一個調試工具欄。調試時,調試工具欄可用於代碼導航選項。這里調試試圖的大部分功能跟vs2017差不多,因此這里不做過多地闡述了。

總結

在本文中,我已經為大家一步一步的通過圖文教程解釋了如何在Visual Studio Code中進行.NET Core程序的開發,測試以及調試。趕緊下載一個試試吧!你會發現你會越來越喜歡他的!
本文參考:https://www.c-sharpcorner.com/article/create-a-net-core-development-environment-using-visual-studio-code2/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM