您可以在 VSCode 片段中访问 class 名称吗?
Can you access a class name in a VSCode snippet?
例如,您将如何在 VSCode 中创建与 ctor
Visual Studio C# 片段等效的内容?我正在查看 VSCode 片段系统所基于的 TextMate 文档,我看到很多像 TM_SCOPE 这样的变量,但 VSCode 似乎没有评估这些变量。这在 VSCode 片段支持的当前状态下是不可能的吗?
根据 VSCode 文档,当您想为 C# 创建新的代码片段文件时:
// Place your snippets for C# here. Each snippet is defined under a snippet name and has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// , for tab stops, ${id} and ${id:label} and ${1:label} for variables. Variables with the same id are connected.
目前(在 v0.10.6 上)似乎只允许 $n 个变量。
但是它确实支持所有 TextMate 变量,不包括插值模板、正则表达式和转换——因此您可以根据文件名进行添加:
"body": [
"public $TM_FILENAME()",
"{",
"[=10=]",
"}"
]
不幸的是,这也得到了文件扩展名,还没有想出如何剃掉它
事实证明,现在你可以!
只需添加 ${TM_FILENAME_BASE} 即可显示文件名。还有很多其他变量,比如 TM_CURRENT_LINE 用于获取当前行的文本,甚至是 CLIPBOARD。
您可以在此处的官方文档下找到所有可用的命令:
https://code.visualstudio.com/docs/editor/userdefinedsnippets#_variables
例如,您将如何在 VSCode 中创建与 ctor
Visual Studio C# 片段等效的内容?我正在查看 VSCode 片段系统所基于的 TextMate 文档,我看到很多像 TM_SCOPE 这样的变量,但 VSCode 似乎没有评估这些变量。这在 VSCode 片段支持的当前状态下是不可能的吗?
根据 VSCode 文档,当您想为 C# 创建新的代码片段文件时:
// Place your snippets for C# here. Each snippet is defined under a snippet name and has a prefix, body and // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are: // , for tab stops, ${id} and ${id:label} and ${1:label} for variables. Variables with the same id are connected.
目前(在 v0.10.6 上)似乎只允许 $n 个变量。
但是它确实支持所有 TextMate 变量,不包括插值模板、正则表达式和转换——因此您可以根据文件名进行添加:
"body": [
"public $TM_FILENAME()",
"{",
"[=10=]",
"}"
]
不幸的是,这也得到了文件扩展名,还没有想出如何剃掉它
事实证明,现在你可以!
只需添加 ${TM_FILENAME_BASE} 即可显示文件名。还有很多其他变量,比如 TM_CURRENT_LINE 用于获取当前行的文本,甚至是 CLIPBOARD。
您可以在此处的官方文档下找到所有可用的命令: https://code.visualstudio.com/docs/editor/userdefinedsnippets#_variables