You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code新开发扩展无补全提示问题求助

VS Code补全扩展不显示建议的排查与解决

你开发的VS Code输入自动补全扩展,调试时控制台能输出正确的转写结果,但激活扩展时补全提示tooltip不显示建议,需求是将转写结果显示在补全建议中,选中后替换原输入词汇。结合你提供的代码,以下是几个关键排查点和解决方法:

关键问题分析与修复

1. 补全项未设置替换范围(range)

你的CompletionItem缺少range属性,VS Code需要明确知道补全项要替换文档中的哪一段文本。默认的单词匹配逻辑可能无法正确识别你要替换的searchText范围,导致补全提示不显示。

修改代码,添加范围计算:

/**
 *  Input auto-completion provider
 */
class InputAutoCompletionProvider {
  // eslint-disable-next-line class-methods-use-this
  provideCompletionItems(document, position) {
    const lineAt = document.lineAt(position);
    const lineText = document.getText(lineAt.range);

    const searchText = getSearchText(lineText, position);
    // 计算要替换的文本范围
    const startPos = new vscode.Position(position.line, position.character - searchText.length);
    const replaceRange = new vscode.Range(startPos, position);

    const items = [];
    const item = new vscode.CompletionItem(kh2dev(searchText));
    item.sortText = String(0);
    // 设置替换范围
    item.range = replaceRange;
    // 可选:设置补全项类型,提升显示效果
    item.kind = vscode.CompletionItemKind.Text;
    console.log(item);
    items.push(item);

    return items;
  }
}

module.exports = InputAutoCompletionProvider;

2. 验证getSearchText函数的准确性

确保getSearchText能正确提取光标位置前需要转写的文本片段。如果该函数返回空字符串或错误的文本范围,补全项会因为没有可替换的目标而无法显示。可以在控制台打印searchText和对应的位置参数,确认提取逻辑符合预期。

3. 检查Provider的注册逻辑

确认扩展激活时正确注册了补全Provider,并且指定了正确的文档选择器(documentSelector),确保Provider能在目标文件类型中被触发:

// 示例注册代码(需在扩展激活函数中添加)
function activate(context) {
  const provider = new InputAutoCompletionProvider();
  const disposable = vscode.languages.registerCompletionItemProvider(
    { scheme: 'file', language: '*' }, // 替换为你需要支持的语言,比如'plaintext'
    provider
    // 可选:添加触发字符,比如[' ', '-'],当输入这些字符时触发补全
  );
  context.subscriptions.push(disposable);
}

4. 补充补全项的增强属性(可选)

设置detail或documentation属性可以让补全提示更清晰,帮助用户理解转写结果:

item.detail = '京都-哈佛转写';
item.documentation = new vscode.MarkdownString(`转写结果:**${kh2dev(searchText)}**`);

内容的提问来源于stack exchange,提问作者Echchama Nayak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 11:37:47