为什么输入角色时 Completion Item Provider 不起作用?
Why CompletionItemProvider not work when enter charactor?
我已经在 https://github.com/Hfutsora/monaco-kaco 上传了我的代码。
重现步骤:
- 打开 github 页面 https://hfutsora.github.io/monaco-kaco/
- 在末尾输入字符'O'即可获得建议
- Enter char 'O' before the endline 没有提示出现
我认为问题是 VS Code 过滤掉了你的候选人,因为它得到了错误的 already typed
个字符。在我的完成提供程序中,我使用了不同的方法:
const info = model.getWordUntilPosition(position);
在当前插入符位置之前找到单词。
CompletionItem.Range Note
CompletionItem 中的范围必须是 SingleLine,我提供了不同 startLine 和 endLine 的错误范围,我认为这是问题所在。
monaco.Range({
position.lineNumber,
word?.startColumn ?? position.column,
model.getLineCount(), // not the same line
model.getLineMaxColumn(model.getLineCount())
})
我已经在 https://github.com/Hfutsora/monaco-kaco 上传了我的代码。
重现步骤:
- 打开 github 页面 https://hfutsora.github.io/monaco-kaco/
- 在末尾输入字符'O'即可获得建议
- Enter char 'O' before the endline 没有提示出现
我认为问题是 VS Code 过滤掉了你的候选人,因为它得到了错误的 already typed
个字符。在我的完成提供程序中,我使用了不同的方法:
const info = model.getWordUntilPosition(position);
在当前插入符位置之前找到单词。
CompletionItem.Range Note
CompletionItem 中的范围必须是 SingleLine,我提供了不同 startLine 和 endLine 的错误范围,我认为这是问题所在。
monaco.Range({
position.lineNumber,
word?.startColumn ?? position.column,
model.getLineCount(), // not the same line
model.getLineMaxColumn(model.getLineCount())
})