Visual Studio Code是一個支持跨平台的文本編輯器,同其他文本文本編輯器一樣,不但占用磁盤空間小,性能也比較快;近幾年由於不斷的升級和許多開發者提供大量的插件,它已經成為了一個非常強大的代碼編輯器。所以當我們創建一些中小型項目或者需要修改項目中的某個文件,直接使用vscode是非常方便的。
安裝vscode
安裝C#語言的運行環境,當然安裝過Visual Studio編輯器的話是不需要再安裝了
然后在vscode中安裝C#語言的插件

相關的文檔:https://code.visualstudio.com/docs/languages/csharp
視頻介紹:https://channel9.msdn.com/Blogs/dotnet/Get-started-VSCode-Csharp-NET-Core-Windows
創建C#項目
打開vscode,然后添加一個工作空間

添加工作空間之后,通過vscode菜單新建一個終端(快捷鍵Ctrl+Shift+`)
dotnet --help //查看dotnet相關的幫助命令
創建解決方案
PS D:\Projects\CSharp> dotnet new sln -o MyApp
已成功創建模板“Solution File”。
創建項目類庫
首相進入項目目錄,然后再創建對應的主程序和類庫
PS D:\Projects\CSharp> cd .\MyApp\
PS D:\Projects\CSharp\MyApp> dotnet new classlib -o MyApp.Model
已成功創建模板“Class library”。
正在處理創建后操作...
正在 MyApp.Model\MyApp.Model.csproj 上運行 "dotnet restore"...
正在還原 D:\Projects\CSharp\MyApp\MyApp.Model\MyApp.Model.csproj 的包...
正在生成 MSBuild 文件 D:\Projects\CSharp\MyApp\MyApp.Model\obj\MyApp.Model.csproj.nuget.g.props。
正在生成 MSBuild 文件 D:\Projects\CSharp\MyApp\MyApp.Model\obj\MyApp.Model.csproj.nuget.g.targets。
D:\Projects\CSharp\MyApp\MyApp.Model\MyApp.Model.csproj 的還原在 210.35 ms 內完成。
還原成功。
PS D:\Projects\CSharp\MyApp> dotnet new console -o MyApp.HelloWorld
已成功創建模板“Console Application”。
正在處理創建后操作...
正在 MyApp.HelloWorld\MyApp.HelloWorld.csproj 上運行 "dotnet restore"...
正在還原 D:\Projects\CSharp\MyApp\MyApp.HelloWorld\MyApp.HelloWorld.csproj 的包...
正在生成 MSBuild 文件 D:\Projects\CSharp\MyApp\MyApp.HelloWorld\obj\MyApp.HelloWorld.csproj.nuget.g.props。
正在生成 MSBuild 文件 D:\Projects\CSharp\MyApp\MyApp.HelloWorld\obj\MyApp.HelloWorld.csproj.nuget.g.targets。
D:\Projects\CSharp\MyApp\MyApp.HelloWorld\MyApp.HelloWorld.csproj 的還原在 201.45 ms 內完成。
還原成功。
將類庫添加到項目中
PS D:\Projects\CSharp\MyApp> dotnet sln add .\MyApp.HelloWorld\MyApp.HelloWorld.csproj
已將項目“MyApp.HelloWorld\MyApp.HelloWorld.csproj”添加到解決方案中。
PS D:\Projects\CSharp\MyApp> dotnet sln add .\MyApp.Model\MyApp.Model.csproj
已將項目“MyApp.Model\MyApp.Model.csproj”添加到解決方案中。
項目中類庫間的引用
首先需要進入到要添加引用的程序集目錄中,然后執行引用命令
PS D:\Projects\CSharp\MyApp> cd .\MyApp.HelloWorld\
PS D:\Projects\CSharp\MyApp\MyApp.HelloWorld> dotnet add reference ../MyApp.Model/MyApp.Model.csproj
已將引用“..\MyApp.Model\MyApp.Model.csproj”添加到項目。
編譯和運行代碼
PS D:\Projects\CSharp\MyApp> dotnet build
PS D:\Projects\CSharp\MyApp> dotnet run --project MyApp.HelloWorld
代碼調試
vscode同時支持友好的界面代碼調試,通過F5啟動調試;啟動調試時還需要我們添加調試的一些配置,可以通過vscode自動創建配置模板(launch.json和task.json),然后我們再對應進行修改
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}\\MyApp\\MyApp.HelloWorld\\bin\\Debug\\netcoreapp2.2\\MyApp.Apps.dll",
"args": [],
"cwd": "${workspaceFolder}",
"stopAtEntry": false,
"console": "internalConsole"
}
]
}
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "build",
"command": "dotnet",
"type": "shell",
"args": [
"build",
// Ask dotnet build to generate full paths for file names.
"${workspaceRoot}\\MyApp",
"/property:GenerateFullPaths=true",
// Do not generate summary otherwise it leads to duplicate errors in Problems panel
"/consoleloggerparameters:NoSummary"
],
"group": "build",
"presentation": {
"reveal": "silent"
},
"problemMatcher": "$msCompile"
}
]
}

