VSCode史诗级更新,可以无缝调试浏览器了。下面本篇文章就来带大家了解一下这个功能,看看如何使用,以及原理浅析,希望对大家有所帮助!

VSCode可无缝调试浏览器了,快来看看使用方法和原理浅析吧!插图

2021-07-16 微软发布了一篇博客专门介绍了这个功能,VSCODE 牛逼!

在此之前,你想要在 vscode 内调试 chrome 或者 edge 需要借助于 Chrome Debugger 或者 the Microsoft Edge Debugger extension 这两款 vscode 扩展。

并且更重要的是,其仅能提供最基本的控制台功能,其他的诸如 network,element 是无法查看的,我们仍然需要到浏览器中查看。【推荐学习:《vscode教程》】

这是个什么功能

更新之后,我们可以直接在 vscode 中 open link in chrome or edge,并且直接在 vscode 内完成诸如查看 element,network 等几乎所有的常见调试需要用到的功能

效果截图:

1.png(edge devtools)

2.png(debug console)

如何使用

使用方式非常简单,大家只需要在前端项目中按 F5 触发调试并进行简单的配置即可。这里给大家贴一份 lauch.json 配置,有了它就可以直接开启调试浏览器了。

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "pwa-msedge",
      "request": "launch",
      "name": "Launch Microsoft Edge and open the Edge DevTools",
      "url": "http://localhost:8080",
      "webRoot": "${workspaceFolder}"
    }
  ]
}

原理

原理其实和 chrome debugger 扩展原理类似。也是基于 Chrome 的 devtool 协议,建立 websocket 链接。通过发送格式化的 json 数据进行交互,这样 vscode 就可以动态拿到运行时的一些信息。比如浏览器网络线程发送的请求以及 DOM 节点信息。

你可以通过 chrome devtool protocol 拿到很多信息,比如上面提到的 network 请求。

由于是 websocket 建立的双向链接,因此在 VSCODE 中改变 dom 等触发浏览器的修改也变得容易。我们只需要在 VSCODE(websocket client) 中操作后通过 websocket 发送一条 JSON 数据到浏览器(websocket server)即可。浏览器会根据收到的 JSON 数据进行一些操作,从效果上来看和用户直接在手动在浏览器中操作并无二致。

值得注意的,chrome devtool protocol 的客户端有很多,不仅仅是 NodeJS 客户端,Python,Java,PHP 等各种客户端一应俱全。

更多编程相关知识,请访问:编程入门!!

以上就是VSCode可无缝调试浏览器了,快来看看使用方法和原理浅析吧!的详细内容,更多请关注亿码酷站其它相关文章!


<!–亿码酷站直播班–>VSCode可无缝调试浏览器了,快来看看使用方法和原理浅析吧!
—–文章转载自PHP中文网如有侵权请联系ymkuzhan@126.com删除

下载声明:
  • 本站资源如无特殊说明默认解压密码为www.ymkuzhan.com建议使用WinRAR解压;
  • 本站资源来源于用户分享、互换、购买以及网络收集等渠道,本站不提供任何技术服务及有偿服务,资源仅提供给大家学习研究请勿作它用。
  • 赞助本站仅为维持服务器日常运行并非购买程序及源码费用因此不提供任何技术支持,如果你喜欢该程序,请购买正版!
  • 版权声明:
  • 下载本站资源学习研究的默认同意本站【版权声明】若本站提供的资源侵犯到你的权益,请提交版权证明文件至邮箱ymkuzhan#126.com(将#替换为@)站长将会在三个工作日内为您删除。
  • 免责声明:
  • 您好,本站所有资源(包括但不限于:源码、素材、工具、字体、图像、模板等)均为用户分享、互换、购买以及网络收集而来,并未取得原始权利人授权,因此禁止一切商用行为,仅可用于个人研究学习使用。请务必于下载后24小时内彻底删除,一切因下载人使用所引起的法律相关责任,包括但不限于:侵权,索赔,法律责任,刑事责任等相关责任,全部由下载人/使用人,全部承担。以上说明,一经发布视为您已全部阅读,理解、同意以上内容,如对以上内容持有异议,请勿下载,谢谢配合!支持正版,人人有责,如不慎对您的合法权益构成侵犯,请联系我们对相应内容进行删除,谢谢!