如果 __name_ ... 片段,如何让 vs 代码自动插入?

mat*_*kie 4 visual-studio-code

如何配置或启用visual studio代码自动插入标准:

if __name__ == '__main__':
Run Code Online (Sandbox Code Playgroud)

我看到它是在 2018实施的,但该票中讨论的用法对我没有任何影响。我一直在浏览文档和一般互联网,但我的搜索关键字没有打开相关页面。

Use*_*ser 44

它们在 2021 年 1 月版中被明确删除

归咎于这个问题:删除或禁用代码片段

所有旧的 python 片段都在这里:https://github.com/microsoft/vscode-python/blob/2020.12.424452561/snippets/python.json

如果你想让他们回来:

  1. 在 vscode 中,文件->首选项->配置用户片段。输入python并选择 python。将打开一个 json 文件
  2. 复制粘贴您想要的所有或特定片段到文件中并保存
  3. Ctrl+ Shift+P然后Reload Window激活更改

这是默认的主要片段:

    "if(main)": {
        "prefix": "__main__",
        "body": ["if __name__ == \"__main__\":", "    ${1:pass}"],
        "description": "Code snippet for a `if __name__ == \"__main__\": ...` block"
    },
Run Code Online (Sandbox Code Playgroud)

如果您想更改或调整触发片段的文本,请修改前缀字段。如果您想要更多触发器,前缀字段可以是如上所示的字符串或列表:

"prefix": ["__main__", "ifmain", "main", "ifm", "if m"],
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你。在将其第 n 次复制粘贴到新配置文件中后,我找到了一个扩展以使其更容易。请参阅 https://github.com/cstrap/python-snippets (3认同)

Bal*_*Ben 6

我注意到了同样的事情——我想知道这个片段是否被删除了,或者它的存在是否取决于所使用的语言服务器(我相信 VSCode 默认从 MS 的语言服务器切换到 Pylance)。

在任何情况下,您都可以通过单击菜单项 Code > Preferences > User Snippets 自己重新创建扩展,选择 python.json,然后输入以下条目:

"Main": {
    "prefix": "__main__",
    "body": [
        "if __name__ == \"__main__\":",
        "\t${1:pass}"
    ],
    "description": "Insert main block"
}
Run Code Online (Sandbox Code Playgroud)

更多信息:https : //code.visualstudio.com/docs/editor/userdefinedsnippets