Я пытаюсь написать расширение VS Code для предоставления поставщика завершения в уценке, но, следуя примеру от Microsoft из этого репозитория Кажется, что я не могу заставить работать что-то, когда я переключаю язык с От 'открытого текста' до 'markdown'.
С помощью следующего кода, с моим расширением, работающим в режиме отладки, в .txt
файле, набрав "h", будут выдвигаться предложения о завершении, но он не будет запускать завершения когда в файле .md
.
Я делаю здесь какую-то глупую ошибку?
import * as vscode from 'vscode';
export function activate(context: vscode.ExtensionContext) {
console.log('activate');
let _provideCompletionItems = {
provideCompletionItems(
document: vscode.TextDocument,
position: vscode.Position,
token: vscode.CancellationToken,
context: vscode.CompletionContext
) {
console.log('provide');
const c = new vscode.CompletionItem('Hello World!');
return [c];
},
};
context.subscriptions.push(
vscode.languages.registerCompletionItemProvider('plaintext', _provideCompletionItems)
);
context.subscriptions.push(
vscode.languages.registerCompletionItemProvider('markdown', _provideCompletionItems)
);
const md = { scheme: 'file', language: 'markdown' };
context.subscriptions.push(
vscode.languages.registerCompletionItemProvider(md, _provideCompletionItems)
);
}