eclipse-theia / theia

Eclipse Theia is a cloud & desktop IDE framework implemented in TypeScript.
http://theia-ide.org
Eclipse Public License 2.0
19.29k stars 2.45k forks source link

Refactor preference tree layouting #13819

Closed msujew closed 1 day ago

msujew commented 2 weeks ago

What it does

Closes https://github.com/eclipse-theia/theia/issues/13802 Supersedes https://github.com/eclipse-theia/theia/pull/12929

Adds a new PreferenceLayoutProvider service that allows us to translate preference tree items. Also reuses some code from https://github.com/eclipse-theia/theia/pull/12929 to correctly display plugin configuration groups in the settings widget.

How to test

  1. Start Theia and confirm that the preference tree behaves as in VS Code.
  2. Install a language pack and assert that the preference tree is localized.
  3. Assert that preferences from the TypeScript extension are displayed as TypeScript and not Typescript and Javascript.

Review checklist

Reminder for reviewers

tsmaeder commented 6 days ago

If I understand this correctly, the additional NLS is only happening for section titles, not the leaf configuration properties themselves?

tsmaeder commented 6 days ago

I also seems really smelly that the preferences tree knows about preferences for all kinds of Theia extensions (like scm) which may not even be present in a Theia-based product. Are we doing this to simulate the same appearance as VS Code?