Fixes#26595
**Problem**
TS includes all unique names in a file in the completion list for JavaScript files. This is often desirable, but may result in unexpected completions
**Fix**
Add a new option `javascript.nameSuggestions` to filter these suggestions out.
* Fixes#26370
Updates the symbol search results to always display the filename. This feature was previously added to the TS extension specifically, so this change removes that work in favor of a change to the core symbol search experience
* Use dash with filename
Fixes#25740
Allows ts server plugins to specify that they support additional languages, such as html. These supported languages are defined in the contributes section of the package.json:
```json
"contributes": {
"typescriptServerPlugins": [
{
"name": "tslint-language-service",
"languages": [ "html" ]
}
]
}
```
This change allows the TS Plugin in VSCode to send the additional file types to the TypeScript server for processing by the plugin
Fixes#26418
Allows enabling or disabling the references code lenses in either javascript or typescript. Previously, the setting enabled it in both language automatically. Enable the code lenses in ts files by default
Part of #25740
To support TS Server plugins for languages like angular, we will allow extensions to register new langauges for TypeScript to watch. The angular language for example would want ng-html files to also be uploaded to TypeScript for checking
The current language definitions all define both a set of language modes they support and a set of file extensions. The file extension part is unnessiary and may be incorrect depending on how a user sets up their `file.associations` in the workspace. This change removes the extensions part so that we always make use of the language mode
* Add Suggestion Provider For TS Directives
Adds a new completion provider to suggest typescript comment directives, such as `@ts-check` or `@ts-ignore`
Fixes#25413
* Add descriptions to snippets
* Fix JSDoc Completion Provider
**Bug**
89da6ab81ffixed#11944 by changing how enter works in completion providers. Now if the completion exactly matches the current text, pressing `enter` is not captured by the the suggestion widget. Instead it inserts a new line into the editor. This broke the jsdoc completion provider which uses `''` as a placeholder insertion before calculating the actual insertion upon being accepted. This weird behavior is because of a of the current tsserver api
**Fix**
Change the insert text to a single space instead. This seems to fix this issue in my testing.
* Slightly more elegant fix
**Bug**
Most VSCode extensions currently specify `"exclude"` in their `tsconfig.json` but not `"include"`. This may result in extra files being included in each project
**Fix**
Add `"include": ["src/**/*"]` to all extension tsconfig files
**Bug**
If the TSServer restarts with ongoing requests queued, the new server instance may not properly startup. in the logs, this looks like a series of cancelled request followed by a restart message, and then more cancelled requests of the same series
**fix**
I believe the root cause of this is that the request queue is not properly flushed and the request sequence numbers are not properly reset when starting the new server instance.
Fixes#25807