VSCode lunch.json和task.json记录

task.json

{

    "version": "2.0.0",

    "tasks": [

        {

            "label": "build",

            "command": "dotnet",

            "type": "process",

            "args": [

                "build",

                "${workspaceFolder}/CsharpTest/CsharpTest.csproj",

                "/property:GenerateFullPaths=true",

                "/consoleloggerparameters:NoSummary"

            ],

            "problemMatcher": "$msCompile"

        },

        {

            "label": "publish",

            "command": "dotnet",

            "type": "process",

            "args": [

                "publish",

                "${workspaceFolder}/CsharpTest/CsharpTest.csproj",

                "/property:GenerateFullPaths=true",

                "/consoleloggerparameters:NoSummary"

            ],

            "problemMatcher": "$msCompile"

        },

        {

            "label": "watch",

            "command": "dotnet",

            "type": "process",

            "args": [

                "watch",

                "run",

                "${workspaceFolder}/CsharpTest/CsharpTest.csproj",

                "/property:GenerateFullPaths=true",

                "/consoleloggerparameters:NoSummary"

            ],

            "problemMatcher": "$msCompile"

        }

    ]

}

1、配置task.json属性

label:在用户界面上展示的Task标签

        type:Task的类型,分为shell和process两种

                shell:作为Shell命令运行

                process:作为一个进程运行

        command:真正执行的命令

        windows:Windows中的特定属性。相应的属性会在Windows中覆盖默认的属性定义。

        group:定义Task属于哪一组

       options:定义cwd(当前工作目录)、env(环境变量)和shell的值

        runOptions:定义Task何时运行及如何运行。

reevaluateOnRerun:在执行Rerun Last Task命令时,控制是否重新计算变量

        runOn:指定何时运行Task

                default:只有在运行RunTask命令时,才会触发运行

                foderOpen:当包含这个tasks.json文件夹被打开时,便会触发运行

        presentation:定义用户界面如何处理Task的输出;输出行为包含如下:

reveal:控制集成终端是否显示

                always:集成终端总是会在Task启动时显示

                never:集成终端不会主动显示

                silent:当输出不是错误和警告时,集成终端才会显示

        focus:控制集成终端在显示时是否取得焦点

        echo:控制被执行的命令是否在集成终端中输出

        showReuseMessage:控制是否显示显示“Terminal will be reused by tasks,press any key to close it”提示信息

        panel:控制不同的Task在运行时是否共享同一个集成终端

                shared:共享集成终端

                dedicated:Task会有一个专用的集成终端

                new:每次运行的Task都会创建一个新的集成终端

        clear:控制Task在运行前,是否清除集成终端的输出

        group:控制Task是否在同一个集成终端中运行



launch.json文件

下面这个例子的launch.json文件包含两个部分,一个用于配置启动launch调试,另一个用于配置附加attatch调试。

{

  "version": "0.2.0",

  "configurations": [

        {

            "name": ".NET Core Launch (console)",

            "type": "coreclr",

            "request": "launch",

            "preLaunchTask": "build",

            "program": "${workspaceFolder}/bin/Debug/netcoreapp3.1/vscode_test6.dll",

            "args": [],

            "cwd": "${workspaceFolder}",

            "console": "internalConsole",

            "stopAtEntry": false

        },

        {

            "name": ".NET Core Attach",

            "type": "coreclr",

            "request": "attach",

            "processId": "${command:pickProcess}"

        }

    ]

}

1、配置launch.json属性

        type:调试器的类型

        request:调试的模式

                launch:启动程序并调试

                attach:将程序附加到一个正在运行的进程中进行调试

        name:调试配置的名字

        presentation:使用order、group和hidden属性来定义调试配置的显示

        preLunchTask:定义在调试之前要运行的任务

        postDebugTask:定义在调试结束时要运行的任务

        internalConsoleOptions:定义调试控制台的显示

        serverReadyAction:设置在调试时自动在浏览器中打开URL, "serverReadyAction": { "action": "openExternally", "pattern": "^\\s*Now listening on:\\s+(https?://\\S+)" }

        program:要运行的可执行文件或源代码的路径,此属性的格式通常为:“${workspaceFolder}/bin/Debug//<project-name.dll>",<target framework>是正在为其生成调试项目的框架。这通常在项目.csproj文件中作为“TargetFramework”属性找到。<project-name.dll>调试项目的生成输出dll的名称。这通常与项目文件名相同,多一个.dll的文件扩展名。

        args:要传递给program的参数

        env:环境变量,可以使用此架构将环境变量传递给程序  "env": { "myVariableName":"theValueGoesHere"}

        cwd:调试器的工作目录

        port:要附加到的进程的端口

        stopOnEntry:是否在程序入口进行断点

        console:指定程序输出的位置

                internalConsole:Visual Studio Code的调试控制台

                integratedTerminal:Visual Studio Code的集成终端

                externalTerminal:系统的终端

2、变量替换

       ${workspaceRoot}  VSCode中打开文件夹的路径

       ${workspaceRootFolderName} VSCode中打开文件夹的路径, 但不包含"/"

       ${workspaceFolder}:在Visual Studio Code中打开的文件夹的完整路径

        ${workspaceFolderBasename}:在Visual Studio Code中打开的文件夹名

        ${file}:当前打开的文件的完整路径

        ${relativeFile}:当前打开的文件的相对workspaceFolder路径

        ${relativeFileDirname}:当前打开的文件的文件夹的相对workspaceFolder路径

        ${fileBasenameNoExtension}:当前打开的文件的文件名,不包含扩展名

        ${fileDirname}:当前打开的文件的文件夹的完整路径

        ${fileExtname}:当前打开的文件的扩展名

        ${cwd}:Task启动时的工作目录

        ${lineNumber}:当前光标的所在的行号

        ${selectedText}:当前打开的文件中选中的文本

        ${execPath}:Visual Studio Code可知行文件的完整路径

        ${defaultBuildTask}:默认的Build Task的名字

        ${env:Name}:引用环境变量

        ${config:Name}:可以引用Visual Studio Code的设置项

        ${input:variableID}:传入输入变量

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351

推荐阅读更多精彩内容