我正在尝试编写一个VS扩展来提供markdown中的补全提供程序,但是按照微软的this repo示例,当我将语言从“纯文本”切换到“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)
);
}发布于 2020-02-15 06:01:39
好吧,Matt Bierner在上面的评论是正确的。
editor.quickSuggestions是false,因为我在一个标记文件中。
我能够使用editor.action.triggerSuggest键绑定(默认的ctrl+space)触发建议。
如果有人想知道,下面是如何在settings.json中覆盖标记的默认值
"[markdown]": {
"editor.quickSuggestions": true
},https://stackoverflow.com/questions/60221762
复制相似问题