我正在为VS Code编写一些JavaScript代码段,当我为事件监听器添加一个时,有许多与其他代码相关的预定义前缀分配。我想使用“ael”作为此片段的前缀提示,但默认为警告命令(这特别令人沮丧,因为警报的前3个字母实际上是“ale”),无论如何,有没有办法结束 - 支持默认行为?
在下面的代码中,如果我将prefix
更改为“ttt”,然后输入“ttt”,则代码段会起作用,当我使用“ael”时它不会。
我如何克服这个?
段
"ael": {
"prefix": "ael",
"body": [
"addEventListener(\"\t$1\", function(){",
"\t$2",
"}, false);"
],
"description": "Add an Event Listener",
}
答案 0 :(得分:3)
它是最新更新的一部分:1.19 release notes
当您接受建议时,它会记住并跳转到您之前接受的内容。以下是有关控制此功能的问题:#41060
由于vscode 1.20 ,因此可以选择禁用或修改此行为:
"editor.suggestSelection"
"first"
- 就像之前一样(没有记忆,没有预先选择)
"recentlyUsed"
- 选择以前使用的项目
"recentlyUsedByPrefix"
- 根据您使用的前缀选择项目
答案 1 :(得分:0)
如果我正确理解您的状况,则无需滚动列表。键入ael
时,您的代码段已在下拉列表中选择(根据屏幕截图判断)。之后,您只需要按Enter
或Tab
即可。
此外,您可以添加其他前缀以方便在不同情况下使用,例如:
"addEventListener": {
"prefix": ["ael", "addEventListener"],
"body": [
"addEventListener(\"${1:event}\", (${2:e}) => {",
"\t$0",
"}, false);"
],
"description": "Add an Event Listener",
}
此后,如果在add
文件中输入adli
或什至javascript
,则将显示以下列表。
在其中,您需要向下移动几步到addEventListener
行,然后按Enter
或Tab
,然后编辑器将从代码段中插入代码,选择第一个占位符($1
),在这种情况下包含事件的名称。接下来,您可以对其进行编辑,按Tab
移至第二个占位符($2
),更改函数的输入参数,然后再次按Tab
移至函数($0
-最后一个占位符)。
是的,就像Alex中提到的his answer一样,您可以使用editor.suggestSelection
设置来更改下拉菜单中预选择的行为。如code.visualstudio.com所述:
first
-始终选择顶部列表项。recentlyUsed
-(默认)除非使用前缀(要选择的类型)选择其他项目,否则将选择先前使用的项目。recentlyUsedByPrefix
-根据已完成建议的先前前缀选择项目。“选择类型”表示当前前缀(大致位于光标左侧的文本)用于过滤和排序建议。当这种情况发生并且其结果与
recentlyUsed
的结果不同时,它将被赋予优先级。使用最后一个选项
recentlyUsedByPrefix
时,VS Code会记住为特定前缀(部分文本)选择了哪个项目。例如,如果您键入co
,然后选择console
,则下次您键入co
时,建议console
将被预先选择。这样,您可以快速将各种前缀映射到不同的建议,例如co
->console
和con
->const
。
如code.visualstudio.com所述:
默认情况下,VS Code在一个小部件中显示摘要和完成建议。您可以使用editor.snippetSuggestions
设置来控制行为。可用值:
none
-从“建议”小部件中删除代码段top
-将摘要放在顶部bottom
-将摘要放在底部inline
-(默认)显示摘要提示以及按字母顺序排列的其他建议