繁体   English   中英

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

[英]How to get vs code to auto insert if __name_ ... snippet?

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

if __name__ == '__main__':

我看到它是在 2018 年实施的,但该票中讨论的用法对我来说并没有触发任何事情。 我一直在浏览文档和一般互联网,但我的搜索关键字没有出现相关页面。

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

在任何情况下,您都可以通过单击菜单项代码 > 首选项 > 用户片段 select python.json 自己重新创建扩展,然后输入以下条目:

"Main": {
    "prefix": "__main__",
    "body": [
        "if __name__ == \"__main__\":",
        "\t${1:pass}"
    ],
    "description": "Insert main block"
}

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

它们在 2021 年 1 月版中被明确删除: https://marketplace.visualstudio.com/items/ms-python.python/changelog#user-content-2021.1.0-(21-january-2021)

责备: https://github.com/Microsoft/vscode-python/issues/14781

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

如果你想让他们回来:

  1. 复制粘贴这些片段
  2. 在 vscode 中, File->Preferences->User Snippets 键入python并选择 python。 将打开 json 文件
  3. 将所需的所有或特定片段粘贴到文件中并保存
  4. Ctrl+Shift+P Reload Window ,激活更改

这是默认的主要片段:

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

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

"prefix": ["__main__", "ifmain", "main", "ifm", "if m"],

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM