VS Code中能否创建支持任意前缀的代码片段以实现函数调用自动补全?
实现VS Code中自动将
functionName();转为call(functionName); 当然可以实现!这种需求完全可以通过VS Code的**用户代码片段(User Snippets)**来搞定,配置起来超简单,跟着下面的步骤来就行:
打开用户代码片段配置
- 按下
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac)唤起命令面板 - 输入「Configure User Snippets」,然后选择你要生效的范围:
- 选「New Global Snippets file」:所有语言都生效
- 选对应语言(比如JavaScript):只在该语言文件里生效
- 给新建的片段文件起个好记的名字,比如
function-call-wrapper.code-snippets
- 按下
粘贴配置代码
把下面的JSON代码粘贴到新建的文件里,保存即可:{ "Wrap function with call()": { "prefix": "(.*)\\(\\);", "body": "call($1);", "description": "Auto replace functionName(); with call(functionName);", "scope": "javascript,typescript,java", // 按需添加你需要的语言 "regex": true } }简单解释下关键配置:
prefix是正则匹配规则:(.*)会捕获();前面的任意函数名,\\(\\);匹配结尾的();body里的$1就是刚才捕获到的函数名,替换后就变成call(函数名);regex: true告诉VS Code这个前缀是正则表达式,不是普通字符串
实际使用
- 输入类似
myFunctionNamedBob();,当VS Code弹出补全提示时,按Tab或者回车键(如果你的回车设置为接受补全),就能自动转成call(myFunctionNamedBob); - 如果回车没触发,去VS Code设置里搜
editor.acceptSuggestionOnEnter,把值设为on或者smart就行
- 输入类似
内容的提问来源于stack exchange,提问作者wadu
相关产品推荐
相关产品推荐

