【问题标题】:Debugging current file in VS Code在 VS Code 中调试当前文件
【发布时间】:2016-07-17 09:28:23
【问题描述】:

我正在编写 javascript,目前正在做简单的练习/程序。有时,我希望运行我的文件以进行测试。我知道我可以创建一个HTML 文件并在控制台中执行此操作。在 Sublime 中,有一种方法可以“构建”当前文件并立即查看结果(例如,发送到 console.log 的任何内容)。

使用 VS Code,似乎对于我想以这种方式“构建”/调试的每个文件,我必须手动更改 launch.json 文件以反映当前程序的名称。

我一直在研究解决这个问题的方法,我了解到有像 ${file} 这样的变量,但是当我在 launch.json "program" 属性中使用它时,例如:

"program": "${workspaceRoot}/${file}"

无论有没有workspaceRoot 部分,我都会收到以下错误:

Attribute "program" does not exist" (file name here). 

我是否错过了一种简单的方法来完成此操作,还是每次我想运行文件时都必须继续编辑launch.json

提前致谢!

【问题讨论】:

  • 我认为这个有更新。现在我们可以直接按调试开始按钮调试一个 js 文件。除非已经有配置。它会自动开始调试当前文件。

标签: javascript visual-studio-code


【解决方案1】:

改为:

"program": "${file}"

【讨论】:

  • 我使用不同的名称来调试项目中的不同文件,并在完成后从launch.json文件中删除条目。
  • @jdb79 你应该点击左边的绿色勾号来接受答案
  • 我有时还添加了"cwd": "${fileDirname}" 以使其在当前文件的文件夹中启动(例如,在使用当前文件位置的相对路径加载文件时很有用 - 例如:fs.readFile('./somefile.txt'))跨度>
【解决方案2】:

作为参考,这是完整的 launch.json

{
  "launch": {
    "version": "0.2.0",
    "configurations": [
      {
        "name": "Node.js - Debug Current File",
        "type": "node",
        "request": "launch",
        "program": "${file}"
      }
    ]
  }
}

【讨论】:

  • 在我的项目的launch.json中有条目“名称”:“启动程序”,它会有所不同而不是“调试文件”使用“启动程序”吗?
  • @vikramvi 没有区别,仅供参考(例如,它会在状态栏中显示当前活动任务的名称)
  • 造成差异的是type 我认为:您可以拥有类似的配置对象,但在nametype 键中有差异。 type 是语言。
【解决方案3】:

对于单个文件,您可以完全跳过 launch.json 文件。只需单击调试器面板中的绿色箭头,然后选择 Node 作为您的环境。

来自here

【讨论】:

  • 如果您还没有启动配置设置,则单击绿色箭头将为您提供环境选择,然后创建包含项目的启动文件。否则,绿色箭头将运行下拉列表中的选定项。
  • 或者直接按F5
猜你喜欢
  • 1970-01-01
  • 2021-05-10
  • 2021-05-05
  • 2019-12-29
  • 2020-09-30
  • 2023-03-10
  • 2020-03-09
  • 2018-04-17
  • 2020-08-25
相关资源
最近更新 更多