标签: vscode-tasks

如何在Visual Studio代码中跳转到构建错误?

我在Linux上使用Visual Studio Code(版本1.8.1).当出现构建错误并单击包含错误的行时,它不会跳转到代码中的相应行.有没有办法使Visual Studio代码的行为与标准Visual Studio相同?

visual-studio-code vscode-tasks

10
推荐指数
2
解决办法
4980
查看次数

运行各种节点命令的 VSCode 任务

我有一个 monorepo,我希望在其中创建一个脚本以在本地启动特定项目。

该项目是完全Node.js基于。

为了在本地设置此项目进行开发,我需要按以下顺序运行以下命令:

  1. 启动 docker 镜像

    • cd docker/dockerForTests
    • docker-compose up -d
  2. 启动 Web Auth 服务器

    • cd src/project/webAuthentication
    • setenvs projectAuthentication && npm start
  3. 启动 API

    • cd src/project/api
    • setenvs projectAPI && npm start
  4. 启动网络客户端

    • cd src/project/web
    • setenvs projectWeb && npm start

为了便于使用,我通常在 VSCode 内的新终端窗口中启动每个部分。

为了自动化这个过程,我发现了 VSCode 任务。

虽然看起来它们是为“构建”或“观察”任务而设计的,但我认为我可以修改行为来为我运行上述命令。

这是我的尝试:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "runner": "terminal",
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Start Docker",
            "dependsOrder": "sequence",
            "type": "shell",
            "command": "cd docker/dockerForTests && …
Run Code Online (Sandbox Code Playgroud)

node.js docker visual-studio-code vscode-settings vscode-tasks

10
推荐指数
1
解决办法
414
查看次数

如何更改VSCode的.Net Core 2调试器端口

我正在使用Visual Studio Code(VSCode)来编写.Net Core 2.0App,并希望使用VSCode调试器.我创建了一个launch.json,它与我的前端代码一起工作,但我也想调试.Net代码.但是我的主要问题是我没有使用默认端口(5000我相信它是默认的).那么我怎样才能更改端口?

json { "version": "0.2.0", "configurations": [ { "name": ".NET Core Launch (Management.Core)", "type": "coreclr", "request": "launch", "preLaunchTask": ".Net Build (all)", "program": "${workspaceRoot}/Management.Core/bin/Debug/netcoreapp2.0/Management.Core.dll", "args": [], "cwd": "${workspaceRoot}/CpaManagement.Core", "stopAtEntry": false, "console": "internalConsole" }, 我试图添加一个,port: 12345但这不是一个可接受的属性.我也尝试添加,args: ['-- port=12345']但也没有用.

我的.Net Core App launchSettings.json如下配置: json { "iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { "applicationUrl": "http://localhost:8888/", "sslPort": 45678 } }, "profiles": { "IIS Express": { "commandName": "IISExpress", "launchBrowser": true, …

visual-studio-code asp.net-core-2.0 vscode-tasks

9
推荐指数
1
解决办法
2508
查看次数

如何在构建中运行VS Code中的多个任务?

使用tasks.json版本2.0.0,我无法做到这一点,当我构建我的应用程序时,多个任务同时运行.我正在使用gulp进行SCSS编译,并且运行我自己的Compile/minify cms.scss任务工作正常,所以这不是任务本身的问题,只是VS Code的任务运行器.当我Run Build Task在VS Code中时,我的gulp任务没有被运行,即使它有"group": "build"- 只有dotnet一个是.

tasks.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "command": "dotnet",
            "type": "process",
            "args": [
                "build",
                "${workspaceFolder}/HpsCoreWeb.csproj"
            ],
            "problemMatcher": "$msCompile",
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "label": "Compile/minify cms.scss",
            "type": "gulp",
            "task": "cms.scss:cms.min.css",
            "problemMatcher": "$node-sass",
            "group": "build"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

根据VS Code Tasks文档:

group:定义任务所属的组.在该示例中,它属于该test组.可以通过从命令选项板运行"运行测试任务"来执行属于测试组的任务.

dotnet build任务成功,所以应该不是其他的任务,这也是一部分 …

visual-studio-code vscode-tasks

9
推荐指数
2
解决办法
6826
查看次数

有没有办法以编程方式获取 vscode 任务的输出作为 vscode 扩展

我正在写一个 vscode 扩展。我创建了一个 TaskProvider 并注册了一些任务来在启动调试之前完成一些工作。

    const task = new vscode.Task(
      taskDefinition,
      scope,
      name,
      source,
      new vscode.ShellExecution("run some external command", options),
      problemMatchers
    );
Run Code Online (Sandbox Code Playgroud)

我可以注册一个onDidEndTaskProcess处理程序以在任务进程退出时获取退出代码。

extensionContext.subscriptions.push(vscode.tasks.onDidEndTaskProcess(onDidEndTaskProcessHandler))
Run Code Online (Sandbox Code Playgroud)

但从vscode文档来看,vscode.TaskProcessEndEvent只有一个exitCode而没有其他详细信息。

我想获取该过程的 Error 对象和标准错误。有什么办法可以做到这一点吗?

或者还有其他更好的方法来确定任务失败的原因吗?

visual-studio-code vscode-extensions vscode-tasks

9
推荐指数
0
解决办法
629
查看次数

VS Code 用户tasks.json

我在 VS Code 中有一些自定义任务,我想在多个项目中共享它们。这些任务当前安装在$PROJECT_DIR/.vscode/tasks.json.

我应该将任务文件放在哪里,以便 VS Code 为所有项目加载它(我正在考虑类似于用户与工作空间设置的内容)?

我已经尝试过~/.vscode/tasks.json(我不确定这是否是 VS Code 使用的位置,或者它是否是我很久以前创建的位置)以及$HOME/Library/Application \Support/Code/User/tasks.json(这是存储自定义等的位置)settings.jsonkeybindings.json这两个位置都不起作用。

目前,我似乎只能在每个工作区而不是全局定义自定义任务。我在官方文档中看不到任何内容。欢迎任何指点吗?

visual-studio-code vscode-tasks

8
推荐指数
2
解决办法
3894
查看次数

VSCode:作为任务的一部分打开新终端?

Visual Studio Code 刚刚更新为允许运行任务并在拆分终端中打开它们。这很棒,但是我正在寻找另一件事来使其完美。

我希望能够通过任务总共打开 3 个终端。一个用于我的 NPM 构建,一个用于我的后端 MAVEN 构建,第三个只是一个空白的新终端,我可以在需要时用于 git 命令。

我似乎无法找到一种方法来告诉 VSC 运行一个任务,该任务只是打开一个准备使用的新终端而不提供命令。我什至会给它一个简单的命令,比如“node -v”来启动它,只要该面板在之后仍然可用。现在它想在运行后关闭它。

这是我的任务设置:我有一个任务设置作为依赖于另外两个的构建任务。我设想在只打开新终端的情况下添加第三个:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Run Maven and NPM",
      "dependsOn": [ "maven", "npm" ],
      "group": {
        "kind": "build",
        "isDefault": true,
      },
    },
    {
      "label": "maven",
      "command": "...",
      "type": "shell",
      "presentation": {
        "reveal": "always",
        "group": "build"
      },
      "options": {
        "cwd": "${workspaceRoot}/server"
      }
    },
    {
      "label": "npm",
      "type": "shell",
      "command": "ng serve --port 4203 --proxy-config proxy.conf.json",
      "presentation": {
        "reveal": "always",
        "group": "build" …
Run Code Online (Sandbox Code Playgroud)

visual-studio-code vscode-tasks

8
推荐指数
1
解决办法
1906
查看次数

Launch.json:如何引用环境变量

为了在一个地方定义我的环境变量,配置了一个运行 shell 脚本的任务。任务preLaunchTask在我的launch.json.

在我的 launch.json 中,我现在尝试引用我在脚本中配置的环境变量(如export AWS_REGION="eu-west-1")。

launch.json 如下所示:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch",
            //..
            "env": {
                //"AWS_REGION": "us-east-1",        //works
                "AWS_REGION": "${env:AWS_REGION}",  //doesn't work, why?
            },
            "args": [],
            "preLaunchTask": "setupEnv",
        }
    ] }
Run Code Online (Sandbox Code Playgroud)

visual-studio-code vscode-settings vscode-tasks

8
推荐指数
2
解决办法
1891
查看次数

如何在 vscode 中访问tasks.json 中的.env 变量?

我正在尝试tasks.jsonvscode.

在我的launch.json文件中,我有以下代码来解析 .env 文件:

"configurations": [
  {
    ...
    "envFile": "${workspaceFolder}/.env",
  }
]
Run Code Online (Sandbox Code Playgroud)

然后我在文件中包含tasks.json此任务:

{
  "label": "login",
  "command": "sh",
  "type": "shell",
  "args": [
    "${workspaceFolder}/etc/login.sh",
    "${env:USERNAME}",
    "${env:PASSWORD}"
  ]
}
Run Code Online (Sandbox Code Playgroud)

这似乎是https://code.visualstudio.com/docs/editor/tasks隐含的代码,但是(通过在另一个任务中回显进行测试)我发现最后两个args是空白的。经过在线研究后,我想我找到了原因,它们configurations..env是由它们tasks自己使用的,而不是由task.json运行访问的,因此无法访问。

我如何env variables在 中创建(使用)这些tasks.json

c# environment-variables visual-studio-code vscode-tasks

8
推荐指数
1
解决办法
5679
查看次数

将nox模拟器连接到vs code

我想将Nox android模拟器连接到VS Code以通过flutter开发Android应用程序

在运行 VS Code 之前,adb devices 命令显示包含 nox 的已连接设备列表,但是当我运行 VS Code 然后键入 adb devices 时,结果是:守护进程未运行。现在在端口 5037 上启动它。守护进程已成功启动。

如果我重新运行命令: adb 服务器 (41) 与此客户端 (36) 不匹配;杀戮。守护进程成功启动。

有什么想法可以将 nox 连接到 vscode 吗?

android-emulator dart visual-studio-code flutter vscode-tasks

8
推荐指数
2
解决办法
1万
查看次数