有没有一种方法可以在Visual Studio代码中不使用键绑定(Ctrl+Space)的情况下在引号中启用intell



我想为Visual Studio代码开发一个扩展。我已经为typescript注册了一个CompletionItemProvider,当我试图用引号写作时,自动完成是不起作用的。例如,我有这样的代码:

function buildProvider(language : vscode.DocumentSelector, label : string, text : string | vscode.CompletionItemLabel){
return vscode.languages.registerCompletionItemProvider('typescript', {
provideCompletionItems(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken, context: vscode.CompletionContext) {
const simpleCompletion = new vscode.CompletionItem('', vscode.CompletionItemKind.Text);
simpleCompletion.label = label;
simpleCompletion.insertText = text.toString();
return [
simpleCompletion,
];
}
});

}

如果我用打字稿写自动完成工作:

自动完成工程

如果我用引号写,如果不使用Ctrl+Space,它就不起作用。

自动完成不起作用

我可以做些什么来启用引号中的自动补全?

这种行为在字符串中不起作用,可能是设置的结果:

CCD_ 1。

试着这样设置:

"editor.quickSuggestions": {
"other": true,
"comments": false,
"strings": true                 // this is the key setting, default is false3
}

这将为您或任何具有相同"strings": true设置的人修复它。

你可以在`package.json中的扩展中更改用户的默认设置,注意他们可能不喜欢你更改他们的设置!!:

> #### Configuration Defaults Overrides
> 
> 
> You can now override defaults of other registered configurations
> through `configurationDefaults` contribution point in `package.json`.
> For example, the following snippet overrides the default behavior of
> `files.autoSave` setting to auto save files on focus change.
```jsonc
"contributes": {
"configurationDefaults": {                 // applies to all languages
"files.autoSave": "onFocusChange"
}
}

注意:应用程序或计算机作用域的配置不能被覆盖。

  • 来源https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_63.md#configuration-默认替代

最新更新