Sita Dinkar
Sita Dinkar

Reputation: 21

Debug Electron using Visual Studio Code on Mac

Refer to this stackoverflow question:

I am trying to do the same but on Mac. I have the same as above,except instead of

"runtimeExecutable": "node_modules/electron-prebuilt/dist/electron.exe" I have it as

"runtimeExecutable": "/usr/local/bin/electron" Since F5 on mac is mapped to screen dimmer, I launched the app from command line as follows:

electron --debug-brk=5858 .

My program launched and ran without breaking.

So I modified keybindings.json like so:

[
    { "key": "shift+ctrl+f5", "command": "workbench.action.debug.play",
                                     "when": "inDebugMode" },
    { "key": "shift+ctrl+f5", "command": "workbench.action.debug.start",
                                     "when": "!inDebugMode" },
]

I tried launching the program by pressing shift+ctrl+f5 - I am still unable to debug my program.

I get the following error:

Error: Connection Failed

when I run node instead of electron, the debugger works fine when the the app is launched from command line

PLEASE HELP!

Thanks in advance

Upvotes: 2

Views: 1657

Answers (1)

Josh Geller
Josh Geller

Reputation: 86

This is your launch.json. The important parts are runtimeExecutable and env. For VS Code 0.8.0, debugging only mostly works using electron 0.30.6.

    {
        "version": "0.1.0",
        // List of configurations. Add new configurations or edit existing ones.
        // ONLY "node" and "mono" are supported, change "type" to switch.
        "configurations": [
            {
                // Name of configuration; appears in the launch configuration drop down menu.
                "name": "Launch electron",
                // Type of configuration. Possible values: "node", "mono".
                "type": "node",
                // Workspace relative or absolute path to the program.
                "program": "main.js",
                // Automatically stop program after launch.
                "stopOnEntry": false,
                // Command line arguments passed to the program.
                "args": [],
                // Workspace relative or absolute path to the working directory of the program being debugged. Default is the current workspace.
                "cwd": ".",
                // Workspace relative or absolute path to the runtime executable to be used. Default is the runtime executable on the PATH.
                "runtimeExecutable": "node_modules/electron-prebuilt/dist/electron.app/Contents/MacOS/electron",
                // Optional arguments passed to the runtime executable.
                "runtimeArgs": [],
                // Environment variables passed to the program.
                "env": {"ATOM_SHELL_INTERNAL_RUN_AS_NODE": "0"},
                // Use JavaScript source maps (if they exist).
                "sourceMaps": false,
                // If JavaScript source maps are enabled, the generated code is expected in this directory.
                "outDir": null
            },
            {
                "name": "Attach",
                "type": "node",
                // TCP/IP address. Default is "localhost".
                "address": "localhost",
                // Port to attach to.
                "port": 5858,
                "sourceMaps": false
            }
        ]
    }

Install 0.30.6 of electron-prebuilt in your project directory using npm install –-save-dev [email protected]

Upvotes: 6

Related Questions