【问题标题】:Task command using wildcards in arg in Visual Studio Code在 Visual Studio Code 中使用 arg 中的通配符的任务命令
【发布时间】:2016-02-15 09:00:19
【问题描述】:

我在 OS X Yosemite 上使用 Visual Studio Code 0.9.2 来编辑 .java 文件。

我尝试使用以下 tasks.json 文件编译此文件:

{
    "version": "0.1.0",
    "command": "javac",
    "isShellCommand": true,
    "echoCommand": true,
    "showOutput": "always",
    "args": ["-d","${workspaceRoot}\/target","${workspaceRoot}\/src\/*.java"]
}

执行此任务会将以下命令回显到“输出”窗口:

running command$ javac -d /Users/caoimheboers/Desktop/JLab11/target
/Users/caoimheboers/Desktop/JLab11/src/*.java

...这很好,但是任务执行的结果随后报告为:

javac: file not found: /Users/caoimheboers/Desktop/JLab11/src/*.java
Usage: javac <options> <source files>
use -help for a list of possible options

我尝试了以下方法:

  1. 从输出窗口复制回显的 javac 命令(包括所有参数)并将其粘贴到终端窗口的命令行中。 结果:/src 文件夹中的单个 .java 文件编译,并且 .class 文件出现在 /target 文件夹中。 这表明在tasks.json文件中javac命令(包括所有参数)的语法是正确的。

  2. 在 tasks.json 文件中,将通配符替换为 /src 文件夹中单个 .java 文件的名称。 结果:VS Code 任务完美运行,并在 /target 文件夹中生成一个 .class 文件。 这表明 tasks.jason 文件中有关该命令的所有内容都正常,但通配符除外。

关于我做错了什么有什么想法吗?

【问题讨论】:

    标签: macos javac visual-studio-code


    【解决方案1】:

    我也经历过,这显然是一个错误。目前有一个新的终端运行程序可以修复此错误。尝试将任务 JSON 架构更改为新的 2.0.0 版本,重新加载窗口,一切都会好起来的:

    {
        "version": "2.0.0",
        "command": "javac",
        "isShellCommand": true,
        "echoCommand": true,
        "showOutput": "always",
        "args": ["-d","${workspaceRoot}/target","${workspaceRoot}/src/*.java"]
    }
    

    相关问题在这里: https://github.com/Microsoft/vscode/issues/16865

    顺便说一句,斜线字符不需要转义。

    【讨论】:

      猜你喜欢
      • 2015-10-20
      • 1970-01-01
      • 2016-05-21
      • 1970-01-01
      • 2018-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-04
      相关资源
      最近更新 更多