关于vscode断点调试

关于vscode断点调试很多人习惯在Chrome的调试窗口中调试Vue代码,或者直接使用console.log来观察变量值,这是非常痛苦的一件事,需要同时打开至少3个窗体。个人还是更加习惯于断点调试。这篇文章将介绍如何配置VisualStudioCode和Chrome来完成直接在VSCode断点调试代码,并且在VSCode的调试窗口看到Chrome中console相同的值。设置…

大家好,又见面了,我是你们的朋友全栈君。

很多人习惯在 Chrome 的调试窗口中调试 Vue 代码, 或者直接使用 console.log 来观察变量值, 这是非常痛苦的一件事,需要同时打开至少 3 个窗体。个人还是更加习惯于断点调试。这篇文章将介绍如何配置 Visual Studio Code 和 Chrome 来完成直接在 VS Code 断点调试代码, 并且在VS Code的调试窗口看到Chrome中console相同的值。

设置 Chrome 远程调试端口

首先我们需要在远程调试打开的状态下启动 Chrome, 这样 VS Code 才能 attach 到 Chrome 上:

Windows

  • 右键点击 Chrome 的快捷方式图标,选择属性
  • 在目标一栏,最后加上–remote-debugging-port=9222 注意要用空格隔开

macOS

打开控制台执行:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome –remote-debugging-port=9222

Linux

打开控制台执行:

google-chrome –remote-debugging-port=9222

Visual Stuido Code 安装插件

点击 Visual Studio Code 左侧边栏的扩展按钮, 然后在搜索框输入Debugger for Chrome并安装插件,再输入,安装完成后点击 reload 重启 VS Code

添加 Visual Studio Code 配置

  • 点击 Visual Studio Code 左侧边栏的 调试 按钮, 在弹出的调试配置窗口中点击 设置 小齿轮, 然后选择 chrome, VS Code 将会在工作区根目录生成.vscode 目录,里面会有一个 lanch.json 文件并会自动打开
  • 用下面的配置文件覆盖自动生成的 lanch.json 文件内容。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
//…
“version”:
“0.2.0”,
“configurations”: [
{
“type”:
“chrome”,
“request”:
“launch”,
“name”:
“vuejs: chrome”,
“url”:
“http:192.168.1.210:8010”,
“webRoot”:
“${workspaceFolder}/src”,
“breakOnLoad”:
false,
“sourceMapPathOverrides”: {
“webpack:///src/*”:
“${webRoot}/*”
}
}
]
}

修改 webpack 的 sourcemap

如果你是基于 webpack 打包的 vue 项目, 可能会存在断点不匹配的问题, 还需要做些修改:

  • 打开根目录下的 config 目录下的 index.js 文件
  • 将dev 节点下的 devtool 值改为 ‘eval-source-map’
  • 将dev节点下的 cacheBusting 值改为 false

开始调试吧

一切具备了, 现在验收成果了

  • 通过第一步的方式以远程调试打开的方式打开 Chrome
  • 在 vue 项目中执行npm run dev以调试方式启动项目
  • 点击 VS Code 左侧边栏的调试按钮,选择 Attach to Chrome 并点击绿色开始按钮,正常情况下就会出现调试控制条。
  • 现在就可以在.vue文件的js代码中打断点进行调试了。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143683.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 深入理解JVM—JVM垃圾回收机制[通俗易懂]

    深入理解JVM—JVM垃圾回收机制[通俗易懂]垃圾回收是指不定时去堆内存中清理不可达对象。不可达的对象并不会马上就会直接回收,垃圾收集器在一个Java程序中的执行是自动的,不能强制执行,程序员唯一能做的就是通过调用System.gc方法来建议执行垃圾收集器,但其是否可以执行,什么时候执行却都是不可知的。这也是垃圾收集器的最主要的缺点。当然相对于它给程序员带来的巨大方便性而言,这个缺点是瑕不掩瑜的。先谈一下新生代与老年代根据垃圾回…

    2022年5月20日
    44
  • vue关于页面刷新的几个方式[通俗易懂]

    vue关于页面刷新的几个方式[通俗易懂]在写项目的时候会遇到需要刷新页面重新获取数据,浅浅总结了一下几种方案。1.this.$router.go(0)强制刷新页面,会出现一瞬间的白屏,用户体验感不好。2.location.reload()也是强制刷新页面,和第一种方法一样,会造成一瞬间的白屏,用户体验感不好。3.跳转空白页再跳回原页面在需要页面刷新的地方写上:this.$router.push(’/emptyPage’),跳转到一个空白页。在emptyPage.vue里beforeRouteEnter钩子里控制页面跳转,从而达到刷新

    2022年10月16日
    3
  • conversation pattern_inverted pattern

    conversation pattern_inverted patternSample<paramname=”ConversionPattern”value=”%d[%t]%-5p%c[%x]%X{auth}-Line:%L%m%n”/> %m(message):输出的日志消息%n(newline):換行%d(datetime):输出当前语句运行的时刻%r(runtime):输出程序从运行到执…

    2022年8月22日
    7
  • Java POI导出(图片,文字,表格)word文档

    Java POI导出(图片,文字,表格)word文档先给出官网链接,方便各位博友深入了解http://deepoove.com/poi-tl/这里的教程,针对导出带有图片、文字、表格的Word文档1.话不多说先添加依赖<dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifact…

    2022年8月31日
    4
  • VC6.0建立控制台程序实现PDA应用

    VC6.0建立控制台程序实现PDA应用

    2022年1月31日
    65
  • allure测试报告+Jenkins集成

    allure测试报告+Jenkins集成前提:得装了jdk1.8allure测试报告的样子是这样的,它能显示你运行了几次,然后每次运行有多少次成功多少次失败,之前的和现在的下载地址:链接:https://pan.baidu.com/s/1bG0a0DYxBoUpHtWM3M4n_g提取码:qtv8将文件减压,然后把bin文件目录下的allure.bat放到配置环境变量里然后cmd运行allure命令,显示这样算成功…

    2022年7月26日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号