* Use common TS install for both the TS Extension and Html Extension
**Bug**
At least two version of Typescript are shipped in our extensions: one in the typescript extension and one for the html extension. This adds about 5MB to package install size and also results in inconsistent behavior
**Fix**
Change the TypeScript extension to also use the common version of TypeScript. Bump this version up to 2.2.1
* Don't hardcode paths for typescript
* Prototype of Implementations Code Lens Provider for TypeScript
Adds a prototype code lens that shows the number of implementations for interfaces and abstract classes. This shares a lot of code with the references code lens provider, so I extracted most of the common stuff into a base class.
* Support children of interfaces
* Add setting to control implementations code lens
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