欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

visual studio code .net 开发

程序员文章站 2022-04-24 22:19:14
Visual Studio确实是相当好用,各种简化操作什么的简直不要太舒服。但其容量太大,有时不是很方便,所以今天简单介绍一下另一个工具--Visual Studio Code. 虽然相比于老大哥Visual Studio,VS Code有很多功能不完善,但它也更灵活轻便。并且VS Code还在不断 ......

  visual studio确实是相当好用,各种简化操作什么的简直不要太舒服。但其容量太大,有时不是很方便,所以今天简单介绍一下另一个工具--visual studio code.

虽然相比于老大哥visual studio,vs code有很多功能不完善,但它也更灵活轻便。并且vs code还在不断的更新当中,目前的最新版本是18年11月更新的1.30版本,包含了 多行搜索改进 等内容。

下面以.net开发为例:

不同于visual studio,在vs code上进行.net开发你需要安装一些插件,点击左侧边栏箭头这个位置搜索

visual studio code .net 开发

 

安装插件 c# (c# for visual studio code (powered by omnisharp)) (必须)

    lightweight development tools for .net core.
    1. great c# editing support, including syntax highlighting, intellisense, go to definition, find
    all references, etc.
    debugging support for .net core (coreclr). note: mono debugging is not supported. desktop clr debugging has limited support.
    support for project.json and csproj projects on windows, macos and linux.

安装插件 nuget package manager (推荐,方便搜索,安装nuget包) (推荐)

    search the nuget package repository for packages using either (partial or full) package name or another search term.
    add packagereference dependencies to your .net core 1.1+ .csproj or .fsproj files from visual studio code's command palette.
    remove installed packages from your project's .csproj or .fsproj files via visual studio code's command palette.
    handles workspaces with multiple .csproj or .fsproj files as well as workspaces with single .csproj/.fsproj files.
      1. for example:

 

    1. ctrl + p then shift + > choose "nuget package manager: add package". then input the keyword about the nuget package. finally, choose the project you want to add the nuget package.

vscode 安装插件后一般需要重新激活以启用插件。由于vscode本身不断更新,对于某些版本的vscode可能需要重启应用,才能激活插件。
在vscode中运行调试前,需要在.vscode路径下额外配置两个文件 launch.json tasks.json, 来告诉vscode如何启动项目。
launch.json:

{
   // use intellisense to find out which attributes exist for c# debugging
   // use hover for the description of the existing attributes
   // for further information visit https://github.com/omnisharp/omnisharp-vscode/blob/master/debugger-launchjson.md
   "version": "0.2.0",
   "configurations": [
        {
            "name": ".net core launch (web)",
            "type": "coreclr",
            "request": "launch",
            "prelaunchtask": "build",
            // if you have changed target frameworks, make sure to update the program path.
            "program": "${workspaceroot}/myabp.web/bin/debug/netcoreapp2.1/myabp.web.dll",
            "args": [],
            "cwd": "${workspaceroot}/myabp.web",
            "stopatentry": false,
            "internalconsoleoptions": "openonsessionstart",
            "launchbrowser": {
                "enabled": true,
                "args": "${auto-detect-url}",
                "windows": {
                    "command": "cmd.exe",
                    "args": "/c start ${auto-detect-url}"
                },
                "osx": {
                    "command": "open"
                },
                "linux": {
                    "command": "xdg-open"
                }
            },
            "env": {
                "aspnetcore_environment": "development"
            },
            "sourcefilemap": {
                "/views": "${workspaceroot}/views"
            }
        },
        {
            "name": ".net core attach",
            "type": "coreclr",
            "request": "attach",
            "processid": "${command:pickprocess}"
        }
    ]
}

如果你第一次运行某个项目,你需要确保所有引用的内容都存在,如上面的myabp.web.dll文件.另外,这些配置不是固定不变的,你可以根据你的需要来进行不同的配置。

如上面

"prelaunchtask": "build" 指定了你的项目在launch之前要先进行build操作。

又如
"env": {
                "aspnetcore_environment": "development"
            }
指定了你要在“哪个环境”下启动你的项目。(实际上一个项目会有多种环境的配置,举个例子 appsetings.development.json 和 appseting.qa.json用于区分不同环境的配置,如果发现在qa环境出现了问题本地不能重现时,自然需要切换到目标环境来进行调试)


tasks.json:

{
    "version": "0.1.0",
    "command": "dotnet",
    "isshellcommand": true,
    "args": [],
    "tasks": [
        {
            "taskname": "build",
            "args": [
                "${workspaceroot}/myabp.web/myabp.web.csproj"
            ],
            "isbuildcommand": true,
            "problemmatcher": "$mscompile"
        }
    ]
}

这里可以配置一下task,如上面的

"prelaunchtask": "build" 具体的任务流程即在这里配置。

这里除去笔者使用的web项目的配置外,当然还可以有多种其他项目应用的配置,如

 

visual studio code .net 开发

 

这些配置完成之后,点击如图所示这个位置进入调试面板,然后点击上面的绿色三角就可以开始你的调试啦

visual studio code .net 开发

 

/ **************************************************分割线*************************************************************/

vscode下常用dotnet命令
dotnet所使用的命令都可以使用 --help的方式来查看更详细的用法。
如dotnet --help
在项目开发过程中,常用的命令有

dotnet new
用于新建内容,dotnet提供了许多模板,如console application, class library等等。
使用dotnet new时需要注意新建的项目是基于.net framework还是基于.netcore.
可以使用 -f 来指定.

dotnet restore

主要是寻找当前目录下的项目文件(project.json),然后利用nuget库还原整个项目的依赖库,然后遍历每个目录,生成项目文件,继续还原该项目文件中的依赖项 --csdn yangzhenping

以下命令不解释了,可以使用 --help 查看具体用法

dotnet build
dotnet run
dotnet publish