VS Code调试技巧:使用Pretty Printing美化显示压缩后的代码

发布时间 - 2025-12-01 00:00:00    点击率:
Pretty Printing是VS Code中调试压缩JS代码的功能,通过点击{}图标将混淆代码格式化为易读形式,支持断点调试,配合source map可映射回原始源码,提升排查效率。

压缩后的JavaScript代码在调试时往往难以阅读,变量名被缩短,逻辑挤在一行,给排查问题带来很大困扰。VS Code 提供了“Pretty Printing”功能,能自动格式化混淆或压缩的代码,让其变得可读,方便断点调试。

什么是 Pretty Printing

当加载的是 .min.js 或经过 Uglify、Terser 等工具压缩的脚本时,源码几乎不可读。Pretty Printing 会在调试器中将这些压缩代码自动转换成格式清晰、缩进合理的版本,便于查看执行流程和设置断点。

注意:该功能仅改变代码展示形式,不会修改原始文件。

如何启用 Pretty Printing

在 VS Code 的调试面板中操作如下:

  • 启动调试会话(F5),确保已正确配置 launch.json
  • 在“调试控制台”或“调用堆栈”面板中找到加载的压缩脚本(如 app.min.js)
  • 点击文件名旁边出现的 {} 图标(Format Document)
  • 代码编辑区将显示美化后的版本,支持设置断点和单步执行
小技巧:若未看到 {} 按钮,说明当前文件未被 JavaScript 调试器识别为可美化对象,检查是否启用了正确的调试器(如 @vscode/js-debug)。

配合 Source Map 效果更佳

Pretty Printing 只是临时美化,若项目生成了 source map 文件(.map),调试体验会进一步提升:

  • 调试器可直接映射到原始源码文件
  • 断点可在未压缩的源文件上设置
  • 变量名、函数结构保持开发时状态

确保构建工具(Webpack、Vite 等)输出 source map,并在 launch.json 中设置 "sourceMaps": true。

常见问题处理

如果 Pretty Printing 不生效,尝试以下方法:

  • 确认使用的是最新版 VS Code 和内置 JavaScript 调试器
  • 检查 launch.json 是否包含 "resolveSourceMapLocations" 配置以允许加载 map 文件
  • 对于远程调试(如浏览器),确保网络可访问 source map 路径
  • 某些 CDN 托管的库可能不提供 map 文件,此时只能依赖 Pretty Printing 临时美化

基本上就这些。开启 Pretty Printing 后,哪怕面对一整行的压缩 JS,也能快速定位问题位置,大大提升调试效率。


# javascript  # java  # vscode  # js  # json  # vite  # 浏览器  # app  # 工具  #   # cdn  # vs code 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  网站图片在线制作软件,怎么在图片上做链接?  微信小程序 五星评分(包括半颗星评分)实例代码  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  javascript基于原型链的继承及call和apply函数用法分析  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  大连网站制作公司哪家好一点,大连买房网站哪个好?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  Laravel如何实现API版本控制_Laravel版本化API设计方案  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  潮流网站制作头像软件下载,适合母子的网名有哪些?  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  成都网站制作公司哪家好,四川省职工服务网是做什么用?  如何在IIS服务器上快速部署高效网站?  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  香港服务器选型指南:免备案配置与高效建站方案解析  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  个人网站制作流程图片大全,个人网站如何注销?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  EditPlus中的正则表达式实战(6)  如何快速生成ASP一键建站模板并优化安全性?  北京企业网站设计制作公司,北京铁路集团官方网站?  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  如何快速完成中国万网建站详细流程?  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  如何快速搭建支持数据库操作的智能建站平台?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  C++用Dijkstra(迪杰斯特拉)算法求最短路径  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  如何快速搭建FTP站点实现文件共享?  JS实现鼠标移上去显示图片或微信二维码  Linux系统运维自动化项目教程_Ansible批量管理实战  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  如何快速登录WAP自助建站平台?  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  Laravel路由怎么定义_Laravel核心路由系统完全入门指南  Laravel如何使用Sanctum进行API认证?(SPA实战)  如何在万网ECS上快速搭建专属网站?  Bootstrap整体框架之CSS12栅格系统  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  如何在建站之星网店版论坛获取技术支持?  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  浅述节点的创建及常见功能的实现  公司门户网站制作流程,华为官网怎么做?  Laravel如何实现全文搜索功能?(Scout和Algolia示例)