Kate hopes and dreams (wishlist)

This is definitly a massive ask, but I’d love to see some stuff for pair programming. I think it’s called live share on VSCode, or CodeTogether on other platforms. It’s the only reason I go back to VSCode currently, though I’ll admit I use vim, not kate

2 Likes

Thanks for the tips! Can the snippets plugin use online sources? This would be great for some kind of collaboration, shared Latex/Typst/whatever templates etc.

I will look to fix the LSP stuff and report, would be great!

Yes, you can place a lot of things in the menubar but its not there by default. I have a lot of these things placed here. Sort by ABC has no icon, so I had to choose one myself.

Different menubar presets are a huge thing on KDE apps. By default they have too much useless things, but they may be best for beginners.

Dolphin with its 3 display types, the second one “list but really and no details” mode for example I find totally useless. Or “copy, cut, paste”, who needs that? Meanwhile things like “show menubar” “split” “invert selection” “open terminal” or “open Kfind here” are really useful

Can the snippets plugin use online sources?

You can download more snippets online within Kate. They all come from here I think: KTextEditor Snippets - KDE Store

So if you want to share snippets with others, you could upload it there and then download it from Kate.

2 Likes

For me Kate should focus on staying a helpful text editor, if I want to code in Java there are powerful IDEs like IntelliJ IDEA, Eclipse and NetBeans, for JS and C# there is VSCode… Almost each development platform has its own specialized IDE.

Kate should focus on powering and make easy to access its own text and line operations like how Sublime Text editor does it.

Would be great to see mnemonic to quickly close the file in Kate (e.g. Save is accessible by pressing S, Discard using D, etc.).

IMO standard dialog for Save should be Yes, No, Cancel so meaning Y, N, or C (or ESC).

ksnip_20230914-141647

Hi, I am looking forward insert or replace with the sequence numbers.
For example, replace the number 0 with an incremental number.

pizza-0
pizza-0
pizza-0
pizza-0

to

pizza-1
pizza-2
pizza-3
pizza-4

Or set the steps, such as 2, 4, 6, 8…
Or length, such as 01, 02, 03, 04…

This will also be very helpful when working with csv files.
Thanks

1 Like

There is room for improvement in the integration of LSP into Kate.

1° The use of a single ~/.config/kate/lspclient/settings.json
file is heavy. Would it be possible to divide it into [language].json files with, as KhazAkar suggests, several servers per language ? And adapting the graphical interface accordingly.

2° The advantage of free software is that it is accessible to as many people as possible, especially beginners who want to learn to code.
Installing LSP servers is easy for a computer scientist, but it can be a complex task for a beginner.
The LSP configuration page could offer a one-click installation and update method. Perhaps in the form of flatpaks or of packages in the user’s directory (i.e. ~/.local/sharekate/lsp/[$LSPNAME].

Some improvement regarding the bookmarks would be definitely needed. Currently it is hidden inside a menu, and difficult to access/search. I could imagine a panel similar to “Projects”/“Documents”. Maybe it can even be a plug-in.

Small improvements in the breadcrumb component. Currently the search only finds top-level elements in the tree. Searching also hides non-top level elements.

These should be small changes, I event attempted to fix those by myself, but since I’m very inexperienced both in C++ and QT, I only achieved partial success, which I deemed not to be worthy to merged back.

Interestingly “Symbol Outline” works more-or-less properly. (If only it wouldn’t collapse the tree after clearing search result) Couldn’t we reuse that component? As I understand this is part of the LSP plug-in, therefore some restructuration might needed to avoid code duplication which we currently kind of have.

I think it would be a good idea to revive KWrite and empower and expose its line and text functionalities independently of Kate, because Kate became really hybrid and hard to use for simple text and lines tasks, it hides important operations deep in those multi level menus.

It feels like Kate wants to become a generic editor and do all of it but fails to make it easy to do simple tasks.

For example, if I want to open a small text file and sort its lines then remove the duplicated ones then indent them, it’s hard to achieve with Kate! Because those functions are hidden deep in that ambiguous Tools>Script menu, plus indent/unindent function is not present in menus, so you either search for them one by one via menu entries or via CTRL+ALT+I or you have to remember tons of those weird shortcuts which is not easy for average user who edits text files once or twice per week.

Internally these are actions, and you can place any action (including the ones you mentioned) to the toolbar. You can also assign keyboard shortcuts, and also there is internal kate commands for many of these actions.
Another option is to “pipe” the editor buffer into standard CLI commands/scripts. What would be nice is to have the ability to edit the menu, or have a custom menu, or something like that.
Also AFAIK kate is going to completely replace kwrite, and kwrite will be only a special session for kate without plugins.

Kate for now is ambiguous, it’s neither a complete code editor, neither a full text editor.

It really can’t compete with high level IDEs like Eclipse, NetBeans, JetBrains IDEs, Visual Studio IDE… and at the same time can’t compete with powerful text editors like Sublime Text, Notepad++…

The real problem is that Kate has currently the potential to be at least an excellent text editor or the best one, but those secondary and complex added features are hiding its basic text and lines functions.

That’s why I said it’s good to empower the clean and slim KWrite editor to be a powerful text editor and let Kate to its fate.

IMHO Kate is falling between a full-blown IDE and a smart text editor. If I get it right you mean ambigousity in that regard, which is true, but I don’t look at this as a problem which needed to be solved. On the contrary! This is one of the main reason I use Kate as a primary editor. It have IDE-like features, but only that extent to keep it language agnostic, and generic. If I have to do some complex development I usually switch to a real IDE. It is also very easy to integrate Kate with other tools. On the other hand Kate is far from perfect, it has many small (and great) issues, and the UI is one of them.

In my experience those specific “basic” functionalities which are “hidden” I either never/rarely use, or use so frequently I use the shortcut for it.

I’m not against the rearranging of the menu, not at all! (it would be event better if the user could edit the menu structure) Also I don’t think there is a technical difficulty to make a different menu structure for the kwrite “profile”, only a matter of implementing it. The main development is on kate, and kwrite just a “side-project” benefitting from kate development. There was a blog post about the devs feel pointless maintaining two separate program where kwrite was just a subset of kate from functionality PoV. They still want to have a simple editor with basic editing functions, this is why kwrite is just a “special” kate instance.

Hope I’m not necroposting too much here.

Here’s my personal wishlist for Kate:

  • Support toggling comments in Vi Mode. There’s ctrl+/ to toggle comments but it doesn’t work with vi (EDIT: Looks like I was wrong, it does work!). In VSCode and Vim (commentary.vim) it’s done with gc
  • Support surround.vim motions. This is also something vsc does out of the box. For example, you can use cs'" to turn quotes into double quotes around a text object ('hello' -> "hello")
  • Use @ in Quick Open to navigate to symbols in the current document (or even better, symbols throughout the project).
  • Also use # in Quick Open to navigate to bookmarks

Same here; I use Kate all the time for JAMStack stuff and I love it.

At my previous job, I could have used better remote editing functionality, because a real-time file monitoring daemon running on the remote machine really beats fish:// in most regards (and would also play better with terminal/LSP/debugger/etc. integration).

But now that I’m back to just local KDE coding, all I want is a unified Search & Replace vs. Powerful Multi-File Search & Replace experience. Never open both at the same time. Same shortcuts (esp. for “replace within the same file”) and behavior where possible.

That, and Kate not adding extra braces, parentheses or quotation marks when I don’t want them. But still add them when I do want them. Then I’d be a happy camper.

All I would like to see improved in Kate would be to be able to have its tabs more compact and aligned to the left (like Dolphin’s). I expect that some people might prefer the tabs the way they are now but at the very least I would like an option to be able to switch between the current style and the more traditional style.

I also know that tabs are not consistent between all KDE apps (also as per this similar bug report for another KDE app “Kile”):
https://bugs.kde.org/show_bug.cgi?id=428067

It would be nice for this issue to be addressed for all KDE apps eventually, but if we are to start from somewhere, I’d love if we started with Kate/KWrite.