2017-08-14 102 views
1

我有一個工作區,我用它來編寫實踐概念的小型測試程序。因此,在VS Code中,我爲文件夾中的每個文件都有一個構建任務。在Visual Studio代碼中構建當前打開的文件

默認情況下,VS代碼使用"isDefault": true,標誌構建任務。理想情況下,我想找出一種方法讓我構建當前打開的文件,這樣當我切換正在編輯的文件時,我不需要手動將標誌重置爲要使用的構建任務。

據我所知,VS Code Tasks Documentation沒有提供解決方案。必須有一種方法可以在不手動調整標誌的情況下完成此操作。任何幫助表示讚賞。

回答

1

要在羅伯的答案構建,你還可以設置一個快捷鍵組合通過增加keybindings.json,如觸發各個任務

{ 
    "key": "ctrl+h", 
    "command": "workbench.action.tasks.runTask", 
    "args": "Run tests" 
} 

其中將args組件替換爲任務名稱。

您可以結合使用${file}tasks.json來區分不同的構建類型。

例如命中蟒蛇按Ctrl + H^按Ctrl ++ H^ TSC

4

您可以使用${file}通配符將當前文件傳遞到您的構建程序/腳本。

有在文檔中給出了TS的例子:https://code.visualstudio.com/Docs/editor/tasks#_operating-system-specific-properties

{ 
    // See https://go.microsoft.com/fwlink/?LinkId=733558 
    // for the documentation about the tasks.json format 
    "version": "2.0.0", 
    "presentation": { 
     "panel": "new" 
    }, 
    "tasks": [ 
     { 
      "taskName": "TS - Compile current file", 
      "type": "shell", 
      "command": "tsc ${file}", 
      "problemMatcher": [ 
       "$tsc" 
      ] 
     } 
    ] 
} 
+0

感謝你爲這個,@RobLourens。我感謝您花時間幫助。但是,只有在給定工作區中要使用的所有文件都能夠以相同方式編譯時(例如,Python腳本),此方法纔有效。有沒有辦法讓它爲那些工作? – ifconfig

+1

順便說一句,現在你提到它了,'$ {relativeFile}'更相關,因爲編譯器是從工作空間目錄運行的。 – ifconfig

+0

在這種情況下,您應該編寫自己的腳本,該腳本能夠檢查文件的類型,然後調用正確的編譯器。你的任務可以調用腳本並簡單地傳遞文件路徑。但是任務本身不具備條件邏輯的能力。 –

相關問題