如何禁用VSCode自动补全Python构造函数时追加的->None类型提示
VS Code 禁用Python构造函数补全自动追加
-> None的配置方法 该自动补全行为由Python语言服务控制,存在明确配置项可关闭,无需安装第三方扩展。
默认场景(使用Pylance语言服务,VS Code Python扩展默认配置)
目前VS Code官方Python扩展默认使用Pylance作为语言服务,控制该行为的配置项为python.analysis.addReturnTypeToSnippets,默认值为true,即自动为补全的函数、方法追加返回类型提示,将其改为false即可关闭该特性。
图形界面配置步骤
- 按下快捷键
Ctrl + ,(Windows/Linux)或Cmd + ,(macOS)打开设置面板 - 在顶部搜索框输入
Add Return Type To Snippets,找到Python分析模块下的对应配置项 - 取消勾选该配置项的复选框,修改即时生效,无需重启编辑器
配置文件直接修改
如果习惯直接编辑配置文件,可打开用户/工作区的settings.json,添加如下配置项:
{ "python.analysis.addReturnTypeToSnippets": false }
配置完成后,自动补全生成的__init__构造函数将不再携带-> None类型提示,格式如下:
class MyClass: def __init__(self): pass
特殊场景(使用Jedi作为语言服务)
如果手动切换为Jedi作为Python语言服务,目前没有独立的开关配置,可通过自定义代码片段覆盖默认补全规则:
- 按下快捷键
Ctrl + Shift + P(Windows/Linux)或Cmd + Shift + P(macOS)打开命令面板 - 输入并选择「配置用户代码片段」,在弹出的列表中选择
python.json - 添加如下自定义片段配置:
{ "无类型标注构造函数": { "prefix": "__init__", "body": [ "def __init__(self):", " ${0:pass}" ], "description": "生成不带->None返回标注的类构造函数" } }
保存后,补全__init__时选择自定义片段即可生成符合预期格式的代码。
内容的提问来源于stack exchange,提问作者Katakras
相关产品推荐
相关产品推荐

