跳到内容
🛠️ToolsShed

VS Code Snippet Generator

为任何语言创建自定义VS Code代码片段,支持制表位、占位符和变量语法。

使用 $1、$2 作为制表点;${1:placeholder} 作为默认值;$0 作为最终光标位置

{
  "My Snippet": {
    "prefix": "mysnippet",
    "body": [
      "console.log($1);"
    ],
    "description": ""
  }
}

关于此工具

VS Code 代码片段是从键盘快捷触发器展开的可重用代码块,通过减少重复输入来大幅加速开发。与其每次都手动编写样板代码不同,你只需定义一次含有制表位标记的占位符位置的代码片段,然后通过输入简短前缀即可立即调用它。代码片段对于任何认真的开发者都是必不可少的——它们节省数小时的输入时间、减少输入错误,并在整个项目中强制采用一致的编码模式。

这个 VS Code 代码片段生成器将你的代码转换为正确的代码片段语法,完全支持制表位($1、$2、$3)、可选文本的占位符,以及 $TM_FILENAME 或 $CURRENT_YEAR 等 VS Code 变量。只需将代码块粘贴到 Body 字段,用 $1(第一个停留点)、$2(第二个停留点)等标记光标应该跳转的位置,定义短的 Prefix(你要输入的触发文本),给你的代码片段起个名称和可选的描述,然后生成完整的 JSON。你可以复制输出并将其保存到 VS Code 用户代码片段文件夹中的 snippets.json 文件。

生成的代码片段适用于任何语言——将 Scope 设置为匹配你的文件类型(JavaScript、Python、Go 等),或将其保持为"All Languages"以实现通用可用性。制表位和变量非常强大:$1 创建展开后的第一个光标停留点,$0 标记最终位置,而 ${1:defaultText} 这样的表达式在你不覆盖它时提供默认文本。这个工具非常适合构建自定义代码片段库的开发者、创建团队范围内的代码模板,或自动化函数签名、HTML 样板或 API 调用结构等频繁出现的模式。

常见问题

代码实现

import json

def generate_vscode_snippet(
    name: str,
    prefix: str,
    body: list[str],
    description: str = "",
    scope: str = ""
) -> dict:
    snippet = {
        name: {
            "prefix": prefix,
            "body": body,
            "description": description,
        }
    }
    if scope:
        snippet[name]["scope"] = scope
    return snippet

# Example: Python class snippet
snippet = generate_vscode_snippet(
    name="Python Class",
    prefix="cls",
    body=[
        "class ${1:ClassName}:",
        "    def __init__(self${2:, args}):",
        "        ${3:pass}",
        "",
        "    def __repr__(self):",
        "        return f"${1:ClassName}(${4:fields})"",
    ],
    description="Create a Python class with __init__ and __repr__",
    scope="python"
)

print(json.dumps(snippet, indent=4))

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.