JuliaEditorSupport / julia-intellij

:computer: Julia Plugin for IntelliJ IDEA ┗:smiley:┛ ┏:smiley:┓ ┗:smiley:┛
GNU General Public License v3.0
298 stars 29 forks source link

Since Gallium is deprecated, switch to Debugger or JuliaInterpreter? #428

Open ianfiske opened 4 years ago

ianfiske commented 4 years ago

As noted in https://github.com/JuliaDebug/Gallium.jl, Gallium has been deprecated and is no longer supported. Is there a plan to switch to the methods used by https://github.com/JuliaDebug/Debugger.jl or follow how Juno builds upon JuliaInterpreter (see https://github.com/JunoLab/Atom.jl/tree/master/src/debugger)? The Gallium README.md suggests several modern alternatives to Gallium.

ice1000 commented 4 years ago

I suppose the current implementation is based on JuliaIntepreter. /cc @zxj5470

ianfiske commented 4 years ago

Interesting ... the README mentions Gallium/DebuggerFramework and also looking at https://github.com/JuliaEditorSupport/julia-intellij/blob/master/res/org/ice1000/julia/lang/execution/IntelliJDebugger.jl, it's all DebuggerFramework. Do you mind showing me where in the source it is using JuliaInterpreter?

ice1000 commented 4 years ago

Maybe my memory was wrong, let's wait for @zxj5470 waking up

zxj5470 commented 4 years ago

Well,that code was written at about Dec 2018.

aminya commented 4 years ago

I recommend Debugger, as in the near future they are going to merge Infiltrator into Debugger.

ianfiske commented 4 years ago

Well,that code was written at about Dec 2018.

I see. That's like eons ago in the history of Julia's debugger tools ;). Thanks for confirming. Any plans to move to the newer Debugger?

ice1000 commented 4 years ago

Not yet, all the maintainers of julia-intellij seem to be busy with something else atm :(

Sinansi commented 4 years ago

Not yet, all the maintainers of julia-intellij seem to be busy with something else atm :(

Since you are still using the legacy deprecated debugger and interpreter, could you please let me know how to overcome this error. I have been working on it for the past two days and cant get around it.

When I run these two commands as stated in the installation documentation: (v1.0) pkg> add DebuggerFramework#master (v1.0) pkg> add ASTInterpreter2#master

I get the following error:

_ERROR: The following package names could not be resolved:

ERROR: The following package names could not be resolved:

I tried enforcing their installation by the following: using Pkg Pkg.add(PackageSpec(url="https://github.com/JuliaDebug/DebuggerFramework.jl")) Pkg.add(PackageSpec(url="https://github.com/JuliaDebug/ASTInterpreter2.jl"))

But inside intellij I got the following error when I started the debugger: please add lagacy version DebuggerFramework by add DebuggerFramework#78d649e w ithin pkg REPL. please add lagacy version ASTInterpreter2 by add ASTInterpreter2#73711a4 withi n pkg REPL.

Running these commands produce the same error as the others:

(v1.2) pkg> add ASTInterpreter2#73711a4 Updating registry at C:\Users\Sannan\.julia\registries\General Updating git-repo https://github.com/JuliaRegistries/General.git ERROR: The following package names could not be resolved:

(v1.2) pkg> add DebuggerFramework#78d649e ERROR: The following package names could not be resolved:

So in conclusion, the legacy deprecated dependencies cannot be installed and the recent dependencies are rejected by the plugin (requires legacy to be installed).

I am using Julia 1.2.0 on Intellij 2019.2.3

Appreciate your time and help on this issue. Thank you!

ice1000 commented 4 years ago

@zxj5470

Sinansi commented 4 years ago

(v1.2) pkg> add DebuggerFramework#master ERROR: The following package names could not be resolved:

(v1.2) pkg> add ASTInterpreter2#master ERROR: The following package names could not be resolved:

PHPirates commented 4 years ago

You can install the deprecated packages like this:

add https://github.com/JuliaDebug/DebuggerFramework.jl
add https://github.com/JuliaDebug/ASTInterpreter2.jl

Unfortunately, when I then try to run it, it just segfaults.

When you install Debugger you can at least use their commands from within the IntelliJ console (it will be started when you run as Debug, but all other IntelliJ debugging features will not work).

Sinansi commented 4 years ago

Why no one care about upgrading this addon and its dependencies?

ice1000 commented 4 years ago

Why no one care about upgrading this addon and its dependencies?

You can take this yourself. I can help with code review, explaining some certain pieces of code, merging your pull requests and the upgrading of the plugin in the marketplace.

friederikemeier commented 4 years ago

Ok, so I am stuck in the same issue now. Are we the only persons wanting to use this? Does someone know a better tool to debug python and julia? Colleagues of mine are using Juno in parallel or moved all their work to VS Code.. How can one get the "old" debugger with the legacy versions to run? I tried out serveral julia and pycharm versions because I hoped it would work on an older stage...

@Sinansi How did you proceed your debugging?

Sinansi commented 4 years ago

Hello @friederikemeier I couldnt install it on PyCharm 2019/2020. I have removed and deleted this addon. The authors of this addon are not actively maintaining it. I can predict that this addon will get deprecated in the future.

I have sent an email to Intellij, telling them that Julia is a serious competitor to Python so they should take it more seriously by atleast developing a proper Julia addon, if not a dedicated Julia IDE. But unfortunately, they didnt reply.

Your colleagues have done the right thing. Juno on Atom is very stable and properly maintained. Juno also support variable/workspace explorer.

VS Code authors are actively maintaining the Julia addon, they update it atleast once every week. But I am not sure if they added a variable/workspace explorer yet. The authors are considering it.

Go for Juno on Atom. It is the standard Julia IDE for the time being.

friederikemeier commented 4 years ago

@Sinansi Thanks for the statement! I decided to stick to pycharm and use the console debugger for now. Will add Juno for debugging more complex problems. Maybe I consider switching to VS code completely at some point, too. That is just another reason to finally "flip the switch".

Sinansi commented 4 years ago

@friederikemeier thanks for your reply!