AutoDocstring插件不生效的主因是文件未被识别为Python语法(状态栏需显示“Python”),且光标必须位于def/class行任意位置;还需配置正确的python_interpreter路径,设置docstring_type为"google"/"numpy"/"restructuredtext",并避免快捷键冲突。

AutoDocstring插件装完没反应?检查Python环境和语法高亮
插件不触发最常见原因是Sublime Text当前文件未被识别为Python——哪怕后缀是.py,如果右下角显示“Plain Text”或“Text”,auto_docstring根本不会监听。必须确保状态栏显示“Python”,可通过Ctrl+Shift+P → Set Syntax: Python手动设置。另外,插件依赖Python解释器执行模板渲染,若系统PATH里没有python或python3命令(尤其macOS M1/M2或conda环境),会静默失败。建议在终端运行which python3,把结果路径填进插件设置里的python_interpreter字段。
光标位置不对,auto_docstring就插不出内容
这个插件只响应函数/类定义行(即含def或class的行)的光标位置。把光标放在函数体内部、空行、注释行,甚至def行末尾的括号外,都会失效。正确做法是:光标必须停在def那行的任意位置(包括行首或冒号前),然后按快捷键(默认Alt+Shift+2)。如果是类方法,光标也得在def行,不能在self参数上悬停或选中。
生成的docstring格式不对?优先改docstring_type而不是硬编码
默认生成Google风格,但项目可能要求NumPy或reStructuredText。别去改模板文件,直接在Preferences → Package Settings → AutoDocstring → Settings里调整:"docstring_type": "numpy"。注意大小写敏感,可选值只有"google"、"numpy"、"restructuredtext"。如果启用了add_type_hints,还要确认函数签名里参数有类型标注(如name: str),否则类型信息不会进docstring。
快捷键冲突或不起作用?用命令面板绕过绑定问题
某些主题或插件会劫持Alt+Shift+2(比如Emmet)。先用Ctrl+Shift+P调出命令面板,输入AutoDocstring: Generate Docstring看是否能执行。如果可以,说明快捷键被占用了,去Preferences → Key Bindings查重叠项;如果命令也不出现,大概率是插件没启用成功,重启Sublime Text或检查Console里有没有ImportError报错。Windows用户特别注意:部分杀毒软件会拦截插件调用外部Python进程,临时禁用试试。
lambda定义函数、或者def被包裹在if块里时,它大概率识别不了。这种场景得手动补,别等它猜。


















