2017-07-13 1 views
2

J'essaye d'obtenir la nouvelle méthode registerTaskProvider dans l'API de tâche VSCode fonctionnant dans mon extension, et j'ai été incapable de faire ce travail jusqu'ici. J'ai utilisé l'extension npm comme base. Voici les étapes que j'ai suivi:Comment obtenir la méthode provideTasks de registerTaskProvider fonctionnant

  1. occasion yo pour créer une nouvelle extension
  2. Mise à jour package.json pour inclure une nouvelle activationEvent onCommand:workbench.action.tasks.runTask
  3. Mise à jour package.json pour inclure des sections configuration et taskDefinitions dans la contributes section
  4. Ajouté le code suivant au fichier extension.ts

NOTE: Je réalise que le code lié ne fournira pas réellement de tâches supplémentaires, j'utilise simplement ce code comme base de test. Maintenant, lorsque j'essaie de déboguer l'extension, la méthode provideTasks n'est jamais invoquée. Qu'est-ce que je rate?

En outre, la seule méthode d'appel de la méthode activate est lorsque j'appelle la commande Hello World. Cependant, je n'ai peut-être pas de commande associée à l'extension. Comment puis-je forcer l'activation de l'extension?

Y at-il une documentation supplémentaire sur la façon de commencer avec l'API registerTaskProvider?

J'ai ajouté un exemple de référentiel qui a le current work to date.

Répondre

1

Il s'avère qu'il s'agissait d'un cas de PEBKAC. Après une discussion sur Twitter avec Erich Gamma, il m'a montré que la méthode provideTasks n'est consultée que lorsque vous commencez à exécuter une tâche. Comme on le voit ici:

https://twitter.com/ErichGamma/status/885823516293177346

J'avais supposé que la méthode provideTasks serait consulté sur l'activation de l'extension.