vs code 最可靠导出代码为可打印文件的方式是使用 developer: print to pdf 功能生成带语法高亮的 pdf;纯文本需直接复制源文件或借助 highlight/pygmentize 等命令行工具批量处理。

用 VS Code 内置打印功能导出为 PDF
VS Code 本身不支持直接“打印成 .txt 或 .docx”,但能快速导出带语法高亮的 PDF——这是最接近“把代码变成可打印文件”的可靠路径。关键在于别点错菜单,也别指望它生成 word。
- 按
Ctrl+P(windows/linux)或Cmd+P(macos),输入Developer: Toggle Developer Tools先关掉开发者工具(它会干扰打印样式) - 打开要导出的文件,确保是编辑器焦点状态,然后按
Ctrl+P→ 输入Print→ 选Developer: Print to PDF - 系统弹出保存对话框,默认文件名是
vscode-print.pdf,建议手动改成带日期和文件名的格式,比如main.py-20240521.pdf - 导出的 PDF 会保留当前主题色、字体大小、行号和缩进,但不保留光标位置、折叠状态或终端输出
导出纯文本需绕过编辑器直接操作文件
VS Code 没有“另存为纯文本副本”按钮。想拿到干净无格式的 .txt,本质是复制文件内容到外部工具,而不是靠 VS Code 功能完成。
- 右键编辑器标签 →
Reveal in Explorer,在资源管理器里直接复制该.js、.py等源文件,粘贴即得原始文本 - 如果需要加行号或统一缩进再导出,先全选(
Ctrl+A),再用Ctrl+Shift+P→ 运行Editor: copy with Syntax Highlighting(仅限已安装bradlc.vscode-tailwindcss等插件时可用),否则粘贴出来就是纯文本 - 别用“保存副本”命令——它只是复制文件,不会转换格式,后缀仍是
.py而不是.txt
用命令行批量转 PDF 更稳定(适合多文件场景)
VS Code 的 Print to PDF 是单文件操作,且依赖 electron 渲染,遇到大文件或特殊字符容易卡死或漏行。真要批量处理,终端更可控。
- 安装
highlight命令行工具:sudo apt install highlight(ubuntu)、brew install highlight(macOS) - 执行:
highlight --style-dark --font-size 10 --out-format=pdf --output=main.pdf main.py,就能生成带主题、行号、字号可控的 PDF - 注意:VS Code 当前使用的配色主题(如
One Dark Pro)不会被highlight读取,它只认自己的内置样式,所以导出效果和编辑器里看到的会有差异 - Windows 用户可用
pygmentize替代,但需先装 Python 和pip install Pygments
别忽略字体和页边距对打印的实际影响
导出的 PDF 看着正常,但真拿去打印机打出来可能缩在左上角、文字截断、或行距糊成一片——这不是 VS Code 的 bug,是 PDF 渲染层和打印机驱动之间的老问题。
- 导出前,在 VS Code 设置里搜
editor.fontFamily,换成等宽且打印机友好的字体,比如"Fira Code", "Consolas", "monospace",避免用"JetBrains Mono"这类连字字体 - PDF 导出后,用系统预览(macOS)或 edge(Windows)打开再打印,别用 chrome —— Chrome 的 PDF 打印引擎对代码行高计算经常出错
- 如果必须用 Word,先把 PDF 拖进 Word,它会自动 ocr,但中文注释可能乱码,且所有缩进会变成空格堆砌,后期要手动清理
实际用下来,最省事的是单文件走 Developer: Print to PDF,但只要涉及两三个以上文件、或者要交差给不熟悉技术的人看,就得切到命令行工具。字体、预览器、打印机型号这三样,任缺一个都可能导致“明明屏幕上好看,打出来没法读”。