簡體   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