I’m not an IT professional or even expert. I’ve been using Geany for a decade, but recently I switched from a frugal setup to KDE Plasma, and decided that I want to use everything KDE has to offer as far as possible.
I’ve been using Kate for almost 3 months now, mostly for web development (Jinja), shell scripting and Markdown writing. It’s been a good experience overall, but it seems to have one or two shortcomings compared to Geany, which makes me wonder how Kate fares in the landscape of Linux code editors/IDEs.
To give a concrete example, Geany has this great feature for HTML that automatically creates a closing tag once I finish the opening one. E.g. I type <div>, and as soon as I type the , a closing </div> appears. Neat. That’s more than just automatically closing brackets. I see no Kate plugin that would do that.
There’ve been a few more niggles, I’ll edit the post - which I hope makes sense as a general question - when I remember them.
edit: Thanks for putting it all into perspective. Takeaways for me: 1) there’s also kdevelop, 2) need to figure out what LSP is, and 3) regarding alternatives it’s interesting to see which Archlinux has in its repositories and which are only AUR.


I find Kate out of the box relatively equivalent to VS Codium with a few plugins, for example it provides ESLint and Prettier integrations and VI mode and other cool stuff. But there’s a bug that makes it more TypeScript than JavaScript friendly, it doesn’t identify output of typescript-language-server in JavaScript mode properly. So when I try writing in it code the way I prefer, with JSDoc annotations rather than switching to TypeScript completely, I get proper error messages but it doesn’t highlight the error location right. There are also usability features I miss from Emacs or VS Codium, such as me typing a path to a new file and them automatically creating parent directories (in Kate, that gives an error). But the biggest problem is that Kate randomly corrupts my files, replacing the contents of one file with another.
Regarding divs, I prefer using plain JS, e.g.
div({ id: "content" }, "It works!"), over either JSX or HTML templates, even if that’s perceived as very very weird and I can only do that in personal non-commercial projects.