-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
preferences for multi-root workspace #3247
Conversation
It seems like one of your components that is getting tested with mocha relies on some frontend package, somehow: https://travis-ci.org/theia-ide/theia/jobs/444752934#L2333 The tests run in node, so if some nested import from a chain of "require" happen to import something from phosphor indirectly, it will fail the tests, because phosphor seems to have side effects (code executed on importation) targeting a browser environment. |
bcd31a1
to
964c0df
Compare
ef52d69
to
b593f38
Compare
1c13c97
to
e043244
Compare
Someone should test this PR, and review that there are no breaking changes in API and behavior. |
@akurinnoy this pr is being reviewed by @lmcbout and others from the Ericsson team. You are also welcomed to give us any suggestions :) hi @akosyakov, this pr is tested by @lmcbout and myself from the functionality standpoint, but i am not sure if we covered all the cases. could someone from typefox do a quick test in near future? |
packages/core/src/browser/preferences/preference-contribution.ts
Outdated
Show resolved
Hide resolved
packages/core/src/browser/preferences/preference-contribution.ts
Outdated
Show resolved
Hide resolved
packages/core/src/browser/preferences/test/mock-preference-provider.ts
Outdated
Show resolved
Hide resolved
packages/preferences/src/browser/abstract-resource-preference-provider.ts
Outdated
Show resolved
Hide resolved
packages/preferences/src/browser/abstract-resource-preference-provider.ts
Outdated
Show resolved
Hide resolved
Thank you for the review. The bug was fixed. |
0099db4
to
d97cd0c
Compare
986662f
to
08c1281
Compare
resolved conflicts between this PR and 6b1a35c |
@akosyakov I noticed that you bumped the version to 0.4.x. Can I also take advantage of the version change and merge this PR in near future ? |
@elaihau i've looked at the code, thank you for the effort, now it has much less incompatible changes than an original version. It is easier to follow without being afraid that something broken. Unfortunately, they are still new mandatory arguments, so yes the major version is required. Could you add a record in |
Yes. Done.
Thank you ! |
CHANGELOG.md
Outdated
@@ -15,6 +15,10 @@ Breaking changes: | |||
- `3_move` and `7_actions` replaced by `navigation` group | |||
- editor context menu group changes: | |||
- `2_cut_copy_paste` renamed to `9_cutcopypaste` group | |||
- [core] `PreferenceProvider` [#3247](https://github.com/theia-ide/theia/pull/3247) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i would group them under multi-root workspace support for preferences
. There are more incompatible changes to what is listed here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i updated the list. could you check if there are items missing?
It seems to behave properly. @svenefftinge Can you test it as well? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
With changes in 543b119, URIs of root folders in a multi-root workspace are stored in a file with the extension of "theia-workspace", while the workspace preferences are in the ".theia/settings.json" under the first root. In this pull request, workspace preferences are stored - in the workspace file under the "settings" property, if a workspace file exists, or - in the ".theia/settings.json" if the workspace data is not saved in a workspace file. Also, this change supports - having 4 levels of preferences (from highest priority to the lowest): FolderPreference, WorkspacePreference, UserPreference, and DefaultPreference, with - an updated preference editor that supports viewing & editing the FolderPreferences, WorkspacePreferences, and UserPreferneces. - Internally, vsCode uses an enum to define the preference scope. External extensions, however, make contributions to preference schemas by having schemas defined in the package.json, where the preference scope is a string enum of "window", "application", and "resource". This change updates the PreferenceSchema interface defined in theia, to allow contribution points to define scopes with strings. - Added affects() function to PreferenceChange, to help client decide whether or not the preference change matters. Signed-off-by: elaihau <liang.huang@ericsson.com>
With changes in 543b119, URIs of root folders in a multi-root workspace are stored in a file with the extension of "theia-workspace", while the workspace preferences are in the ".theia/settings.json" under the first root.
In this pull request, workspace preferences are stored
Also, this change supports
Signed-off-by: elaihau liang.huang@ericsson.com