* Add autofill for JSDocs
Adds prototype of autofill for jsdoc comments. For code like:
```js
/**|
function mul(x, y) {
return x * y;
}
```
When you press return, we will complete it to:
```js
/**
*
* @param x
* @param y
*/
function mul(x, y) {
return x * y;
}
```
In Typescript and to:
```js
/**
*
* @param {any} x
* @param {any} y
*/
function mul(x, y) {
return x + y;
}
```
In JavaScript
* Handle revert case better
* Disable on enter when suggestion is visible
Fixes#20356
Adds a status bar item that shows which jsconfig/tsconfig a ts or js file currently belongs to. This triggers the `typescript.goToProjectConfig` command when clicked, which either jumps to the config file or shows an alert about creating a configuration file
* Add Command to Go To / Create project configuration for an active js or ts file
Part of #20356
Adds a new command that opens the jsconfig or tsconfig project configuration file for the currently active file. If one does not exist, displays a quick pick that allows users to learn more and create a config file at the root of their project
* Add messages for error cases
* Work around ts error
**bug**
`(` was added as a commit character in 1.9. Combined with `useCodeSnippetsOnMethodSuggest`, this is causing some anoying autocomplete behavior.
**Fix**
Disable `(` as a commit character while `useCodeSnippetsOnMethodSuggest` is enabled.
* Stop TS From Spamming Crash Messages
**Bug**
When the tsserver crashes repeatedly, it can end up spamming users with constant alerts. This is not too helpful
**Fix**
A number of small fixes:
* Lengthen ts 5 crash timeout to 10 seconds from 2 seconds. 5 crashes in 10 seconds == no attempted restart
* Reset the last started time when we have any number of crashes in the row. This resets the crash windows.
* Fix all crashes after 5 retriggering the same logic. I believe the intent was that we should show these errors every five crashes, not on any crash after the fifth one
* Set last startTime on boot
* Add Type Definition Provider API
Adds a new API to support type definition providers and adds an initial type definition provider for TypeScript
* Fix comment
* Addressing comments
* Fixer menu option ordering
* Added simple test
* Remove unneeded d.ts files from extensions
Moves most extensions to use the lib files for the standard library that typescript provides.
* Remove a few more node.d.ts references
* Allow using workspace typescript.tsdk setting
Allows users to opt into using their workspace typescript.tsdk setting to specify the path to their typescript install.
Also, fixes a bug when the global tsdk setting points to the workspace version of typescript, our ts selector interface can get confused on which version is currently active. The fix adds a check using the local storage value to show the correct active version.
* Flip vscode and workspace pick order
* Use shared logic when workspace tsdk setting is not used
**Bug**
When the global tsdk setting points to the workspace version of typescript, our ts selector interface can get confused on which version is currently active
**Fix**
Adds a check using the local storage value to show the correct active version
* Show warning on first load of workspace with typescript.tsdk setting
Shows a prompt when a user first loads a workspace with a `typescript.tsdk` setting in the workspace.
* Also show message on first load in case where workspace has local version of TS
* Use quick pick. Added restart message
* Rename intellisense
* Proto
* Remove unused method
* Use local storage for selecting typescript version
* Update settings warning message for typescript tsdk setting
* Small logic cleanup
* Rename TypeDefinitionProvider to TypeImeplementationProvider
**bug**
In #18346, I originally called the new go to implementation provider api `ImplementationProvider` which we then decided to rename to `TypeDefinitionProvider`. At the time, I didn't realize that a type definition was actually its own, unrelated concept.
**Fix**
Rename `TypeDefinitionProvider` to `TypeImplementationProvider` to make it clear what the purpose and use of this api is.
* Fix a few names in comments