必须先保存文件,否则所有方法都返回空;copy_file_path只对已保存到磁盘的文件生效,未保存的untitled标签、git diff页等均静默失败,判断依据是标题栏含扩展名且状态栏有路径片段,未满足则需先ctrl+s/cmd+s保存。

必须先保存文件,否则所有方法都返回空——这是 90% 失败的根源。
为什么 copy_file_path 总是没反应?
它只对已写入磁盘的文件生效,其他情况一律静默失败:未保存的 untitled 标签、Git diff 预览页、REPL 控制台、插件弹窗等都不算数。判断依据只有两个:窗口标题栏显示带扩展名的文件名(如 main.py),且状态栏右下角有路径片段提示(哪怕只是 src/)。没看到这两处,就别试命令或快捷键,先按 Ctrl+S(Windows/Linux)或 Cmd+S(macOS)保存。
怎么绑定真正可用的快捷键?
原生 copy_file_path 命令默认无快捷键,手动配置时三个细节错一个就无效:
- 命令名必须是
copy_file_path(全小写 + 下划线),拼成copyfilepath或CopyFilePath都不认 - Windows/Linux 推荐用
ctrl+alt+c;macOS 必须用super+alt+c(super=Cmd键),不能直接套用 Windows 键位 - 改完
Preferences → Key Bindings右侧用户配置后,不用重启 Sublime,但旧窗口需切换焦点或新开标签页才生效
正确配置示例:
[ {"keys": ["ctrl+alt+c"], "command": "copy_file_path"} ]
命令面板和控制台哪个更可靠?
命令面板(Ctrl+Shift+P / Cmd+Shift+P)输入 Copy File Path 是最常用方式,但依赖 UI 层级;控制台(Ctrl+`)执行 view.file_name() 更底层、绕过所有菜单逻辑,适合调试:
- 返回字符串即为绝对路径(如
/Users/me/project/src/main.py) - 返回
None表示当前视图没关联磁盘文件——和标题栏是否“看起来像文件”无关,只看底层对象 - 执行前确保焦点在目标编辑区,而不是侧边栏或命令面板本身
真正容易被忽略的是:快捷键再顺手,也救不了未保存的文件。别纠结键位冲突或插件兼容性,先确认 Ctrl+S 是否已执行——这一步跳过,后面全是白忙。











