返回

让调试更加得心应手:在vscode中用launch.json调试ts写的nodejs程序

开发工具

敲开调试之门:launch.json简介

launch.json是一个配置文件,它告诉VSCode如何启动和调试你的程序。你可以为不同的调试配置创建多个launch.json文件,每个文件都有自己的启动和调试设置。

  1. 创建launch.json文件

    • 在你的项目目录下创建一个名为.vscode的文件夹,如果这个文件夹不存在的话。
    • 在.vscode文件夹中创建一个名为launch.json的文件,如果这个文件不存在的话。
  2. 编辑launch.json文件

    • 在launch.json文件中添加以下内容:

      {
        "version": "0.2.0",
        "configurations": [
          {
            "type": "node",
            "request": "launch",
            "name": "Launch",
            "program": "${workspaceFolder}/app.js",
            "cwd": "${workspaceFolder}",
            "args": [],
            "runtimeExecutable": null,
            "runtimeArgs": [],
            "env": {},
            "sourceMaps": true,
            "outDir": "${workspaceFolder}/dist"
          }
        ]
      }
      
    • 将program的值修改为你的Node.js程序的入口文件。

    • 将cwd的值修改为你的项目目录。

    • 将sourceMaps的值修改为true。

    • 将outDir的值修改为你的编译输出目录。

  3. 启动调试器

    • 在VSCode中打开launch.json文件。
    • 点击工具栏上的调试按钮,或者使用快捷键Ctrl+F5(Windows)或Cmd+F5(Mac)。
    • 选择你想要运行的调试配置,然后点击启动按钮。

进阶技巧:编译和调试Tips

  1. 编译TypeScript代码

    • 在你的package.json文件中添加以下脚本:

      {
        "scripts": {
          "build": "tsc"
        }
      }
      
    • 运行以下命令来编译你的TypeScript代码:

      npm run build
      
  2. 使用源映射

    • 在你的launch.json文件中将sourceMaps的值修改为true。
    • 这将允许VSCode将调试器连接到你的源代码,而不是编译后的代码。
    • 这将使你在调试时更容易看到你的源代码。
  3. 使用断点

    • 你可以使用断点来暂停你的程序在特定的行。
    • 要设置一个断点,请点击你想要暂停的那一行的行号旁边的灰色区域。
    • 断点将以一个红色的圆点表示。
    • 当你的程序运行到断点时,它将暂停,你可以在Variables窗格中检查变量的值。
  4. 使用调试控制台

    • 你可以使用调试控制台来打印信息和评估表达式。
    • 要打开调试控制台,请点击VSCode底部的调试控制台按钮。
    • 你可以使用console.log()函数来打印信息。
    • 你可以使用表达式求值器来评估表达式。

更上一层楼:高级调试技巧

  1. 调试多进程应用程序

    • 你可以使用VSCode来调试多进程应用程序。
    • 要做到这一点,你可以在你的launch.json文件中添加一个compound属性。
    • compound属性是一个数组,它包含多个调试配置。
    • 每个调试配置都对应于一个进程。
  2. 调试远程应用程序

    • 你可以使用VSCode来调试远程应用程序。
    • 要做到这一点,你可以在你的launch.json文件中添加一个remote属性。
    • remote属性是一个对象,它包含远程应用程序的主机名、端口和身份验证信息。

结语

通过launch.json文件,你可以轻松地在VSCode中调试Typescript编写的Node.js程序。launch.json文件可以让你指定程序的入口文件、工作目录、源映射和编译输出目录。你还可以使用断点、调试控制台和高级调试技巧来进一步优化你的调试过程。