visual-studio-code - 在我的自定义片段中使用 TM_SELECTED_TEXT

标签 visual-studio-code code-generation sublimetext code-snippets vscode-snippets

随着 2016 年 11 月(版本 1.8)发布的 VSCode Snippet Variables现在支持,特别是 TM_SELECTED_TEXT。

这让我很高兴,因为我在 Sublime Text 和 TextMate 中都大量使用了这些。

我不知道如何让它在 VSCode 中工作。我创建了他们用作示例的代码段:

"in quotes": {
    "prefix": "inq",
    "body": "'${TM_SELECTED_TEXT:${1:type_here}}'"
}

然后我输入一些文本,突出显示它,这就是事情开始破裂的地方。

这个想法是突出显示一些文本,运行代码段,然后 ${TM_SELECTED_TEXT:${1:type_here}}替换为突出显示的文本。我遇到的问题是要运行您需要输入 prefix 的代码段。值(在本例中为 inq)运行代码段,该代码段会覆盖突出显示的文本,这会将所有内容都搞砸。

在 Sublime/Textmate 中,我从键盘组合中启动了片段,使我的文本突出显示。

在 VSCode 中,有没有办法让它按原样工作,或者从 Sublime 中可用的组合键启动代码段?

最佳答案

在 1.49 中(它在本次编辑的 Insiders' Build 中)您的示例最终将按您的预期工作。见 merged pull request .
Vscode 现在将“记住”您选择的文本(如果有),并且当您键入代码段前缀时,将其插入到 TM_SELECTED_TEXT变量,即使您似乎过度输入了选定的文本。
selected text snippet

从 v1.20 开始,这变得更加容易,因为添加了一个新变量 $CLIPBOARD,请参阅 new snippet variables .因此无需分配和运行快捷方式 - 但您必须将所选内容复制到剪贴板 CTRL-C。
您的示例现在可以是:

"in quotes": {
    "prefix": "inq",
    "body": "'$CLIPBOARD:${1:type_here}'"
}
注:$CLIPBOARD作品。不需要额外的大括号 {$CLIPBOARD} .

关于visual-studio-code - 在我的自定义片段中使用 TM_SELECTED_TEXT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41191054/

相关文章:

c# - 如何从 Swagger 1.2 规范生成 C# 客户端?

sublimetext2 - 在 Sublime 中对整个项目进行选择性搜索和替换

msbuild - 尝试使用 Sublime Text 到 msbuild 时出现错误 6

go - 下载并安装Visual Studio Code Go依赖项

Linux 终端脚本用一个不同的词在当前工作目录中创建样板文件?

visual-studio-code - 如何构建发布版 vscode 版本

Javapoet:引用其他生成的类

html - 我所有的 Sublime Text 中的代码都转换为标签,我无法撤消

git - Windows 上的 msys2 git 查找共享对象文件时出错

visual-studio-code - 如何在VSCODE中设置tasks.json文件来编译Fortran程序?