史诗级更新,VSCODE 可无缝调试浏览器了!

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

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

并且更重要的是,其仅能提供最基本的控制台功能,其他的诸如 network,element 是无法查看的,我们仍然需要到浏览器中查看。

这是个什么功能

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

效果截图:

(edge devtools)

(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}'
    }
  ]
}

大家需要根据自己的情况修改 url 和 webRoot 等参数。

原理

原理其实和 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 等各种客户端一应俱全。

更多

  • Easier browser debugging with Developer Tools integration in Visual Studio Code
  • vscode-js-debug
  • chrome devtools-protocol
  • Microsoft Edge (Chromium) DevTools Protocol overview

欢迎有需要的同学试试,如果本文对您有帮助,也请帮忙点个 赞 + 在看 啦!❤️

在 编程导航 还有更多优质编程学习资源,欢迎分享给其他同学吧!

(0)

相关推荐

  • 14 上线后不想让人看到源码怎么做?

    如果不做任何处理,默认程序员是可以看到的. 目录 如何调试数据? 如何安装 Vue Devtools? 关于 persistent 选项等 调试时为什么可以看到源码? 为什么 Vue Devtools ...

  • mongo-express 远程代码执行漏洞分析

    搭建调试环境,调试 CVE-2019-10758 漏洞,学习nodejs 沙箱绕过,以及nodejs 远程调试.目前网上关于该漏洞的基于docker的远程调试分析写的很泛,本文从初学者角度分析调试漏洞 ...

  • 如何通过vscode运行调试javascript代码

    方法一: 在 js 后缀文件中写 javascript 代码. 1. 环境配置: (1). 需要安装 nodejs (在Bing搜索中输入 nodejs, 找到nodejs官网,然后找到适合你电脑配置 ...

  • 「访问升级」

    访问升级 今天在域名升级到HTTPS的时候遇到websocket的链接问题,之前在http下使用的是new WebSocket('ws://xxx');但是在切换到HTTPS后这个链接部分浏览器报错甚 ...

  • Stealing Chrome cookies without a password

    If you steal someone's Chrome cookies, you can log in to their accounts on every website they're log ...

  • VSCode开发调试Python

    VSCode开发调试Python

  • pyppeteer 的基本使用

    前言 前段时间因为有任务,需要四个电商(京东.淘宝.天猫.拼多多)的数据.而其中京东的没什么反爬,基本是随便抓.拼多多的加密参数有点复杂,而且变化也挺频繁的,用的是 selenium,也没什么可提的. ...

  • 如何成为一个参加过Selenium开发的成员

    相信大家都有使用Selenium的经验,每每看到各种大神参与过各种开源项目而羡慕不已,其实重要的并不完全是能力而是你是否有参与的态度,参考某个孩子给Linux核心提交过代码. 4岁小女孩给Linux内 ...

  • 王者荣耀史诗级更新,多款模型翻新,鲁班变丑,手机内存真不够了

    王者荣耀这次真的来了一次史上最大更新,一次更新版本居然高达1G数据,两次更新一次是270左右,一次是超过一千,所以说很多玩家担心的这次更新后没内存的可能真的要发生了,不过据说精简版的王者荣耀正在开发中 ...

  • 手把手教你使用VSCode + gdb + gdbserver调试ARM程序

    嵌入式软件开发中,最常用的调试方法就是:log打印调试法及在线调试.log打印调试法相关文章:bug解决不了?使用日志法. 开发STM32时,我们有IDE可以用,IDE中已经集成有调试器,配合仿真器使 ...

  • 支付宝史诗级更新,功能全面加强,微信要小心了

    每天早上叫醒我的不是闹钟,也不是梦想,而是--支付宝的蚂蚁森林能量. 然鹅,今天一早醒来连能量都没收成,因为小雷发现手机里的支付宝居然变了. 小雷看了一圈,发现支付宝从logo.配色.首页等地方统统都 ...

  • 微信“史诗级”更新要来了?

    记者也在电脑上试了试,发现苹果系统PC端上暂未上线该功能. 对此,微信相关负责人向记者表示,该功能目前在内部小范围测试中. 网友:"史诗级"更新 对于微信内测的这个新功能,有网友表 ...

  • 微信“史诗级”更新!网友却直呼“害怕”,咋回事?

    "微信PC端可以自动登录"这两天冲上热搜. 有用户发现,微信在Windows客户端增加了新功能,在登录PC端微信之后,在手机端上勾选"自动登录该设备",下次登录 ...

  • PC版将迎来“史诗级”更新,或成为微信的重要战场

    凭借着QQ与微信在社交行业的强势表现,以及其惊人的商业化能力,也为腾讯的商业帝国在不断"添砖加瓦".其中,微信近年来的高速发展,也拥有了惊人的用户规模.根据腾讯方面公布的2021年 ...

  • ACR滤镜史诗级更新!14.0最新版本免费下载及使用详细教程

    ACR14.0最新插件已经推出,桂林语翔老师独家录制了长达60分钟的免费视频教程,详细.透彻地分享如何安装和使用最新版本ACR14.0带来的强大功能更新. 课程一共分成3节课,分三期推出. 本期视频是 ...

  • 体验服15日史诗级更新,七名英雄加强,“海尔兄弟”成了最大赢家

    大家好我是指尖,10.15日王者荣耀体验服更新,这次对部分英雄做出了史诗级的调整,话不多说,一起来看看吧,反正我是等到体验服能上线之后立即就体验了一下,以下是我个人的想法,欢迎评论区交流. 黄忠-大加 ...

  • 支付宝史诗级更新!一键去除广告

     支付宝,你这么优秀,我不允许还没人知道~ 作者 |牙牙 来源 | 科技宝藏 大家好,我是老朋友牙牙. 不知道有多少小伙伴和牙牙一样,对各个APP的的要求就只剩下--简洁. 还不是现在的APP,实在臃 ...