How to automatically terminate last instance when running or debugging in VS Code - visual-studio-code

Coming from Eclipse, I am very used to the option to terminate the possible old and running instance of the code I'm working on. With VS Code, I instead have to select the console, press Ctrl+C, wait for the process to end and only then can I launch a new instance via Ctrl+F5 (same for debug/regular F5).
I was surprised to find no such option in VS Code, am I missing something or is this feature simply not supported ? If this is possible to configure somehow, how would I go about it ? Multiple tags because I'm not sure which part of VS Code would be responsible here. I am specifically developing in Java, if that is relevant.

Related

Eclipse keybindings. Setting up a shortcut for executing a specific run configuration

I'm trying to setup a key binding in Eclipse to directly execute a background Java file. My file is called CodeChecker.java and it's sufficient for my purposes to run the main method without any arguments. I need to run it repeatedly and so I'm trying to setup a shortcut key to run it directly without having to bring up the Run... menu or having to bring up the file itself.
As far as I'm aware Eclipse is not able to offer this functionality directly. I've tried using a plugin called Practically Macro according to this answer Assigning a keyboard shortcut for a specific Eclipse build configuration. But this answer is horribly out of date and doesn't work any longer.
So I'm wondering if Practically Macro can still be used to achieve this? Any other solution, plugin, script or otherwise would be equally welcome.

hot swapped warning without making any changes (Spring tool suite 3.9)

When running my code in debug mode, I keep getting 2 error messages:
Could not delete [path_to]\productiondb.log. May be locked by another process
I don't know what process might be locking it. It comes when I make changes to the code while my Pivotal tc Server is running in debug mode, but it dosent seem to create a lot's of trouble. Sometimes however, I get this warning:
Also due to some changes. I usally just restart the server and move on. This isen't the real problem, the real problem is that I get these messages when I havent doen any changes. Somethimes it accures when I run a certen part of the code, other times i occurs when I open certen codes in sts, however, it doen't seem to stop at the same place twice.
I am suspecting that this has something to do with git. I am using git to change between versions and doing tests. So I am thinking that STS has some of the code in memory from before I changed branche with git, and isen't updating it before I run or open the file with that code. But I am rather new to both sts and git, and can't be certan that it would work that way. If it is, does anyone know how to update sts after I have changed branch? If it is not, does anyone know what might causing it?
If you run an app in debug mode, the Eclipse Debugger tells the application when code gets changed and tries to use the debug API to swap in the new code into the running application. This is especially useful if you debug your code, hit a breakpoint, step through the code, fit the issue, change the code, and press save. At that moment, the Eclipse compiler updates the class file and tells the running JVM to swap in the new code. If that succeeds, the debugger will jump back to the last stack frame and the execution of your app will continue with the beginning of the method that you entered. This allows you to directly continue to debug and step through the updated code without restarting the app.
While this is a great feature of the JVM, it is very limited in terms of what scope of changes to the classes the JVM can deal with while doing this hot-swap. It is usually limited to method implementations. So adding new methods, adding or deleting members of the class, etc, are not supported. As a result, the above screenshot will appear. It means that the JVM wasn't able to hot-swap the changed code and will continue to run with the previously loaded code instead of the changed one.

How do I figure out which extension or service is making a VS Code Helper process use 100% CPU?

Every so often the fans on my MacBook Pro start revving up and certain things in VS Code stop working, such as indentation and autocomplete etc.
When this happens I use Alfred App to figure out which process is causing an issue and it's usually one or more of the Code Helper processes launched by VS Code. Sometimes they'll a couple of them using way over 100% of the CPU. I kill the processes and then VS Code prompts me that the extension host has quit and to restart it. Once I do that the extensions start working again as normal. And then the whole thing repeats, just not all the time. For instance I'm writing this message now and Code is fine and not doing anything.
I'm wondering how do I debug this and figure out whether it's Code itself or an Extension causing the issue? If so how do I find out which extension it is?
Process Explorer is builtin in vscode.
It can be opened using menu by going Help => Open Process Explorer

Service fabric debugging - reliablecollection persisted?

I can't seem to find any information on whether a ReliableCollection, specifically ReliableQueue is persisted between debugging sessions in visual studio. It does not seem like it is. I think it's because the application is removed and then re-added during debugging. Can anyone confirm this?
Yes, the default behavior is to remove the deployed application after the debugger stops.
Fortunately, you can change this.
There are two ways this can be done: Launch your app from VS without
the debugger attached (Debug -> Start Without Debugging [Ctrl+F5]).
Obviously, this would require you to manually attach VS to your
service processes in order to debug them. When you detach VS from the
processes, VS will not remove the application in this scenario.
With
your Application (.sfproj) project selected in Solution Explorer, go
to the Properties window and change Application Debug Mode from
"Remove" to "Auto Upgrade". This prevents VS from removing the
application after debugging. However, it also causes another change in
behavior in that it will automatically upgrade your application each
time you launch it from VS. The added benefit of auto upgrade is that
your application state will be maintained across multiple launches
from VS. This may be desired or not. There is not a setting that
allows you to both prevent application removal and not do an auto
upgrade.

Can I script FlexBuilder without writing an extension?

I'd like to script FlexBuilder so that I can run debug or profile without having to switch to FlexBuilder and manually clicking the button (or using the key combo). Is this possible without writing an extension?
To be more specific, this is exactly what I want to do: I want to create a TextMate command that talks to FlexBuilder and makes it run the debug target for the currently selected project. TextMate already has support for interacting with Xcode in this way, and it would be great to be able to do the same with FlexBuilder.
When compiling I use Ant and have full control over that from TextMate, what I want is to be able to launch the debugger and the profiler. The command line debugger is unusable and there is no other profiler available than the one in FlexBuilder.
Since FlexBuilder essentially is an extended version of Eclipse, any tools/scripts for doing the same in Eclipse should work for FlexBuilder aswell. I couldn't find any tools like this googling it, have you considered doing away with FlexBuilder completely, there are plenty of guides for using the mxmlc (or fcsh) compilers directly from your editor.
I do not know if there is a plugin like this for Eclipse however if not you can write one as it should be easy.
If the specific command that you want to call shows up in Windows/Preferences - General/Keys, you can create a plugin that takes commands from TextMate (I do not know what protocol TextMate uses, socket or something else) and executed the specific action that is associated with the command that also appears in preferences.