
Using VS Code to Debug Java Applications - hexiaokai
https://code.visualstudio.com/blogs/2017/09/28/java-debug
======
nitinreddy88
VS Code is set to rule the developer world. The core and extension model is
designed beautifully. While the core editor is concentrated at performance,
the extensions provide feature rich functionality for each developer needs.

~~~
terminalcommand
I am a long-time emacs user, yet I am amazed by the simplicity of VS-Code. The
only downside is that it is heavy on the CPU and some basic functionality like
showing line breaks is not included.

Otherwise it is a wonderful peace of software.

~~~
maskedSlacker
And the key bindings are lousy.

But, setting that aside, I was begrudgingly impressed. I was conditioned at an
impressionable age to be revolted by anything Microsoft, and VS Code mostly
won me over.

I still prefer emacs, but only because I haven't managed to customize VS Code
to match my workflow (that might be impossible for now given that I spend
about half my time working in Clojure).

~~~
WorldMaker
> And the key bindings are lousy.

The key bindings are incredibly configurable and recent versions have added a
really nice GUI for it (over just manually editing the JSON configs).

[https://code.visualstudio.com/docs/getstarted/keybindings](https://code.visualstudio.com/docs/getstarted/keybindings)

The configuration of key bindings has been put through the ringer by the
vscodevim extension, which has long been one of the "first customers" of the
key binding configurations. If Vim can bind a key to it, for the most part so
can you. There are very few functions in the application that you can't key
bind if you wish.

Furthermore, extensions can contribute key maps and there are key map
extensions based on a number of other editors already as extensions. A link
right below the key binding configuration takes you to a recommended extension
list.

It is interesting that VSCode defaults to a relatively small key map,
encouraging you to explore commands through the command palette instead, but
VSCode seems to make up for that by giving you a lot of power to customize as
you see fit (and extension capabilities to share those customizations with
others).

------
tootie
I'm moderately impressed, but I wonder why they would bother. I use VS Code as
a powerful text editor and occasionally as a sorta JavaScript IDE. Java and
.NET have fantastic IDEs already that are extremely hard to beat.

~~~
paulddraper
But what if you use JS and Java?

Your choices are (1) pay for IntelliJ Ultimate (several hundred) or (2) switch
between IDEs or (3) abandon the IDE idea for both languages.

~~~
copperx
Eclipse and NetBeans still exist, and both understand JS.

~~~
wolfi1
I don't know if I'm the only one but I don't feel comfortable with Eclipse.
It's a little bit bloated for my concern. But then again, under the hood VS
Code uses eclipse as well

~~~
nkerkin
Correct me if I'm wrong but I think you're confusing Eclipse with Electron.

------
zghst
There goes VS Code, once again taking the world by storm. One of Microsoft's
most successful open source products of the decade

~~~
anotherproj
cant tell if serious or

~~~
SippinLean
What metric are we going by? If simply the number of "stars" VSCode easily
beats out their other OSS, including Typescript and .NET

[https://opensource.microsoft.com/?sort=Stars&tag=](https://opensource.microsoft.com/?sort=Stars&tag=)

------
slaymaker1907
Not sure if it is possible to do this, but one of the killer features for a
Java IDE is automatically determining imports. Has anyone been able to get
something like this working for Java on VS Code?

~~~
denisw
Unfortunately, the VS Code Java plugin doesn't have support for this yet. Here
is the corresponding GitHub issue, which however hasn't seen much activity:

[https://github.com/redhat-developer/vscode-
java/issues/56](https://github.com/redhat-developer/vscode-java/issues/56)

------
curiousDog
Nice! Is Scala supported too?

~~~
jug
Or Kotlin? It sounded like this would be ”no” but ultimately it employs
Eclipse JDT with this information:

”JDT Debug implements Java debugging support and works with any JDPA-compliant
target Java VM. It is implemented on top of the language independent "debug
model" provided by the platform debugger.”

... so I’m not sure anymore. Maybe someone with more experience can comment.

