Fixes#20990
Switches back to using a completion item provider for jsdoc auto complete.
The completion list will be automatically shown when you are in a potentially valid jsdoc completion context
* Makes a few TS Extension Types Disposable
**Bug**
TS Extension currently registers many different calls with VSCode but does not handle the disposable result returned from these calls.
**Fix**
For some of these registrations, make sure we correctly dispose of them when the extension is deactivated.
* Fix a few more cases
* Cover a few more case
* 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