How to automatically run a Node.js program using VSCode? - node.js

I was wondering whether there is a way to execute a Node.js program using some keyboard shortcut in Visual Studio Code.
For instance, while I am coding in the editor, instead of having to manually open the Integrated Terminal in Visual Studio Code and then type let's say node app.js, can I just configure a key to automatically do this?
Below shown is an illustration of what I want:
I want to run the file app.js in the terminal without having to go there again and again and type node app (or even by using the up arrow key to bring the last entry from the terminal's history).
Note: I found one way of doing so and that is to go to the Debug console. But sometimes, it doesn't display full results. For instance, when logging a module, it displays one line with a caret which can be used to inspect details of the logged object further, but when I press the caret, it says that there is no debugger to view the object.

You can create a shell task or an npm task that runs node app.js. You can then bind a hotkey for running a task in the VS Code key binding settings.
The npm extension should automatically detect every script in the package.json file and provide them as a task if the task.autoDetect setting is set to on. You can simply add a start script that runs node app.js. I have then set up a hotkey that reruns the latest task:
{ "key": "ctrl+r b", "command": "workbench.action.tasks.reRunTask" },

Related

Is it possible to run React.js debugger in editor than in web browser

I want to debug my React.js project by adding breakpoints in WebStorm rather than in my web browser.
Is it possible? If yes, how?
Run npm start to get the app running in the development mode.
You can do this either in the terminal or by double-clicking the task in the npm tool window in WebStorm.
Wait till the app is compiled and the Webpack dev server is ready. Open http://localhost:3000/ to view it in the browser.
Create a new JavaScript debug configuration in WebStorm (menu Run – Edit configurations… – Add – JavaScript Debug). Paste http://localhost:3000/ into the URL field.
In WebStorm 2017.1+
No additional configuration is needed: go to step 5!
In WebStorm 2016 (.1, .2 and .3)
Configure the mapping between the files in the file system and the paths specified in the source maps on the dev server. This is required to help WebStorm correctly resolve the source maps.
The mapping should be between the src folder and webpack:///src
If you’re wondering how we got this mapping, check http://localhost:3000/static/js/bundle.js.map file. This is a source map file for the bundle that contains the compiled application source code. Search for index.js, the main app’s file; its path is webpack:///src/index.js
Save the configuration, place breakpoints in your code and start a new debug session by clicking the Debug button next to the list of configurations on the top right corner of the IDE.
Once a breakpoint is hit, go to the debugger tool window in the IDE. You can explore the call stack and variables, step through the code, set watcher, evaluate variables and other things you normally do when debugging.
This app is using Webpack Hot Module Replacement by default and that means that when the dev server is running, the app will automatically reload if you change any of the source files and hit Save. And that works also together with the WebStorm debugger!
Please take note of these known limitations:
The breakpoints put in the code executed on page load might not be hit when you open an app under debug session for the first time. The reason is that the IDE needs to get the source maps from the browsers to be able to stop on a breakpoint you’ve placed in an original source, and that only happens after the page has been fully loaded at least once. As a workaround, reload the page in the browser.
Webpack in Create React App generates source maps of the type cheap-module-source-map. This kind of source maps do not guarantee the most precise debugging experience. We recommend using devtool: 'source-map' To make changes to the app’s Webpack configuration, ‘eject’ the app (refer to the Create React App manual to learn more).

VScode terminal startup command defined in workspace settings

I would like to know if it is possible to run certain a set of initial commands when the VScode terminal startups. Could these commands be defined in the workspace settings of the project?
This is useful when changing between projects using different versions of Node.

Electron shell.openExternal can't open some .lnk shortcuts

I'm creating a launcher using electron. It launches applications and files in my Windows system using the shell.openExternal command.
It works well when I call shell.openExternal passing .lnk shortcuts as parameters, but when I call some apparently equal shortcuts created by, for example, GoG installers, the game is not launched and I can't debug what happens. I know that the shortcut is called but the target application crashes. I got this message from Lichdom: Battlemage launcher:
Witcher 3 also fails, nos message is displayed. When I call these shortcuts directly from the system, they work fine. If I manually create an apparently exact same shortcut to the same file, it launches normally in both electron and the explorer.
Any ideas what could be happening or how to debug?

Debug Reaction-Commerce web shop based on Meteor

I installed Reaction-Commerce on a Ubuntu (Trusty).
Now I would like to debug/customize the project. For this purpose I installed Atom since it was mentioned on the project site.
How can I hook a debugger to the running "reaction" project?
What Atom package do I need?
It's not Atom, but VSCode is similar. Here's how I was able to setup debugging:
Create new reaction project from Terminal
mkdir test
cd test
reaction init
cd reaction
Open vs code from Terminal (must be in the reaction dir) code .
Click on debugging (there should be ‘No Configurations’ in the drop-down)
Click the gear icon to create a new Node.js configuration
Edit launch.json:
configurations.program -> “${workspaceoot}/server/main.js”
Save the file
Navigate to /server/main.js
add debugger; before Startup();
Save the file
Open Integrated Terminal (View | Integrated Terminal)
Type: reaction debug [it will start the app and eventually pause at the debugger statement]
Once it says that it’s paused, switch to the debug view in the left nav and select "Attach to Process" from the dropdown.
Then press the ‘start’ button (and select the Node.js process)
You should see the execution paused on the debugger statement entered in Step 12.
At this point you can step in, out, or over code statements.

Debugging Node.js with Eclipse

I am trying to debug Node.js (v0.6.1) with Google's Eclipse debugger plugin for V8. I'm using Eclipse v4.1.0 on Windows7. I followed the Using Eclipse as Node Applications Debugger, but whenever I try to attach to a running Node.js (port 5858) process, I get a pop-up error message saying:
An internal error occurred during: "Debug session initialization: Node-5858".
Exception occured in callback
Any suggestions ?
I have been looking into a problem similar to this, this is what I have found
The instructions for setting it up, might just be worth re-reading these to make sure everything is as it should be:
https://github.com/joyent/node/wiki/Using-Eclipse-as-Node-Applications-Debugger
Do note that when looking around at a similar problem i located this help ticket on google code, it relates to a number of users who are having problems with Node.js on windows:
http://code.google.com/p/chromedevtools/issues/detail?id=53
It might be worth just downloading the newest version of Node.js as I believe this now has the fix in place, else download the fix file then mention within the ticket.
You can try to test for Nodeclipse version 0.2.0 beta.
http://www.tomotaro1065.com/nodeclipse/
GENERATING OF EXPRESS PROJECT
Select the [File]-[New]-[Project] menu.
Select [Node]-[Express Project], and push [Next] button.
Enter [Project name], and push [Finish] button.
DEBUGGING
Open the JavaScript source files that you want to set breakpoints.
Double-click on the ruler at the left end of the line you want to set a breakpoint.
If you want to remove a breakpoint, double-click on the ruler again.
Select the main source file of Node Application on the Project Explorer, open the context menu by right-clicking, select the [Debug As]-[Node Application] menu.
Just try this :
After creating the project, go to the cmd and provide the filepath of the file which you want to debug.
Now run the command node --debug-brk demo_node.js
(where demo_node.js is filename)
Now come to eclipse side, open the same file and set the break points.
Right click on the source file and select [Debug As]-[Node Application].

Resources