2015-11-13 52 views
7

我在OS X Yosemite上使用Visual Studio Code 0.9.2編輯.java文件。在Visual Studio中使用arg中的通配符的任務命令代碼

我嘗試使用以下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代碼任務完美運行,並在/ target文件夾中生成一個.class文件。 這表示除了通配符之外,有關tasks.jason文件中的命令的所有內容均爲OK。

關於我在做什麼的錯誤?

回答

0

我也經歷過它,它顯然是一個錯誤。目前有一個新的終端運行者修復了這個錯誤。嘗試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

你不需要逃脫斜槓字符的方式。

相關問題