如何在VS Code状态栏按钮中正确调用editor.action.insertSnippet
解决VS Code状态栏按钮插入代码片段的参数配置问题
我来帮你搞定这个小问题!你在settings.json里的参数写法踩了个小坑——不要把参数对象转成字符串,VS Code状态栏按钮的arguments需要直接传入原始的JSON结构,而不是字符串化的内容。
你之前的配置里,arguments把snippet对象用引号包成了字符串,这就导致editor.action.insertSnippet命令拿到的是一串文本,而不是它需要的代码片段配置对象。
改成下面这个配置就可以正常工作了:
{ "alignment": "left", "priority": -9996, "text": "$(file-media)", "tooltip": "Insert image reference", "command": "editor.action.insertSnippet", "arguments": [ { "snippet": "[Text](URL)$0" } ], "filterLanguageRegex": "markdown" }
关键修改点:
- 把原来的
arguments":["{\"snippet\": \"[Text](URL)$0\"}"]改成了直接传入对象[{"snippet": "[Text](URL)$0"}] - 去掉了不必要的字符串转义,让命令能正确识别代码片段参数
这样配置后,点击状态栏的按钮,就会和你按下alt+x l快捷键效果完全一样,在Markdown编辑器里插入图片引用的代码片段啦~
内容的提问来源于stack exchange,提问作者F. Zi
相关产品推荐
相关产品推荐

