Я пытаюсь создать расширение VSCode. Это расширение предоставляет две команды, независимо от их реализации:
export function activate(context: ExtensionContext) {
const provider = new ContentProvider();
const providerRegistrations = Disposable.from(
workspace.registerTextDocumentContentProvider(ContentProvider.scheme, provider)
);
// Open the dynamic document, and shows it in the next editor
const openMyExtensionCommandRegistration = commands.registerTextEditorCommand('extension.openMyExtension', editor => {
// Activate the extension and do something
});
const useMyExtensionCommandRegistration = commands.registerTextEditorCommand('extension.useMyExtension', editor => {
// Do something
});
context.subscriptions.push(
provider,
openMyExtensionCommandRegistration,
useMyExtensionCommandRegistration,
providerRegistrations
);
}
И это часть моего файла package.json
:
"activationEvents": [
"onCommand:extension.openMyExtension"
],
"main": "./out/extension",
"contributes": {
"commands": [
{
"command": "extension.openMyExtension",
"title": "Open my extension",
"category": "MyExtension"
},
{
"command": "extension.useMyExtension",
"title": "Do something with my extension",
"category": "MyExtension"
}
],
Первая команда, которая должна активировать мое расширение, работает. Он появляется в палитре команд и фактически выполняет то, что он должен делать при вызове.
Вторая команда, однако, несмотря на появление в палитре команд, вызывает следующее сообщение об ошибке при вызове:
command 'extension.useMyExtension' not found
Мне показалось странным, что моя первая команда работает нормально, но не вторая, так как код очень похож. Любые идеи почему?
Обратите внимание, что я, очевидно, изменил имена переменных, я дважды проверял наличие опечаток в реальном коде.