Skip to content
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

Test Settings #29466

Closed
3 tasks done
sandy081 opened this issue Jun 26, 2017 · 1 comment
Closed
3 tasks done

Test Settings #29466

sandy081 opened this issue Jun 26, 2017 · 1 comment

Comments

@sandy081
Copy link
Member

sandy081 commented Jun 26, 2017

Test for #28538

Complexity: 4

No Workspace

  • Settings are read and applied from Default / User settings. Make sure user settings override defaults.
  • Update User settings and verify the update.
  • Update settings using User actions like Toggling Sidebar Visibility and verify updates
  • Write a simple extension and verify
    -- Settings are read and inspected (Default / User) correctly
    -- Settings can be update correctly. Writing into workspace context should fail.

Single root Workspace

  • Settings are read and applied from Default / User / Workspace settings. Make sure workspace settings override user settings and default settings.
  • Update User settings and Workspace settings and verify the updates.
  • Update settings using User actions and verify updates
    -- Have files.associations setting in Workspace scope and try to update the file association using the language mode on the status bar. Verify workspace setting is updated.
  • Write a simple extension and verify
    -- Settings are read and inspected (Default / User / Workspace) correctly
    -- Settings can be update correctly

Multi root Workspace

  • Please go through the comment to know how Settings in multi-root workspace works

In brief, currently supported Folder scoped settings

editor.*
files.exclude
files.trimTrailingWhitespace
files.insertFinalNewLine
files.encoding
files.autoGuessEncoding
files.watcherExclude
search.exclude

Rest are Workspace scoped settings.

Source of Settings are

  • Defaults come from Default settings
  • User settings come from User settings file
  • Workspace settings come from Settings file of first root folder excluding Folder scoped settings
  • Folder settings come from Settings file of root folders excluding Workspace scoped settings.

Verify:

  • Default setting is applied to all folders unless overridden
  • User setting is applied to all folders unless overridden
  • Workspace setting is applied to all folders unless overridden
  • Folder settings are applied only to themseleves.
  • Write a simple extension which is multi root aware
    • Copy vscode.proposed.d.ts into your extension.
    • Enable your extension to use proposed api by adding "enableProposedApi": true to package.json
    • Use the proposed API workspace.getConfiguration2()to read settings. Make sure you are able to get and inspect settings from different folders.
  • Try to pass a resource belongs/ do not belongs to one of the root folders to the above API and verify getting and inspecting configuration.

NOTE: If the root folder does not have a .vscode folder and settings.json file under it, you have to manually create them so that you can add folder settings.

@vscodebot vscodebot bot added bug Issue identified by VS Code Team member as probable bug workbench labels Jun 26, 2017
@sandy081 sandy081 added testplan-item and removed bug Issue identified by VS Code Team member as probable bug workbench labels Jun 26, 2017
@roblourens roblourens modified the milestone: June 2017 Jun 27, 2017
@roblourens roblourens assigned dbaeumer, aeschli, Lixire and weinand and unassigned aeschli Jun 27, 2017
@sandy081
Copy link
Member Author

@weinand Please use the following build for testing

https://az764295.vo.msecnd.net/insider/93b6aa7e167cba6d629df0eae51137303b54afc4/VSCode-darwin-insider.zip

Reason being, current insiders build does not has support for following. Where as the above build has.

  • files.trimTrailingWhitespace
  • files.insertFinalNewLine
  • files.encoding
  • files.autoGuessEncoding
  • files.watcherExclude
  • search.exclude

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants