* Definition link
Add a new `DefinitionLink` type. This type allows definition providers to return additional metadata about a definition, such as the defining span.
Hook up this new provider for typescript
This PR replaces #48001
* Correctly mark field optional
* Small code fixes
- Use lift
- Remove unused param
* Adding documentation
Changes unused variables to be faded out instead of greyed out. Add a new theme color `editorUnnecessaryCode.opacity` that controls the alpha for this fade
Fixes#51152
The preference value "indent" adds 1 tab to the indentation of continuation lines, additionally to the indentation of the line of text in memory. "deepIndent" adds 2 tabs.
* Add unused diagnostic subtype
Fixes#15710
Adds a new `DiagnosticTag` class that provide additional information about a diagnostic. Introduce `DiagnosticTag.Unnecessary` to mark when a diagnostic is for unused / unnecessary code
The design comes from Rosyln's diagnostic object and allows us to modify how a diagnostic is rendered without changing its serverity.
Hooks up JS and TS to use this new tag. This is controlled by the `javascript.showUnused.enabled` setting which is enabled by default
- Introduce a new diagnostic severity for unused.
However, using this approach, if a user sets `noUnusedLocals` in their `tsconfig.json`, the resulting diagnostic could only show the squiggly OR be grayed out. Using `customTags` allows us to support both graying out and showing the squiggly
- Custom JS/TS implementation using decorators
Not themable. We want a standard experience across languages.
* - Move to proposed
- Use numeric enum
* Add editor.codeActionsOnSave
Fixes#42092
Adds a way to run code actions on save using the `editor.codeActionsOnSave` setting. This setting lists code action kinds to be executed automatically when the document is saved.
* Use object instead of array for config option
* Adding timeout
* Fix description
* Fix relative path