Skip to content

Support for experimental settings #227140

@joaomoreno

Description

@joaomoreno

We currently have a very unstructured approach to settings related to experimental features. A few examples:

  • editor.experimental.treeSitterTelemetry
  • editor.experimentalWhitespaceRendering
  • accessibility.signalOptions.experimental.delays.warningAtPosition
  • C_Cpp.experimentalFeatures
  • timeline.pageOnScroll, its description starts with Experimental.

This is problematic in a few key ways:

  • There's no deterministic way to discover all experimental settings
  • There's no clear way of knowing whether a specific setting is experimental
  • There's no easy way to mark a setting as non-experimental; one must migrate

We should:

  1. Support 1st party labeling of settings to be experimental
  2. Surface this labeling in the settings UI
  3. Support an easy @experimental query in the settings UI

Optionally:

  1. Migrate all existing experimental settings to the new infrastructure
  2. Add eslint rules preventing from using *experiment* in the setting name

Metadata

Metadata

Assignees

Labels

*duplicateIssue identified as a duplicate of another issue(s)configVS Code configuration, set up issuesfeature-requestRequest for new features or functionalitysettings-editorVS Code settings editor issues

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions