当在VSCode中选择某些文本时,如何对代码段执行IntelliSense



我写了第一个代码片段,它将把所选文本包装在if() { selected text }块中。

"if block - snippet": {
"prefix": "if block - snippet",
"body": [
"if( $1 ) {",
"$TM_SELECTED_TEXT",
"}",
"$0"
],
"description": "if block - snippet"
}

当我选择文本并点击CTRL+SPACE时,它会显示intellisense,但当我开始搜索我的代码段"if block-snippet"而不是搜索时,它将清除所选文本并开始编写"if blo…":p


一种解决方法是使用专用的键绑定来触发代码片段,但我希望它像intellisense建议本身一样更隐式。有可能吗?

立即更新:vscode"记住$TM_SELECTED_TEXT,即使它在编写代码段前缀时似乎消失了。因此,您的原始片段如您所期望的那样工作。无需使用$CLIPBOARD


上一个答案:

如果您先将所选内容复制到剪贴板,则可以使用:

"if block - snippet": {
"prefix": "if block - snippet",
"body": [
"if( $1 ) {",
"$CLIPBOARD",
"}",
"$0"
],
"description": "if block - snippet"
}

点击CTRL+SPACE和intellisense显示后,不要通过键入名称来搜索代码段,而是使用UP/DOWN按钮来搜索它。

editor.action.showSnippets密钥绑定上,您还可以执行editorHasSelectionwhen子句,然后您可以将Ctrl+Space用于这两个功能。这不是一个很好的内联片段Intellisense,但它更接近我们想要的。

相关内容

  • 没有找到相关文章

最新更新