Not sure if this is just a problem with my particular combination of theia extensions (it is a bit hard to decide what is needed really. See also: https://github.com/eclipse-theia/theia/issues/6609) or if its just a limitation of Theia's current implementation.
On the left we have a tree view and on the right a json file.
The basic idea of this is fine I think, but I would like to have better support to either work via the tree; or via the json file. (Actually my preference is to work just via the json file, but improving either the experience in the tree, or the json editor would work).
Possible ideas for improvements:
Vscode does all of these things. It is possible of course that Theia already does all these things too, but maybe I just need to add the right extension?
PS: For reference... here is the 'package.json' of my setup:
{
"private": true,
"dependencies": {
"typescript": "latest",
"@theia/typescript": "next",
"@theia/navigator": "next",
"@theia/terminal": "next",
"@theia/outline-view": "next",
"@theia/preferences": "next",
"@theia/messages": "next",
"@theia/git": "next",
"@theia/file-search": "next",
"@theia/markers": "next",
"@theia/preview": "next",
"@theia/callhierarchy": "next",
"@theia/merge-conflicts": "next",
"@theia/search-in-workspace": "next",
"@theia/json": "next",
"@theia/textmate-grammars": "next",
"@theia/mini-browser": "next",
"@theia/plugin-ext": "next",
"@theia/plugin-ext-vscode": "next"
},
"devDependencies": {
"@theia/cli": "next"
}
}
- allow searching the tree view for some property keys by keywords (e.g. typing a part of the key or something like that) It is a PITA to try and find something by expanding/browsing all the nodes).
Searching in the preferences widget is supported, but it is like you describe at the moment, where you need to expand nodes to search. I think we should revisit https://github.com/eclipse-theia/theia/issues/2638.
- provide completions in the json editor (serves the same needs as a 'search the tree' function)
This is already the case, please note the current bug https://github.com/eclipse-theia/theia/issues/6542
- provide hovers in the json editor for known keys.
Can you elaborate what you mean?
- provide validation of the json value / types in the json editor.
The settings.json file is validated, it is likely not to work at the moment due to https://github.com/eclipse-theia/theia/issues/6542.
Vscode does all of these things. It is possible of course that Theia already does all these things too, but maybe I just need to add the right extension?
For reference, you can verify a complete example present when building this repository, and verifying the example-browser or example-electron applications:
This describes the complete list of extensions maintained by the main repository.
provide hovers in the json editor for known keys.
Can you elaborate what you mean?
I mean when you hover mouse over a property in the preferences json, it could show a description that goes with that property, to explain what it does. I think that kind of information exists since its show in the tree widget. I guess this is another example of something that supposed to work but currently doesn't because of #6542 ?
Thanks for all your responses. It seems perhaps most of this comes down to bug #6542 being fixed and the experience will already be pretty close to what I'd expect/want? If so I think you can close this.
provide hovers in the json editor for known keys.
Can you elaborate what you mean?I mean when you hover mouse over a property in the preferences json, it could show a description that goes with that property, to explain what it does. I think that kind of information exists since its show in the tree widget. I guess this is another example of something that supposed to work but currently doesn't because of #6542 ?
Thanks for all your responses. It seems perhaps most of this comes down to bug #6542 being fixed and the experience will already be pretty close to what I'd expect/want? If so I think you can close this.
@kdvolder hovering is in fact supported :)
The issue #6542 has been resolved so you can try the example-browser to see the full functionality again :)
@kdvolder please let us know if you find further improvements to the preferences widget and experience, we are always happy to improve :) The easiest way is to open new issues (granted they are not already created) as they are easier to track.
I've tried the 'full' Theia docker image. I assume that is similar as the browser example?
Editing preference json file doesn't seem to give any completions (beyond just suggesting words it sees in the same file). Also hovers are not working for me either.
This is how I run theia:
docker run -it --init -p 3000:3000 -v "$(pwd):/home/project:cached" theiaide/theia:next
Here's an example of me trying to get completions:

PS: I also cleared my browser cache, but no change. I also tried theiaide/theia:latest with similar results.
Built the browser example from source as per these instructions: https://github.com/eclipse-theia/theia/blob/master/doc/Developing.md#quick-start
And now the preference json editor is working properly (validation / completions / hovers all working). So the docker images are not equivalent?
@kdvolder the docker images probably need a similar fix as was present in the main repository, I'll adjust them thank you!
Fixed as part of https://github.com/theia-ide/theia-apps/pull/272 馃嵕