繁体   English   中英

为什么 CompletionItemProvider 在输入字符时不起作用?

[英]Why CompletionItemProvider not work when enter charactor?

我已经在https://github.com/Hfutsora/monaco-kaco上传了我的代码。

重现步骤:

  1. 打开github页面https://hfutsora.github.io/monaco-kaco/
  2. 在末尾输入字符'O'然后你可以得到建议
    提供建议
  3. 在结束行之前输入字符'O' 没有出现任何建议
    没有建议

我认为问题是 VS Code 过滤掉了你的候选人,因为它得到了错误的already typed的字符。 在我的完成提供者中,我使用了不同的方法:

const info = model.getWordUntilPosition(position);

它会找到当前插入符号 position之前的单词。

CompletionItem.Range 注解

CompletionItem 中的范围必须是 SingleLine,我提供了具有不同 startLine 和 endLine 的错误范围,我认为这是问题所在。

monaco.Range({
  position.lineNumber,
  word?.startColumn ?? position.column,
  model.getLineCount(), // not the same line
  model.getLineMaxColumn(model.getLineCount())
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM