我正在尝试创建一个片段,该片段根据文件路径创建类名。如果文件名为index.js,我希望类名采用文件夹名称。否则,使用文件名。
index.js如果文件被命名(它正确插入文件夹名称),我有一个当前正在工作的转换(如下所示) 。
我将如何扩展这一点(假设有可能)也适用于第二种情况?
我确实从VSCode 文档中注意到,您可以使用一些基本的 if/else 格式,它们仅在捕获组存在时插入给定的文本。我已经能够让那些人通过一些简单的例子来工作。但不确定这些是否可以以某种方式用来完成我想做的事情。
当前片段:
{
"mySnippet": {
"prefix": "cls",
"body": [
"class ${TM_FILEPATH/[\\/\\w$]+\\/(?!index)|\\/index.js//g} {}",
"export default ${TM_FILEPATH/[\\/\\w$]+\\/(?!index)|\\/index.js//g};"
]
},
}
Run Code Online (Sandbox Code Playgroud) javascript regex code-snippets visual-studio-code vscode-snippets
当使用像 $_SERVER 这样的 PHP 变量时,代码片段似乎会忽略 $。例如
{
// Example:
"IP Address Test": {
"scope": "php",
"prefix": "iptest",
"body": [
"// Debugging",
"if($_SERVER[\"REMOTE_ADDR\"]=='${1:ipaddress}'){",
"\t//run only my ip",
"\t$0",
"}"
],
"description": "Test only from IP address"
}
Run Code Online (Sandbox Code Playgroud)
}
输出:
// Debugging
if(_SERVER["REMOTE_ADDR"]=='xxx.xxx.xxx.xxx'){
//run only my ip
}
Run Code Online (Sandbox Code Playgroud) 编辑 \xe2\x80\x94 这对于 coc-snippets是不可能的。Ultisnips 可以实现这一点。
\n我有以下用于 React 的 vim 片段(带有 coc-snippets):
\nsnippet STATE_HOOK "useState hook" b\nconst [${1:state}, set${1:`!v expand(\'%:t:r\')`}] = useState($2)\nendsnippet\nRun Code Online (Sandbox Code Playgroud)\n这可用于快速创建以下(不正确的)代码:
\nconst [color, setcolor] = useState("green");\nRun Code Online (Sandbox Code Playgroud)\n问题是setcolor需要采用驼峰式,如下所示:setColor
如何编写此代码片段以使扩展输入大写?
\n在 Visual Studio 中,我想更新 fullprop 片段以根据属性名称自动转换字段名称:(因此只需输入“属性名称”和“类型”)
public string MyTest
{
get => _myTest;
set
{
if (_myTest == value) return;
_myTest = value;
RaisePropertyChanged();
}
}
private string _myTest;
Run Code Online (Sandbox Code Playgroud)
我找不到转换的MyProperty方法myProperty。我发现这个主题似乎适用于 VSCode,但在 Visual Studio 中不起作用。VSCode 中的代码片段似乎与 Visual Studio 不同,因为它$1$可以在 Visual Studio 中工作,但${1}不起作用。那么 Visual Studio 中有等效的方法吗?
感谢您的帮助 !
有没有办法为 VS Code 片段定义自定义变量?特别是,我想从设置中设置变量值。例如,通过 settings.json 中的配置设置“my-user-name-test.user.name”,我想定义如下例所示的片段。
{
"Input User Name": {
"prefix": "user-name",
"body": [
"{",
" \"user_name\": \"${config:my-user-name-test.user.name}\"",
"}"
],
"description": "Test config user name"
}
}
Run Code Online (Sandbox Code Playgroud) 背景:
"Zen coding"显然是IDE或编辑器中文本条目样式的名称,用户可以键入扩展为HTML的小缩写.这不一定是一个新想法,只是对许多编辑所支持的旧想法的阐述.
关于它的好处是手动输入具有交互式编程的一个方面.要了解我的意思,请观看此截屏视频:
http://pepelsbey.net/pro/2008/08/zen-html/
问题:
我正在尝试将一些自定义的javascript片段和缩写添加到Emmet的snippets.json文件中,但我无法让它工作!(我使用的是Sublime Text 2.)
如果我把它放到settings.json的末尾
"javascript": {
"abbreviations": {
"while": "while(true)\n{\n\t\n}"
},
"snippets": {
"asdf": "qwerty"
}
}
Run Code Online (Sandbox Code Playgroud)
什么都没发生.(我明确地将文件的语法设置为javascript)
但如果我用'css'替换'javascript':
"css": {
"abbreviations": {
"while": "while(true)\n{\n\t\n}"
},
"snippets": {
"asdf": "qwerty"
}
}
Run Code Online (Sandbox Code Playgroud)
它正确地覆盖了内置的CSS代码段,并且工作正常.(我显然将语法设置为css [否则它不起作用])
我错过了什么?根据这个:http://docs.emmet.io/customization/snippets/ 我应该能够以这种方式定义自定义语言的片段.
注意:我也尝试过'js'作为语言名称.
我正在尝试在SQL Server中使用Snippets功能.
我正在测试按照此处的说明向SQL Server 2014添加新的代码段.
一切正常,但在我添加片段之后,它不会出现在IntelliSense中.更重要的是,我意识到并非所有内置代码片段都会出现.
我想知道是否有其他人有相同的经历,并知道如何解决这个问题?
这是一个内置片段列表 Function

这就是我从IntelliSense中看到的(其中3个缺失)

我正在使用visual studio代码,需要将用户代码段放在我的项目存储库中.如何将片段文件的位置更改为自定义文件?我在Windows 10上工作.
code-snippets ×10
javascript ×3
emmet ×2
html ×2
blogger ×1
eclipse ×1
python ×1
regex ×1
settings ×1
sql ×1
sql-server ×1
sublimetext2 ×1
text-editor ×1
ultisnips ×1
variables ×1
vim ×1