我试图在 vscode 中为我的扩展创建自定义片段。但是要使用这些片段,我还需要特定的导入语句,我试图弄清楚如何在从选项中选择一个片段时添加相应的导入语句。?vscode 是否提供了一种方法来做到这一点?
1 回答
如果您的编程语言支持“优化导入”命令,您可以利用它来接近您想要的行为。默认情况下,它设置为shift+opt+O
vscode 中的键绑定。
在 JS/TS 中,“优化导入”命令将移动import
到文件的顶部,无论它写在哪一行,只要它在语法上是有效的import
,即不在函数内部等。
选项1
您可以通过以 importable 关键字结尾来使您的代码段更方便。例如,对于您可能需要导入的 React 组件片段,您可以使用$0
它在提供附加内容后返回到关键字。这将允许您立即键入cmd+.
“快速修复”导入。
{
"AuthorCard": {
"prefix": "ac",
"body": [
"<AuthorCard$0>",
" $1",
"</AuthorCard>"
]
},
}
选项 2
如果您的函数片段打算插入到文件的全局范围中,那么您可以在片段本身中包含导入。然后,立即“优化导入”,它会将import
语句发送到文件顶部。
例如,代码段可能如下所示。
"blah": {
"prefix": "blah",
"body": [
"import blah from 'blah'",
"export function myBlah() {",
" return blah.doBlah()",
"}"
]
},
选项 3
如果您的代码片段旨在嵌入文件内的其他范围内使用,则创建仅导入的第二个片段。例如,对于一个片段blah
,该片段iblah
可以导入所有必需的依赖项。现在,您只需要一种“快速”的方式来获取导入的有效范围,然后返回您开始的地方,这两种方式都可以在 vscode 中实现。我会提到默认的键绑定,但是,为了记录,您可以将底层命令重新绑定到您想要的任何内容。
要获得导入片段的有效范围,您有多种选择。最好的选项可能是cmd+up
,它会将您带到文件的顶部。其他选项是shift+cmd+\
,它会将您带到语句的右括号,以及cmd+enter
,它将您带到新的一行。从有效范围内,您可以触发您的导入片段,然后使用shift+opt+O
.
最后,要返回原始函数,您可以在默认为 的 vscode 中“返回” ctrl+-
,这会将您返回到上一个光标位置。
这些选项可能不太理想,特别是如果您打算将它们作为扩展包的公共片段,但是,它们仍然是可能提供有用的方便技巧的集合(并回答您问题的“精神”)。