Prompt
When adding new configuration settings, follow these naming conventions to maintain consistency and clarity:
- For related components: Use a unified setting with resource scope instead of creating duplicate settings. For example, instead of having separate
typescript.maximumHoverLengthandjavascript.maximumHoverLengthsettings, create a singlejs/ts.hover.maximumLengthwith resource scope:
"js/ts.hover.maximumLength": {
"type": "number",
"default": 500,
"description": "Controls the maximum length of hover content",
"scope": "resource"
}
This approach allows for language-specific configuration while reducing configuration sprawl.
- For experimental features: Clearly mark experimental settings in both their naming and metadata:
- Prefix the setting name with
experimental(e.g.,typescript.experimental.useTsgoinstead oftypescript.useTsgo) - Include the “experimental” tag in the configuration metadata:
- Prefix the setting name with
"typescript.experimental.useTsgo": {
"type": "boolean",
"default": false,
"description": "Controls whether to use TsGo for TypeScript processing",
"tags": ["experimental"]
}
These conventions improve discoverability, communicate the stability status of features, and help maintain a cleaner configuration surface for users.