VS Code 折腾记 - (7) 内置Debug功能深入【调教angular-cli 最新版】

前言

很多小伙伴说用了打包工具(Webpack)之后,断点调试相当痛苦;

常规的方式无非是debugger,console.log()大法;

但是,vscode这货天生支持debug功能,不用白不用,今天我就说说怎么调教angular-cli;


题外话(号外)

最近vscode又更新了。。最新的版本是1.10.2;不详细解释,点一下;

  1. 引入了minimap(这个好啊)。在配置文件里面启用"editor.minimap.enabled": true;当然还有一些额外的小地图参数
  2. 内置JSDOC功能,又可以少掉一个插件, **触发
  3. 复制内容保持格式化,逼格满满,适用于复制到文档什么的
  4. 目录树引入了命令控制,可以自定义绑定按键啦,比如新建目录和文件
  5. Debug功能强化,支持列断点,溜的飞起额
  6. 某些编程语言默认执行的配置文件设置
  7. terminal输出的链接可以直接点击访问啦
  8. HTML DOM的快速跳转
  9. Debug的配置项更多了,天生支持gulp这些了。这些需要自行去研究文档哈

剩下的亮点自行去看发行日志啦…..


Vs Code Debug(Ctrl + Shift +D)

再来一次截图解释,怪我咯,不然不好说。。。

部分快捷键

  1. 继续(F5)
  2. 单步跳过(F10)
  3. 单步调试(F11)
  4. 单步跳出(Shift + F11)
  5. 重启(Ctrl + Shift + F5 )
  6. 停止/结束(Shift + F5)

安装插件

Debugger for Chrome : Debug your JavaScript code in the Chrome browser, or any other target that supports the Chrome Debugger protocol.

简言之:就是让你的代码在chrome上调试,为什么vscode不集成这个,可能控制体积大小什么的。。

记得ng serve要先行启动,调试是调试,不包括引导angular-cli的启动;

配置文件很简单:

{
  "version": "0.2.0",
  "configurations": [{
    "name": "LaunchChrome",
    "type": "chrome",
    "request": "launch",
    "url": "http://localhost:4200",
    "sourceMaps": true,
    "webRoot": "${workspaceRoot}",
    "userDataDir": "${workspaceRoot}/.vscode/chrome"
  }]
}

配置解释

  • version : 你定义这个配置文件的版本,默认是0.2.0,生成的时候
  • configuration:配置域
  • name:配置文件的名字,比如你可以叫做Debug Angular-cli
  • type:调试的类型,vscode天生支持node,比如go,php,chrome这些就依赖插件啦
  • request : 配置文件的请求类型,有launchattach两种,具体看官方文档
  • url:这个是chrome插件带的,指定访问的链接
  • webRoot:也是chrome插件带的,指定根目录或者执行文件
  • ${workspaceRoot}:就是你打开vscode读取的项目目录
  • sourceMaps:默认是启用的,对于打包的调试,小伙伴们必须开启
  • userDataDir:临时目录,专门保存调试过程产生的东西

启动调试

  1. 正确的情况下就会弹窗一个新的chrome页面,
  2. 打断点很简单,就直接在你需要断点的页面,点行号靠左的地方,有个小红点的地方,点击出来红色就是打上了(小红点再点击一次就是取消),如图:

  3. 打开相应的页面,执行到响应的代码块就会触发debug了。。然后vscode就可以看到你想瞅瞅的数据了。。调试过程(单步什么的),对应的本地文件会显示数据变动在你的


总结

VS Code的Debug功能相当好用,若是想引导程序启动再打开chrome这种也可以实现,就是需要写的配置文件比较繁琐,很花时间;

除了天生支持node内置debug,以下的都需要借助插件才可以

  1. C#
  2. Python
  3. Chrome
  4. C/C++
  5. Go
时间: 2024-10-02 19:50:16

VS Code 折腾记 - (7) 内置Debug功能深入【调教angular-cli 最新版】的相关文章

thinkphp5内置分页功能第二页没有拿到参数,如何解决?

本文转自:https://www.yunyingxbs.com/article/detail/id/342.html 感谢作者的无私分享! 最近在做项目,使用的是thinkphp5(tp5)开发的,使用tp5内置的分页功能. 那么,问题来了,我使用paginate函数生成分页时,若没有第二页是没有关系的,但是当出现分页时,结果没有请求参数. 也就是说,分页如何添加参数,搜索的时候第二页没有参数了,不可能每次手动添加吧? 查找paginate函数 细细看paginate函数包括三个参数,如下: /

文成小盆友python-num3 集合,函数,-- 部分内置函数

本接主要内容: set -- 集合数据类型 函数 自定义函数 部分内置函数 一.set 集合数据类型 set集合,是一个无序且不重复的元素集合 集合基本特性 无序 不重复 创建集合 #!/bin/env python s1 = {"1","2","3","4"} ##或者 s2 = set() set 提供的功能 1 class set(object): 2 """ 3 set() -> n

s14 第4天 关于python3.0编码 函数式编程 装饰器 列表生成式 生成器 内置方法

python3 编码默认为unicode,unicode和utf-8都是默认支持中文的. 如果要python3的编码改为utf-8,则或者在一开始就声明全局使用utf-8 #_*_coding:utf-8_*_ 或者将字符串单独声明: a = "中文".encode("utf-8") 函数式编程 函数式编程中的函数指代的是数学中的函数. 函数式编程输入如果确定,则输出一定是确定的.函数中并没有很多逻辑运算 python是一个面向对象的语言,只是一部分支持函数式编程.

PHPWAMP内置IIS管理器一键搭建PHP网站,支持无限个不同PHP版本同时运行

PHPWAMP内置了功能强大的IIS站点管理,可同时运行多个PHP版本,站点管理可自定义添加PHP版本 使用方式:点击相关设置,直接打开IIS站点管理即可使用,如果你电脑没安装IIS,会自动快速安装 (点击图片可查看高清大图) IIS站点管理一打开就可以使用,按照你的需求进行站点添加,也分为域名模式和端口模式 区别:域名模式不需要将默认主界面设置成80端口(因为主界面是nginx和apache的端口与IIS无关) 下面我们来演示IIS站点管理的域名模式以及端口模式 IIS站点管理"端口模式&qu

MindMapper内置浏览器如何进行使用

我们可以直接在MindMapper内置浏览器中打开我们的链接或是目标网页,不需要跳转到系统浏览器中,并且能够与导图并排窗口在一个界面中,增添了许多方便.下面我们就讲解了MindMapper内置浏览器. 查看更多内容可直接前往:http://www.mindmapper.cc/jiqiao/mmp-neizhi-liulanqi.html MindMapper内置浏览器功能图标在界面右侧工具栏中. 我们点击便可打开MindMapper内置浏览器窗口,我们可以在文本框内输入想要打开的网页地址,点击跳

Druid基本配置及内置监控使用

1.             使用方法 首先从http://repo1.maven.org/maven2/com/alibaba/druid/ 下载最新的jar包.如果想使用最新的源码编译,可以从https://github.com/alibaba/druid 下载源码,然后使用maven命令行,或者导入到eclipse中进行编译. 和dbcp类似,druid的配置项如下: 配置 缺省值 说明 name 配置这个属性的意义在于,如果存在多个数据源,监控的时候 可以通过名字来区分开来.如果没有配置

现代浏览器中内置的可以等效替代jQuery的功能

jQuery的体积在不断的增大.新功能要不断增加,这是必然结果.虽然从版本1.8.3开始的瘦身效果明显,但不可否认的是,对于移动手机端的网 页开发,它仍然是不可接受的.当然,jQuery不是铁板一块,你可以对它进行定制,只打包进你想要的组件,但其中的一些用来兼容老式浏览器的代码你无法 去除. 就我的个人习惯来说,不管开发什么项目,即使是一个很简单的demo,我做的第一件事就是引入jQuery,这样做主要是想使用它提 供的DOM选择器功能.对于一些像IE6/IE7这样的老式浏览器,这种做法是显而易

Python 2.7 学习笔记 内置语句、函数、标准库

使用任何开发语言进行软件开发,都离不开语言提供的内置库(或Api),甚至说内置库的强大及使用是否方便都会影响大家对开发语言的选择. python语言,一样提供了很多内置的功能,可供开发时使用.主要有如下几种: 一.内置语句 我们知道的最常见的就是赋值语句,通过运算符 =  将表达式赋值给某个变量. 除了赋值语句外,python还提供了一些内置的语句,如: print语句,用于在控制台输出 del语句,用于删除变量 pass 语句,空语句,什么都不干 二.内置函数 python也提供了许多内置函数

函数递归+匿名函数+内置函数day15

一.函数递归 什么是函数递归: 函数递归调用是一种特殊的嵌套调用,在调用一个函数的过程中,又直接或间接地调用了该函数本身. 其中,函数的递归有明确的结束条件,不能无限制的调用,否则会撑破内存,在Python中限定递归最多调用1000层. 1000层这个值是大概的数值,这个数值可以通过Python内置的功能进行更改. 递归必须要有两个明确的阶段: 递推:一层层递归调用下去,强调每次进入下一次递归,问题规模都在减小 回溯:递归必须要有一个明确的结束条件,在满足该条件时结束递推,开始一层层回溯 其中,