问题描述
我正在为一种新的查询语言开发一个智能感知版本,当前使用左括号作为智能感知建议的触发字符。常见的用法是输入items(
,然后显示相关项目的建议列表。
但是,其中有些项目的名称中包含触发字符,例如"banana(yellow)"
,我想知道是否有一种简单的方法向摩纳哥工作者表明我想忽略在字符串中键入的触发器,这样当我在“黄色”之前输入括号时,建议就不会重新编译。因此,我想输入items("banana(yellow)")
并在第一个左括号之后而不是第二个括号之后收到新建议的列表。
具体来说,我想知道这是否是需要在onDidType方法中解决,还是稍后在completementItemsProvider中解决,还是是否需要在其他地方完全解决,可能是我缺少了一个布尔标志
解决方法
我自己从来没有尝试过,但是这里有两个想法:
-
您可能已经在代码完成提供程序中设置了触发字符。当您不希望特定字符(此处为开放标准)触发提供程序时,请尝试更改此值。
-
suggestOnTriggerCharacters
界面中有一个标志名IEditorOptions
。如果您不希望在字符串中出现建议框时,可以临时切换选项。