Bespoke IDE for Julia desperately needed!

Hi Jonathan, I am still waiting on this, as none of the other solutions have worked for me on Linux. Is there an issue with updating this?

Hm, this seems really strange to me. VS Code is literally used by millions of users as far as I can tell, I have a hard time imagining that something as basic as a keymapping is offā€¦

3 Likes

Well, the issue is real for me. What is weird is that for both VSCode and Atom, disabling gpu was the only way to get them to window at all, and the same keymapping issue arose in both packages. So it must have something to do with the interaction between my Linux installation and the display and/or drivers.
In terms of your millions of users, I wonder how many of them have gotten it working easily on Linux?

Anyway, just my luck, I guess. Thanks for trying to help.

For reference Iā€™ve used vscode on Linux for years without any issues at all.

For reference,

vscode Julia plug-in doesnā€™t function (Languageserver crashes) on Freebsd 12.1 release. Iā€™ve spend half a day last week, trying to find out why, but had to leave it due to time constraints.

Itā€™s not by definition a smooth ride to get vscode Julia ide working. Forums, github, Google,ā€¦ etc for setup.

When I get more time availability Iā€™ll try again and see what I can report back for debugging.

Cheers.

Itā€™s time for a bespoke web site in HTML with Microsoft Frontpage 12 !

2 Likes

Iā€™m not surprised, I donā€™t think FreeBSD is a supported platform for VS Code, right?

But Linux is a supported platform, so my expectation is that it should ā€œjust workā€.

Well, it is, as well as atom. Electron is available for Freebsd since a few months or more, and both Atom and Vscode are in the repositories/ports.

I donā€™t think MS considers FreeBSD a supported platform for VS Code, see here.

3 Likes

First I thought this has certainly nothing to do with either Atom or VSCode directly, but your System has serious problems as it seems at the lower level.

However I just found this (itā€™s mostly related to macOS users who use XQuartz but the workaround may work for you):

https://discuss.atom.io/t/e-key-acting-as-backspace/37075/24

2 Likes

Dear David,

The issue is not vscode, vscode itself runs fine.

Most companies donā€™t ā€œsupport" BSDā€™s, which doesnā€™t exclude the fact that the majority of open-source software does run perfectly.

As said, Iā€™ll come back once I have time, as I cannot yet say where the real issue is, vscode or the julia plug-in?

Or perhaps another FreeBSD user has it working?

Hi Tamas, Thank you so much! It seems that the problem is almost certainly to do with XQuartz because I run X2Go using it and also ssh -X and the same problem happens on Atom or VSCode. But it is weird because for most of my work on X2Go and ssh -X the ā€˜eā€™ problem is not there.
Does anyone know if there is a different ā€˜modeā€™ that VSCode and Atom use in their editors?

Hi David, given that I have now identified this as a known (and unresolvable) X-Quartz issue, the possibility remains of a workaround. If you could tell me how to edit the keymap for the editor to map the key ā€œeā€ to the letter ā€œeā€, I think I would be in business on Linux (I connect using SSH, so XQuartz seems to be unavoidable). By the way, your remote editing solution is elegant, but I am not sure how I would maintain continuity if I break internet connection.

I still havenā€™t found anything that works on Linux, in terms of IDE for Julia
Thanks in advance.

If you were satisfied with an editor, not an IDE, then Sublime Text would likely handle your setup just fine. ST works very well with Julia, but does not have a graphical debugger or profiler.

5 Likes

I think for that you can look into: Mosh, and/or tmux/screen.
My experience with these tools is very positive!

EDIT: Ah sorry I think I misunderstood you, you probably mean continuity when using VScode.

Take a look at the VS Code documentation.

I think the VS Code server that is running on the remote server is either staying alive 3 or 8 hours after a disconnect, not sure. Here is an issue that tracks a feature request to make this configurable. My understanding is that if you reconnect within that time window, you maintain full continuity of your environment. Having said that, I havenā€™t tried that, so not sure how that really works.

I do think it is important to point out that as far as I can tell the issues you are running into are specific to your setup, not Linux in general. There are literally thousands of users that use VS Code with the Julia extension on Linux successfully.

5 Likes

OK - let me say the I donā€™t know of anything that works on a Linux server connecting from Mac.

[So no need to worry - this would potentially only apply to a few tens of thousands of academics like myself]

I tried adding {ā€œkeyā€: ā€œeā€, ā€œeā€} to the customisation file (which was a challenge, given that the ā€œeā€ does not print), but there was no change when I reopened VSCode.

Anyway, thanks again

The scenario that you use VS Code on Mac and use the remote extension to connect to a Linux server is fully supported and works just fine for a very large number of people.

For your specific scenario of using a remote desktop software to connect to the Linux box, maybe there is something here that can help. I found some issues on the vscode repo that talked about the same problems you described and folks said that the fixes described on that page worked for them.

4 Likes

@compleat As an alternative, you might also think about staying in the Terminal and learning a solid editor like Vim or Emacs. Youā€™ll need a lot of time but the benefits are worth it, based on my experience with people whom I helped to set up and get started with the powerful Vim+tmux-combo or Emacs which already offers terminal embedding (a good start can be Doom Emacs or spacemacs). The benefit of Emacs is that it also comes with a GUI so you have those nice extra features at a snap and can switch between the terminal and X as you wish.
Not depending on graphical interfaces is a huge thing if you need to work in an inhomogeneous network of systems. Your setup is predestined for such issues, unfortunately.

Of course this setup (even with all the nice plugins) will not replace a mature Julia IDE like Juno with interactive debugging, or the VSCode extension, but you should also think about the actual benefit you gain from such powerful tools.

I can tell you that I code full-time and have written millions of lines in many different languages in the past 20+ years (Python, Julia, Haskell, JavaScript, C++, Erlang, ā€¦) and I never really used an IDE (except of about one year when I worked on a larger project with Visual Studio C++/MFC on Windows 2000). I was always happy with Vim, terminals and a tiling window manager and recently switched to Emacs.

Anyways, I am always a bit confused when people, especially beginners are in ā€œdesperate needā€ of an IDE for Julia since to me it feels a little bit like procrastination or pinning the blame on the tooling when one is stuck for whatever reason. Maybe itā€™s just the new generation who likes shiny new things with tons of features, I donā€™t know and for godā€™s sake, I donā€™t want to judge anyone, so donā€™t get me wrong, but the tools will not write the code and will not replace reading the manual, code from other people or a nice book - they will certainly help you with some repetitive tasks and may refactor code with only a tiny fraction of the keystrokes and click you would need in Notepad.exe but thatā€™s it. I personally spend the largest amount of time with staring at the screens and thinking, reading and I have the feeling that many of would confirm this. I donā€™t see how an IDE could make this much faster with features which are not available in any basic editor with a simple Julia plugin (e.g. syntax highlighting and checking).

ā€¦sorry this got quite long, I admit I am the one who definitely is procrastinating right now :see_no_evil:

I hope you find a nice setup which works well enough for you, I know that itā€™s a tough choice nowadays :wink:

14 Likes

Hi Thanks David. I gather you consider my wanting to use VSCode using Remote widowing is something not worth supporting because almost nobody does it. I would point out that it doesnā€™t take a PhD in statistics (although I happen to have one) to know that your ā€˜happy usersā€™ are an extremely biased sample, because you have never heard from the others who tried this and, encountering similar difficulties to mine, then moved on until they found something that worked. The only reason you heard from me is that I didnā€™t happen to find anything else that worked, otherwise I would have just used PyCharm, Juno, or whatever and you never would have known about any of this.
I do appreciate your attempts to help, but encourage you to not to regard me as an ā€˜oddballā€™ user, but rather someone who may have uncovered an issue which prevents lots of potential users from making use of your valuable efforts in making VSCode what it is (which seems pretty cool if one can get it working).

Thanks again, D