[POLL] Which IDE are you using with Crystal?

If I may, my current take on this is that focus probably be put on one of the language server implementations.
The language server protocol can be used by a wide selection of editors, so the choice of editors matters less than the choice of the language server.

Currently available for Crystal (afaik) are scry and crystalline.

I’m currently using crystalline, since, even though it crashes (and reloads) several times during development, it offers better autocompletion and hover information.

2 Likes

On which O.S.?

Arch Linux.
But I don’t really notice crystalline crashing, since Sublime Text LSP just restarts it, or at least I think it does.
Works good enough

VS code, Crystalline on Ubuntu

I use VS Code because it is what currently works best. If another editor/IDE were to become better for Crystal then I would use that.

vscode wins

My idea is to have all plugins with the same basic features (sintax highlighting, snippets …) at the same level, and to have external tools to get more advanced features (LSP, debugging, static analysis) so that everyone can choose the editor that suits him best.

However, keep in mind that no programming language that I know has plugins for all editors / ide because the effort to keep them updated is considerable, so there will always be a “recommended” editor or on which there are more efforts because the adoption is greater .

That will be always probably “the reccomended” editor for Crystal

1 Like

I use write/use Tijolo :laughing: . But nowadays the editor doesn’t matter, if you want a better Crystal support on any editor, contribute to Crystalline or SCry, the Crystal language servers available nowadays.

4 Likes

Better decide to concentrate the efforts on only one

60% of the time Brackets (my default editor) and 40% (and increasing) Nova (as I haven’t found a plugin for Brackets to support Crystal yet)

I use Sublime Text for its lightweight nature.

Offtopic: The factors that matter most for me on an editor are:

  • minimum resource usage (on this factor, Tijolo from @hugopl is the first one :blush:)
  • good user interface
  • plugins (like LSP support, emmet, etc)
  • mouse support (this is the only reason I do not use Tijolo :grin:)

I cannot understand why many developers are not bothered to the fact that VS Code and Brackets are made with Electron, which increases the resource usage (RAM, in particular) a lot.

Also, I can’t understand why the VS Code and Brackets creators did’t use the native OS webview instead of Electron, a move that would reduce such unnecessary RAM usage.

Numbers are important.

image

It’s all about the plugins and the ability to basically make a custom IDE with only the features that I care about.

VS Code being wasteful of resources does bother me, but not as much as using an editor that’s missing the features that I like or as much as using a traditional IDE that is stuffed with features that I don’t want to the point of having a bloated UI would do.

I believe that the reason for not using the native webview is that at the time (maybe still?) it was inconsistent across different platforms and they wanted a multiplatform solution that looked the same and behaved the same on Windows, Mac and Linux without having to do too much platform specific development.

3 Likes

And VS code really isn’t that bad. They’re doing some incredible black magic to keep the resource requirements comparatively low. And the user interface is quite snappy. I have not seen such a performance in other applications using a web render stack.

3 Likes

My other applications don’t need a lot of RAM, while my computer has got plenty of it (96GB, got them dirt cheap on eBay, less than $50 in total, iirc), so it doesn’t really matter to me how much the editor might use, but I totally see your point here. I would assume it’s similar for many others and RAM might be required occasionally, but most of the time they have plenty and don’t care about any wasteful usage.

While I usually avoid Electron and would prefer using something native (mostly for keyboard shortcuts, context menu features etc), it anyway fits most of my needs, or does so at least better than the other editors.

1 Like

People use plugins that has the best solution for their problems (yep, usually they count “free” as part of the solution), and people create the best ones for the most popular IDE hosts. That’s paradoxical, like “chicken and egg, what came first?” but at the same time, at this current point in time, it answers the question with a great precision. The most popular plugins, the best language support for a generic host, will rise in the most popular IDEs, if not today, tomorrow.

My tasks don’t require any plugins - but language support is a huge point for me, yeah.

Also, I can’t understand why the VS Code and Brackets creators did’t use the native OS webview instead of Electron, a move that would reduce such unnecessary RAM usage.

I believe that the resource consumption is almost the same with webview, because internally they still use the same engine.

and Sublime Text is not actually that faster after you install a dozen of extensions, since python is much slower compare to javascript. not to mention many web related extensions are written in nodejs (like emmet) so you still need to include v8/nodejs runtime for those extensions to work, thus further slowing down the editor.

IDE hosts adds language support through plugins/add-ons/extensions, the language for adding external features varies with the hosts, the results of extending its basic features are the same.

I can’t say that I’ve ever really cared if my editor used more RAM or not, all machines I’ve used have 16 or 32 gb RAM. But I don’t use VIM for the low RAM usage reason, I use it because I like it better for development. VSCode is a nice editor too, but I’ll stick with VIM

1 Like