Javascript 我可以使用Visual Studio代码评测NodeJS应用程序吗?

Javascript 我可以使用Visual Studio代码评测NodeJS应用程序吗?,javascript,node.js,visual-studio,performance,profiling,Javascript,Node.js,Visual Studio,Performance,Profiling,我可以使用Chrome协议成功地将VS代码调试器连接到远程NodeJS目标。我相信同一个协议支持评测和性能测量,这在Chrome开发工具中很容易做到,但我不确定我可以直接从VS代码中做到这一点 是否支持此功能?如何使用它?据我所知,Chrome的开发工具中没有用于启动评测或堆转储等的插件/支持。但是,VS代码调试器可以与开发工具调试器一起工作 从VS代码开始,然后像您希望的那样开始调试。然后从Chrome/Chrome浏览器的任何选项卡打开dev tools,并查找指示node.js调试过程正在

我可以使用Chrome协议成功地将VS代码调试器连接到远程NodeJS目标。我相信同一个协议支持评测和性能测量,这在Chrome开发工具中很容易做到,但我不确定我可以直接从VS代码中做到这一点


是否支持此功能?如何使用它?

据我所知,Chrome的开发工具中没有用于启动评测或堆转储等的插件/支持。但是,VS代码调试器可以与开发工具调试器一起工作

从VS代码开始,然后像您希望的那样开始调试。然后从Chrome/Chrome浏览器的任何选项卡打开dev tools,并查找指示node.js调试过程正在运行的绿色图标(
通过node手动完成--inspect
):


单击此绿色图标,您将拥有许多用于调试node.js进程的浏览器开发工具功能,特别是
内存
探查器
选项卡。

是的,有很多方法

转到
package.json
并设置:

  { 
    \\ other information 

    "scripts": {
      "debug": "node --inspect-brk" 
    } 
  }
之后,运行use命令:
npm run debug yourFile.js

或 您可以在一行
节点中执行--检查brk yourFile.js

在此之后: 打开chrome并转到
chrome://inspect

等待几秒钟,显示远程目标,然后单击检查

您可以使用
debbuger在代码中创建断点

要了解更多信息,请访问

在另一种情况下,您可以使用
VS code
的插件,并按照Visual Studio code 1.45(2020年4月)的要求进行操作。Visual Studio code 1.45(2020年4月)在集成时应该会有所帮助,包括评测:

新的JavaScript调试器 本月,我们继续在新的JavaScript调试器上取得进展。
它默认安装在Insiders上,可以安装在VS Code Stable中

通过启用debug.javascript.usePreview设置,您可以开始在现有启动配置中使用它

以下是本月新增的一些功能:

分析支持 您可以通过单击调用堆栈视图中的新建“配置文件”按钮,或使用调试:获取性能配置文件命令,从Node.js或浏览器应用程序中捕获CPU配置文件

一旦您这样做,您可以选择配置文件将运行多长时间:直到您停止它,一段时间,或者直到您遇到另一个断点

配置文件结束后,它将保存在您的工作区文件夹中,并在VS代码中显示。
打开配置文件时,代码镜头将添加到包含功能级别和特定“热线”性能信息的文件中。
与许多其他工具中捕获的配置文件不同,记录的配置文件支持sourcemap


提到分析器输出中的行号有问题。
因此:

这是因为该位置位于只存在于编译代码中的函数内。
我们确实尝试将其源代码映射回原始文件,但在该位置没有可使用的映射


如果您将目标更改为
es6
或更高版本,您现在可以这样做,除非您的目标是Internet Explorer或节点版本,这将迫使我使用chrome/chrome浏览器,这在某些系统上可能是一个相当大的条件。谢谢你的回答!嗯,您可以运行命令来写入开发工具正在连接的内存数据等,然后将其写入文件,并在其他一些工具集中对其进行分析,您可能还需要编写一些转换器。这是可能的,但还没有达到即插即用的程度。看不到绿色的NodeJS图标。左侧有两个按钮(“选择元素”和“切换设备栏”),但没有绿色按钮。铬
87.0.4280.88
。我需要扩展吗?VSCode的目标是成为一个文本编辑器,而不是IDE。然而,你可以开发一个扩展,这样做(可能已经有一些)可以发布评论,我会更新答案。OP否决并删除了在看到这一变化之前接受的答案(正如您所注意到的,是2020年4月)@adamrights我为否决感到抱歉,这确实是不合理的。这很好,谢谢您的提示。但是,探查器输出中的行号是错误的。因为我有很多匿名方法,它们中的大多数都没有名字,所以分析器的输出对我来说基本上是无用的。你有准确的行号吗?@cheesus我没有。也许这个特定的bug已经有问题了?@cheesus谢谢。很好的反馈。我已将您的评论和问题包含在答案中,以提高可视性。