VSCode not creating launch.json file - visual-studio-code

I'm debugging a project in VSCode using msvc. When I run the debugger, VSCode asks me to choose an environment and I choose the "C++ (Windows)" option:
Then it asks me to select a configuration:
I choose the "cl.exe build and debug active file". Everything runs correctly and it creates the ".vscode" folder with the "tasks.json" file in there for the next time I try and build the project. It DOES NOT create the "launch.json" so every time I want to run the debugger I have to select the configuration again. In previous projects, the "launch.json" was created with the correct configuration here:
Why is vscode not creating the "launch.json" file? Am I missing something?

According to the VSCode documentation on C/C++:
When you debug with the play button or F5, the C++ extension creates a
dynamic debug configuration on the fly.
There are cases where you'd want to customize your debug
configuration, such as specifying arguments to pass to the program at
runtime. You can define custom debug configurations in a launch.json
file.
To create launch.json, choose Add Debug Configuration from the play
button drop-down menu.
Example
Source:
Configure VS Code for Microsoft C++

Related

Is it possible to set which file to run by default in eclipse?

I'm writing a python project in Eclipse with the PyDev plug-in, which contains multiple files.
However I'm used to using visual studio, where it'll automatically find the main function of a project and run the program from there.
Eclipse will always run the file I am currently editing (which usually is a file containing function that are called from the main function).
Is it possible to set which file should be run then clicking run? I've looked at the launch options under Project->Properties->PyDev, but didn't find what I was looking for.
When you press the Debug or Run button (Debug on the left) Eclipse tries to intelligently determine what to launch based on your current editor.
You can change the behaviour by editing Window -> Preferences -> Run/Debug -> Launching -> Launch Operation as pictured below.
The default of launching the current editor works well for some languages, but not as well for Python when every single file is itself a valid program to run. In your case I recommend changing to Always launch the previously launched application.
You can create a custom run configuration.
Right click on your project > run as > run configurations
From here is just a matter of choosing your project type on the left hand side and filling in the required information. You can click 'Run' to use your new configuration.
To get to this configuration again, you can click the 'Run' drop down button in the eclipse tool bar and see all of your run configurations.
Hope this helps!

How do I get the command-line for an Eclipse run configuration?

I have several JUnit run configurations in Eclipse that I need to replicate on the command-line in order to use a third-party analysis tool. So far I've just been writing the command-line manually by looking at the run configuration and writing the appropriate classpath and command-line arguments.
Eclipse's run configurations (normal, JUnit, or other) must ultimately boil down to a command-line anyway, so how and where do I find that?
I found a solution on Stack Overflow for Java program run configurations which also works for JUnit run configurations.
You can get the full command executed by your configuration on the
Debug tab, or more specifically the Debug view.
Run your application
Go to your Debug perspective
There should be an
entry in there (in the Debug View) for the app you've just executed
Right-click the node which references java.exe or javaw.exe and
select Properties In the dialog that pops up you'll see the Command
Line which includes all jars, parameters, etc
You'll find the junit launch commands in .metadata/.plugins/org.eclipse.debug.core/.launches, assuming your Eclipse works like mine does. The files are named {TestClass}.launch.
You will probably also need the .classpath file in the project directory that contains the test class.
Like the run configurations, they're XML files (even if they don't have an xml extension).
To elaborate on rob's answer.
Make sure you open the debug view. Steps to open it: Window -> Show View -> Other -> (Search debug) -> Open
Then do what he references:
Run your application
Go to your Debug perspective
There should be an entry in there (in the Debug View) for the app you've just executed
Right-click the node which references java.exe or javaw.exe and select Properties In the dialog that pops up you'll see the Command Line which includes all jars, parameters, etc
Scan your workspace .metadata directory for files called *.launch. I forget which plugin directory exactly holds these records, but it might even be the most basic org.eclipse.plugins.core one.

How to forbid creation run configuration in PyDev

Each time I press run button (or using shortcut for it), eclipse creates run configuration in some unpredictable way (looks like it uses currently selected file in PyDev Package Explorer, which is very strange). How to force eclipse to use only manually created run configurations and forbid to creating new one for the current project. I have 'Always launch the previously launched application' checked, but it doesn't help.

How can I make Eclipse/FDT build Main.as instead of the currently selected file?

I'm using FDT, and I want Eclipse to build my Main.as file instead of the currently selected file when I click debug/run. Is there a way to do this?
It depends on your settings and the order you've done things...
If you right click on a file and choose 'Run As' or 'Debug As', FDT (Eclipse) will use that file to build your application around.
If you have 'Always launch the previously launched application' enabled (it should be enabled by default) then FDT will always use the last used launch configuration whenever the Run / Debug button is clicked. If none exists then it will run using the currently active file. To enable this setting, go to Preferences > Run/Debug > Launching and look at the bottom where Launch Operations is.
If you have a launch configuration already created, and it sounds like you do, you'll need to adjust the 'Main' file within that launch configuration. Do this by choosing 'Run Configurations...' via the Run button drop down.
I've written a tutorial about this. It should help you get through it.
http://fdt.powerflasher.com/docs/Launch_Configuration_Tutorial

Launch and debug a single script in PyDev

I am a beginner in using Eclipse and PyDev (Aptana Studio 3). I am not used to and i don't understand the workflow in such big IDEs as Eclipse.
I have a simple task: i have a simple Python script, which i want to open and run in Eclipse, having its output in Eclipse console. Or debug it.
Until now i used another IDE called Eric4, which allowed me to do what i want - open a file and run immediately, without creating a project or setting up launch configurations.
Is this possible in Eclipse, or i have to create a project for each file i want to run or debug? I want to understand how it works.
I guess i understand that creating a project is needed at least for settings up the paths (PYTHONPATH), but if it's a single script - somehow to use by default the current directory?
For example i have a folder called snippets where i keep a lot of python scripts which demonstrate some functionality. How do i open these files one by one and run them?
Most of my coworkers launch python scripts in a separate console - python my_scipt.py.
You need to have at least one project with the configuration you want (i.e.: syntax type, interpreter), then, open the file you want to run and press F9.
If it's an external file -- i.e.: a file that's not under a project in Eclipse -- it'll ask you to associate a project with the launch to get the needed information for the launch, but the file doesn't really have to be in the project (note that you can drag external files from your filesystem into Eclipse to open them).
I suggest you follow the steps on the getting started: http://pydev.org/manual_101_root.html (it guides you to configuring PyDev and explains how to do a run/debug session).