2015-05-05 10 views
16

VS Code consente di definire più attività nell'array ["tasks"] in tasks.json e quello con la proprietà isBuildCommand: true viene assegnata la scorciatoia da tastiera Ctrl + Shift + B per impostazione predefinita.È possibile assegnare scorciatoie diverse a compiti diversi in VS Code?

Vorrei assegnare diverse scorciatoie da tastiera a ciascuna delle attività che ho creato. È possibile, e se sì, come?

Tutto quello che ho trovato finora è la possibilità di assegnare un collegamento al comando "workbench.action.tasks.runTask" che aprirà un menu di tutte le attività in ordine alfabetico che posso su/giù freccia attraverso . Vorrei configurare il codice per eseguire ogni attività direttamente con una combinazione di tasti.

+2

https://dlaa.me/blog/post/vscodenodetask aveva un bell'esempio di un file 'tasks.json'. –

risposta

7

Sì, c'è un'altra proprietà che può essere utilizzata per associare una scorciatoia. Il suo nome è isTestCommand. Se impostato su true, associa Ctrl + Shift + T all'attività. Abbiamo un elemento di lavoro interno per consentire di associare scorciatoie arbitrarie alle attività.

+1

Non ancora implementato, ma esiste [problema] (https://github.com/Microsoft/vscode/issues/6550) (milestone luglio 2016). Quindi spero che sarà disponibile a luglio. – psulek

+0

È necessario aggiungere questo a keybindings.json: [ {"chiave": "ctrl + maiusc + t", "comando": "workbench.action.tasks.test"} ] –

5

Ho appena presentato un PR per questo: https://github.com/Microsoft/vscode/pull/10676

Quindi una volta che è fusa si avrà la possibilità di assegnare qualsiasi compito ad una scorciatoia da tastiera.

+0

È stato aggiunto ancora? Quando digito 'commandBinding' nel mio' task.json' ottengo il messaggio che non è permesso. –

15

A partire dal VS Code 1.10, è possibile utilizzare il comando workbench.action.tasks.runTask nelle associazioni di tasti e passare il nome dell'attività come argomento.

Il VS Code task documentation dà questo esempio:

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

(solo per aggiungere: questo appartiene a 'keybindings.json', non' tasks.json', "args" actuall riflette il tuo '" taskName "' in 'tasks.json' e con mia sorpresa positiva: gli spazi non sono un problema , cioè "" args ":" Esegui esempio "funziona anche bene.) –

0

Come di VSCode 1.19 (Feb 2018):

In /myproject/.vscode/tasks.json è necessario aggiungere un label (in precedenza, ora deprecato: taskName) al NPM compito. ho chiamato il mio lo stesso come il mio package.json script:

{ 
     "label": "ui", 
     "type": "npm", 
     "script": "ui" 
    } 

Poi si fa riferimento a tale compito dalla sua etichetta nel vostro keybindings utente/home/johndoe/.config/Code/User/keybindings.json:

{"key": "ctrl+r", 
    "command": "workbench.action.tasks.runTask", 
    "args": "ui" 
}, 

Nel caso in cui si chiedeva: No, ci sono nessuna codifica a livello di progetto in vscode. (Reasons here)

Problemi correlati