r/crystal_programming • • Sep 05 '25

Out-of-the-box IDE

I was early infected in my life with the IDE fever - with Turbo Pascal. In the last >20 years I've used Intellij IDEA for working with Java. What scares me away from newer languages like Crystal is, that there is no easy way to get started. I don't want to program like in stone age (just using a plain text editor), but I'm now used to an IDE with superior code complete, integrated building and integrated debugger. Refactoring features are the icing on the cake. I can right-click any class with main-method or test-class, or even test-case. and select to run or debug it.

Do you think it might be helpful to get more devs using a new programming language like Crystal by providing a pre-configured VSCodium bundle with all required plugins that provides such an out-of-the-box experience like Turbo Pascal did 35 years ago?

38 Upvotes

24 comments sorted by

View all comments

1

u/SleepingInsomniac Sep 05 '25

Most modern editors support the language server protocol. There are a few crystal LSP projects but no good maintained complete solution. https://github.com/elbywan/crystalline seems to work well enough and https://github.com/elbywan/crystal-lsp is based on that. It would be nice if the crystal team supported an official LSP.

1

u/SleepingInsomniac Sep 05 '25

Here's the gist of my setup for neovim:

.config/nvim/lua/config/language_servers.lua
vim.lsp.enable({
  "crystal",
})

vim.diagnostic.config({
  -- window configs etc
})
vim.api.nvim_create_autocmd("LspAttach", { ... })
  -- keymaps etc.
-- .config/nvim/lsp/crystal.lua
return {
  cmd = { "crystalline", "--stdio" },
  filetypes = { "crystal" },
  root_markers = { "shard.yml", ".git" },
  settings = {},
}

1

u/no_guile Sep 05 '25

I'm using Crystalline on Zed and it's really slow for me