Details
-
Suggestion
-
Resolution: Unresolved
-
P2: Important
-
None
-
Qt Creator 4.13.2
-
None
Description
Currently, while language-client is fully working, it's impossible to track its status, to the point where sometimes it looks like it's not working. The Language Client plugin is extremely rigid and doesn't take errors easily. For example, I tried to used rust-analyzer, and because Qt Creator isn't aware of the "loading" state in language server, it took the response of rust-analyzer that it's "still loading" as an error and it stopped working. While with Visual Studio Code, it's dynamic, and shows that the code is still loading.
Many similar problems can be drawn. It's very important to be aware of the language-client status at any point in time. Some times requests take a long time, and some times they're fast. This same problem applies also in C++. For example, when following symbols with complex code and using the clang backend, and I press F2 to follow the symbol, some times it takes like 10 seconds to respond, and the developer has absolutely no way of knowing whether he succeeded or not (there's no way to know if the symbol is recognized or not, so an F2 on a predefined keyword, for example, doesn't do anything). So they continue to look at something else, and suddenly it jumps to the place of the symbol... at times after 30 seconds. Very weird dynamic.