/NiMS-vscode-extension

NiMS (Node --inspect Metadata Server)

Primary LanguageJavaScript

NiMS (Node --inspect Metadata Server)

This extension is helpful in cases where other applications (debuggers like Chrome DevTools) need access to Node's debug socket metadata but where VSCode is the owner of the Node.js process. This extension publishes the metadata provided by the Node binary via http://localhost:9229/json to http://localhost:6607.

Installation

Easy Install

After installing NiMS open the command pallet Cntr+Shift+P and run NiMS. You'll then see that it's listening on localhost:6607...

NiMS listening

Features

As VSCode calls the Node.exe such that Node chooses a random debug port, sharing this information is needed as no other way exists to know upon which port the debugger has started listening. This addition re-publishes said metadata by starting a local http instance and listening on a process independent port (tcp/6607). The metadata gathered from Node's /json URL is updated as processes are created and destroyed.

  • Multi Debug sessions are supported (ie Every active Node.js debugging session currently under VSCode control will be listed)

  • Additional metadata is added by NiMS:

    • inspectSocket "inspectSocket": "127.0.0.1:9963",
    • nodeExeRunner "nodeExeRunner": { "name": "vscode", "session": ... }
  • Tunnel local debug connections for easy sharing (click the image to see better):

    NiMS VSCode debug toolbar icon

    Generated global chrome-devtools url

    Example gif of tunneling

Multiple Node debuggers running:

Here is an example of this in use: nimsVSCode

Known Issues

None


CHANGELOG

[0.1.0] - 2019-05-31

Added

  • Tunnels to share local debug sessions easily.

[0.0.6] - 2019-05-10

Added

  • Add debug activation event so manually starting is not needed.

[0.0.1] - 2019-05-10

Added

  • Initial release