* 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
* Prototype Using Commit Characters for JS and TS Completions
Part of #7326
Adds a prototype for using specific characters to complete TS/JS completion items automatically.
* Tune path completion items
* Disable dot commit in js files
* Don't complete on / in module names