问题标签 [vscode-snippets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
84 浏览

xml - XML 选择一个词(在代码片段中)

我有这个片段

如何更改它以便选择所有单词XXX

我是否需要使用任何一个标签$selected$和/或$end$

0 投票
2 回答
295 浏览

visual-studio-code - Visual Studio Code 的 Zen 编码 HTML 注释

在 Visual Studio Code 中,有没有办法插入 HTML 注释,比如

就像您可以通过执行以下操作插入带有“foo”类的 div 标签一样:

这导致

0 投票
2 回答
3330 浏览

visual-studio-code - VSCode 中的动态代码段评估

片段是否可以在 Visual Studio Code 中插入动态计算的完成或片段?

我想要一个用于插入各种格式的日期和时间字符串的片段。例如,如果您键入date,则 ISO 格式的当前日期将自动扩展。

带日期的动态片段扩展示例

Sublime Text 中有一个工具可以通过类中的on_query_completions方法在python API 中执行此操作EventListener。那里的实现将非常简单:

我已阅读有关User Defined Snippets的文档,但似乎只能插入带有用户填写的制表位和变量的预定义文本。

如果片段 API 公开的功能无法做到这一点,我能否通过较低级别的插件/扩展 API 实现类似的功能?

我确实意识到有一个名为“插入日期和时间”的现有扩展,但这通过命令托盘而不是动态扩展来工作。

0 投票
4 回答
4736 浏览

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

现在支持2016 年 11 月(版本 1.8)版本的 VSCode代码段变量,特别是 TM_SELECTED_TEXT。

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

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

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

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

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

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

0 投票
5 回答
23977 浏览

visual-studio-code - 在 VS-Code 中编写多行代码片段的最佳方法是什么?

Sublime Text中,可以在片段文件中使用空格定义多行代码片段。

但据我所知,VS-Code需要一个JSON条目。这些要求:

  1. 硬分解成双引号字符串列表,或
  2. 使用换行符软断长字符串\n

与其他 IDE 开箱即用的所见即所得方法相比,这很不方便。

有没有更好的方法来定义长代码块?

0 投票
4 回答
4425 浏览

visual-studio-code - 如何使用片段变量删除文件扩展名。片段变量列表

我用vscode。

我想使用服装片段,但{TM_FILENAME}有一个扩展名。

如何从中删除扩展名{TM_FILENAME}

像这样:`

在文件中MyModule.js

转换:${TM_FILENAME/(\w+)\.js/\1/g}

输出:

MyModule

0 投票
2 回答
6167 浏览

visual-studio-code - Visual Studio Code 中的缩进片段

我正在尝试在 Visual Studio Code 中创建一个片段。这有效,但缺少缩进:

我的片段:

你看到什么了 :

我想要什么:

0 投票
1 回答
2523 浏览

visual-studio-code - 在 VSCode 片段中,如何将另一个用户定义变量的值大写?

我在 VSCode 中尝试制作片段并了解一些新的正则表达式替换语法。

我想要做的是根据文件名填充我的模板的一部分。我可以去掉不需要的扩展名,但我不能在下一个变量中大写相同的值。

我有这两行:

"@Controller('/${1:${TM_FILENAME_BASE/(.*)\\.controller/$1/}}')", "export class ${1/(.*)/${1:/capitalize}/}Controller {",

第一个去除文件名并将值捕获为模板的 $1。在第二行中,我尝试使用 $1 中的值并通过大写过滤器运行它。

我没有尝试过任何工作,虽然我的头撞在键盘上感觉不错。

有没有人破解过这个坚果?

0 投票
2 回答
4078 浏览

regex - 片段正则表达式:匹配任意数量的组并转换为 CamelCase

在我正在编写的 Visual Studio 代码片段中,我想将蛇大小写字符串转换为驼峰大小写。

文档中我知道语法是

所以我想出了这个:

但是,此代码仅适用于具有 2 个元素的字符串(例如“carrot_cake”),而我想处理具有任意数量元素的字符串(“blueberry_pie_with_a_cup_of_coffee”)。

'regex'我想在and中需要某种递归'format',但我不知道该怎么做。

如何匹配任意数量的模式出现?

0 投票
1 回答
614 浏览

visual-studio-code - 如何定义片段占位符的默认值?

创建片段时,我想知道如果没有分配值,是否可以为占位符定义默认值。

例如,有这个 php 片段:

制表位 5 到 8 的占位符具有以下默认值:

我尝试了以下方式的选择,但没有成功:

请看一下row_offset定义。呈现片段时,我得到以下信息

在这种情况下,我希望发生的情况是我省略了0分配的占位符值。

谢谢你的帮助。