我有这个:
${1/([A-Z]*)(?:_)([A-Z]+)*/${1:/downcase}${2:/downcase}/g}
Run Code Online (Sandbox Code Playgroud)
如何使用downcase和capitalize在同一个(2)组上?
${1/([A-Z]*)(?:_)([A-Z]+)*/${1:/downcase}${2:/downcase/capitalize}/g}
Run Code Online (Sandbox Code Playgroud)
我想转换ZXC_ASD为zxcAsd.
有时,当我按下 Enter 按钮时,VSCode 会主动完成我不想要的代码。
例如:
当我输入
import numpy as np
Run Code Online (Sandbox Code Playgroud)
然后按回车键,VSCode 会将其更改np为numpy
或者当我输入
else
Run Code Online (Sandbox Code Playgroud)
然后按回车键,VSCode 会将其更改为
else
{
/*...*/
}
Run Code Online (Sandbox Code Playgroud)
虽然我有时真的不需要这种格式。
那么如何禁用代码片段的“Enter”并仅使用 Tab 呢?
我为 javascript 制作了自己的用户片段代码
"inner backquote concat variable" : {
"prefix": "$",
"body": "\\${$1}",
"description": "concat variable with backquote sting"
}
Run Code Online (Sandbox Code Playgroud)
当我像这样按“$”时,我希望该片段在反引号字符串或单引号字符串中工作
但在字符串内部时它不起作用。
如何使代码片段在字符串中工作?
我正在尝试制作一个片段,它将获取剪贴板内容(文档中标题的markdown文本)并将其转换为该部分的链接。例如,如果我的剪贴板包含:Some Heading - 20191107那么我希望输出以下内容:
[Some Heading - 20191107](filename.md#some-heading---20191107)
Run Code Online (Sandbox Code Playgroud)
这里是我的代码段VS Code用于markdown至今:
"link to this section": {
"prefix": "isection",
"body": [
"[${1:${CLIPBOARD}}](${TM_FILENAME}#${CLIPBOARD/ /-/g})"
],
"description": "Insert link to section whose heading text is in the clipboard"
}
Run Code Online (Sandbox Code Playgroud)
这是第一个转换,但我无法弄清楚如何嵌套多个转换:
[^a-z0-9-]为了澄清@Mark 的测试用例,在 中的markdown文档中VS Code,我创建了一个部分标题,例如:
# 20191107 - @#$%^& This is a section - 20191107
Run Code Online (Sandbox Code Playgroud)
然后我复制文本20191107 - @#$%^& This is a section - 20191107并运行您为我修复的代码段。它输出的是:
[20191107 - …Run Code Online (Sandbox Code Playgroud) 我想为评论定义一个片段,例如
//************
//* foo A1 *
//************
Run Code Online (Sandbox Code Playgroud)
我输入的地方foo A1,它会创建一行带有 (6+ len(${1}) 星号等的行 - 这是否可行,如果可以,如何实现?
我尝试在 VSCode 中创建一个片段以快速包含 C++ 标头防护。例如文件路径是C:\workspace\src\chrome\browser\ui\webui\settings\about_handler.h
该代码片段预计将生成如下:
#ifndef CHROME_BROWSER_UI_WEBUI_SETTINGS_ABOUT_HANDLER_H_
#define CHROME_BROWSER_UI_WEBUI_SETTINGS_ABOUT_HANDLER_H_
#endif // CHROME_BROWSER_UI_WEBUI_SETTINGS_ABOUT_HANDLER_H_
Run Code Online (Sandbox Code Playgroud)
从VScode 片段语法指南中,我尝试使用TM_FILEPATH变量,但找不到将文件路径转换为上面的宏的解决方案。我尝试了以下一些方法:
${TM_FILEPATH/([^a-zA-Z0-9])|([a-zA-Z0-9])/${1:+_}${2:/upcase}/g}_我可以将文件路径生成为C__WORKSPACE_SRC_CHROME_BROWSER_UI_WEBUI_SETTINGS_ABOUT_HANDLER_H_. 此正则表达式会将所有非数字和非字母字符转换为大写_,并将所有字母字符更改为大写。${TM_FILEPATH/.*src[\\\\\\/](.*)/${1:/upcase}/}我可以生成CHROME\BROWSER\UI\WEBUI\SETTINGS\ABOUT_HANDLER.H. 这个正则表达式从头到尾删除了路径src,因为我当前的工作区位于src文件夹中,所以我希望我的标头宏与该路径相关。问题是我无法结合这两个变换来获得我想要的宏。有什么想法可以让它发挥作用吗?
如何通过存储库与同事共享我的自定义片段?例如,共享javascript.json文件。
我知道它应该进入内部.vscode,但具体在哪里以及具体的配置是什么?
我在 VS Code 中有一个代码片段,看起来像这样
"JS arrow function": {
"scope": "javascript, typescript",
"prefix": "af",
"body": [
"const ${1:name} = (${2:props}) => {",
" $3",
"}"
],
"description": "Create arrow function"
}
Run Code Online (Sandbox Code Playgroud)
我想要在制表位tabulation之前有$3,但 VS Code 显示错误:
字符串中的无效字符。控制字符必须进行转义。
同时放在4 spaces前面$3工作得很好,但我需要tabulation我的 eslint 配置。
有办法放在tabulation那里吗?
javascript code-snippets eslint visual-studio-code vscode-snippets
我想在包含 JSX 代码的 Javascript 文件中使用 emmet,但我不希望 IntelliSense 在我使用点 ( .) 运算符时建议使用 emmet。
例如,我不希望.rap出现 emmet 建议:
我尝试了这些设置:
"emmet.showSuggestionsAsSnippets": true,
"editor.snippetSuggestions": "bottom",
Run Code Online (Sandbox Code Playgroud)
但是,我遇到另一个问题:
替换"editor.snippetSuggestions"from"bottom"到"inline"也没有帮助。
我已经在 VSCode 中获取了适用于 C 和 C++ 的用户代码片段,但由于某种原因,VSCode 没有提供.md和.tex文件的代码片段建议。
这是一个最小的例子tex.json(不起作用):
{
"dummy": {
"prefix": "dummy",
"body": [
"some random text for demonstration"
],
"description": "A dummy snippet"
}
}
Run Code Online (Sandbox Code Playgroud)
.mdVSCode 在和文件中提供建议.tex,但不提供用户片段。如何解决此问题或采用其他方式将用户片段用于 Markdown 和 Latex?
更新:.md由于@Mark 的评论,片段现在可以在文件中工作。我需要输入前缀并按Ctrl + Space。然而,该解决方案不适用于 Latex。