VS code调试代码快速上手必备知识

一、通过简单的配置运行一个JavaScript程序

1、打开(创建)一个新的工作空间(文件夹),并创建一个js文件:

var name=‘world‘;
var s=‘Hello,${name}!‘;
console.log(s);

2、点击调试后会提示需要配置:

点击后会自动生成一个json配置文件,之后将默认启动文件名修改为你刚创建的文件名:

Ctrl+S保存json配置文件,之后就可以调试(运行)你写的javascript程序来。

二、使用VS code调试代码的一些常识,launch.json文件的一些属性说明以及一些用法说明(详细文档见:https://code.visualstudio.com/docs/editor/debugging#_launch-configurations)

1、基本常识

  首先创建(打开)一个文件夹作为工作空间,然后创建一个源文件。 Ctrl+Shift+D快速进入调试窗口,也可以通过旁边的虫子(锁)图标进入;调试当前文件可直接按F5。通常情况下,第一次在某个工作空间(文件夹)中调试时需要先编写配置文件,配置文件launch.json位于工作空间的.vscode文件夹中。第一次调试时,点击齿轮图标选择需要配置的文件类型(JavaScript自带有,其他编程语言如C语言、python、Java等需要预先下载对应的调试器插件):

选择之后就会在对应位置自动生成一个完成了基础配置的json文件。(VS code有两种核心的调试模式:launch和attach。详见官方文档,本文以launch为背景)。我们可以修改配置信息,还可以向其中添加新的配置信息。配置完成后就可以debug程序了,大部分情况下debug等价于run的,但是并不是所有调试器插件都支持run。

2、luanch.json文件的一些属性说明

(1)、以下属性是每个配置文件的必备属性

  type:后面跟的是启动调试使用的调试器类型,如node,php,go等等;

  request:后面跟的是配置文件类型,如launch,attach;

  name:后面是写给自己看的(随便写)
  program:一般设置为你要调试的文件,格式为:"program": "${workspaceFolder}\\路径\\文件名.js")

(2)、以下属性是几个实用的可选项(更多的见官方文档)

  preLaunchTask:在调试开始前执行预设任务,通常配合task.json文件使用。

  postDebugTask:在调试结束时启动一个任务,配合task.json文件使用。(与preLaunchTask一道,准备单独写一篇)

  args:程序调试时传递给程序的命令行参数,一般设为[ ]即可

  cwd:当前的工作目录

  console:选择控制台类型,有internalConsoleintegratedTerminal和 externalTerminal三种。

(3)、一些预先定义的变量(详见:https://code.visualstudio.com/docs/editor/variables-reference)

  ${workspaceFolder}  ------  工作空间的根目录

  ${file}  ------  在活动编辑器中打开的文件

  ${relativeFile}  ------  当前打开文件相对于workspaceFolder的路径

  ${fileBasename}  ------  当前打开文件的基础名字

  ${fileBasenameNoExtension}  ------  当前打开文件的基础名字不包含扩展名

  ${excePath}  ------  正在运行的可执行文件的路径

  ${defaultBuildTask}  ------  生成任务的默认名字

  ${env:USERNAME}  ------  使用环境变量(USERNAME为环境变量名称)

3、一些用法说明

(1)、一个小技巧让配置在工作空间之间共享(如果某个工作空间里面有了launch配置文件则会忽略全局共享的配置文件)

"launch": {
    "version": "0.2.0",
    "configurations": [{
        "type": "node",
        "request": "launch",
        "name": "Launch Program",
        "program": "${file}"
    }]
}

(2)、多目标调试

涉及多个进程(例如,客户端和服务器)的复杂场景,VS代码支持多目标调试,:启动第一个调试会话后,可以启动另一个会话。一旦第二个会话启动并运行,就会切换到多目标模式。

(3)复合配置

使用compound来对多条配置信息进行,例如:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Server",
      "program": "${workspaceFolder}/server.js"
    },
    {
      "type": "node",
      "request": "launch",
      "name": "Client",
      "program": "${workspaceFolder}/client.js"
    }
  ],
  "compounds": [
    {
      "name": "Server/Client",
      "configurations": ["Server", "Client"],
      "preLaunchTask": "${defaultBuildTask}"
    }
  ]
}

(4)断点的使用

VS code还支持breakpoint(断点)和logpoint(记录点),后者是断点的变体,可以将消息记录到控制台。(更多高级用法见官方文档)

(5)、远程调试,在服务调试时自动打开一个URL等。(官方文档:https://code.visualstudio.com/docs/editor/debugging#_launch-configurations)

原文地址:https://www.cnblogs.com/mitoohi/p/12297390.html

时间: 2024-10-04 01:14:20

VS code调试代码快速上手必备知识的相关文章

Java动态代理代码快速上手

动态代理的两个核心的点是:代理的行为 和 代理机构. 举个例子,上大学的时候,很多同学吃午饭的时候都是叫别人带饭,有一个人H特别热心肠,想了一个办法,他在门口挂了个公示牌,每天有谁想要找人带饭就写公告牌上写下自己想吃的饭,H每次直接记下谁谁谁想吃什么饭然后去帮大家买饭.这就是一个典型代理的过程.这里代理的行为就是带饭,代理的机构就是H.而且代理行为和代理机构之间进行了解耦. 下面,我们基于这个例子使用JDK提供的代理机制来实现代码. 首先,我们创建一个代理行为类接口BuyLunchInt(因为可

flask 快速上手 预备知识

有个项目需要几个html页面动态生成,快速实现下用flask,以下记录 这里测试的是 xshell 中 curl 获取对应的页面并保存到本地,但是邮编的服务器并没有相关的打印,如果是再浏览器中就会有 很奇怪 这个地方 有请求过去应该再console里面就有相关的日志打印,但是测试几次中一会有一会没有,没有规律! 原因找到,eclipse 点击下面停掉 python 但是后台还是有进程 在运行,导致异常出现 这里手动杀掉 python进程后正常运行测试打印 引入 外部传入的参数 app.route

Centos6.5使用yum安装mysql——快速上手必备

第1步.yum安装mysql [[email protected] ~]#  yum -y install mysql-server 安装结果: Installed:     mysql-server.x86_64 0:5.1.73-3.el6_5                                                                                                                              

Centos6.5使用yum安装mysql——快速上手必备(转)

第1步.yum安装mysql[[email protected] ~]#  yum -y install mysql-server安装结果:Installed:    mysql-server.x86_64 0:5.1.73-3.el6_5                                                                                                                                  

Visual Studio Code python 代码快速自动提示

1.file --> setting->设置 搜索 python 或者auto_complete setting.json { "explorer.confirmDelete": false, // "python.linting.pylintArgs": [ // "--generate-members" // ], "editor.suggestSelection": "first", &q

windows下用visual studio code 调试go代码

http://www.golangtc.com/download下载安装包或压缩包 配置环境变量 配置GOROOT: 配置PATH:在PATH最后添加 配置GOPATH:GOPATH的作用请自行百度,具体目录可以自行定义 需要的扩展插件 代码自动完成(使用gocode) 快速提示信息(使用godef) 跳转到定义(使用godef) 搜索参考引用(使用go-find-references) 文件大纲(使用go-outline) 重命名(使用gorename) 保存构建(使用go build和go

学习Keras:《Keras快速上手基于Python的深度学习实战》PDF代码+mobi

有一定Python和TensorFlow基础的人看应该很容易,各领域的应用,但比较广泛,不深刻,讲硬件的部分可以作为入门人的参考. <Keras快速上手基于Python的深度学习实战>系统地讲解了深度学习的基本知识.建模过程和应用,并以深度学习在推荐系统.图像识别.自然语言处理.文字生成和时间序列中的具体应用为案例,详细介绍了从工具准备.数据获取和处理到针对问题进行建模的整个过程和实践经验. <Keras快速上手>PDF,531页,带书签目录,彩色配图,文字可以复制. 配套源代码和

入门python:《Python编程快速上手让繁琐工作自动化》中英文PDF+代码

入门推荐学习<python编程快速上手>前6章是python的基础知识,通俗易懂地讲解基础,初学者容易犯错的地方,都会指出来.从第三章开始,每章都有一个实践项目,用来巩固前面所学的知识. 从第七章开始就是书名中的后半部:让繁琐工作自动化.每个章节都可独立出来.每看完一个章节,你都能将其中的知识点融会贯通,用到自己的日常工作中,提高效率.第九章 组织文件对系统管理员非常有用,能够指挥程序完成复制 备份文件(夹)操作.第十一章是web抓取信息,介绍了主流的request beautifulSoup

《Python编程快速上手 让繁琐工作自动化》pdf

<div id="article_content" class="article_content tracking-ad" data-mod="popu_307" data-dsm="post"> <p><br></p><p>下载地址:<a target="_blank" href="https://page74.ctfile.co