* Add Setting to Enable JavaScript TypeChecking Checking in Implicit Projects
Fixes#25113
Adds new setting to enable js typechecking in implicit projects
// cc @mhegazy
* Make sure we update config after changing settings
* Update wording
* Add new option to disable/enable jsdoc autocompletion
* Refactor JsDocCompletionItem
- remove internal command
- move TS service call and template generation to CompletionItem
- only call TS service if JSDoc completion is enabled in settings
- add local config and config update method to CompletionProvider
* Change how and when JsDocCompletionHelper is registered
Register JsDocCompletionHelper and update configuration in registerProviders instead of activate. Also react to configuration change.
* Rename JsDocCompletionHelper to JsDocCompletionProvider
* Add missing newline at the eof
* Restore completion prompt for JSDoc autocomplete
Restores internal command but but as a separate class. Registers command on extension activation.
* Add TSServer Log Options
Adds support for collecting the TSServer log directly in VS Code
* Add enable logging option
* Handle case where user is on older version of TS
* Rename
* Activate on openTSServerLog command
* VSCode -> VS Code
* 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
* 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
* 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
* 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
* Proto
* Remove unused method
* Use local storage for selecting typescript version
* Update settings warning message for typescript tsdk setting
* Small logic cleanup
* 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
* Only apply TS Dot Accept Suggestion if previous character is a valid identifier char
Fixes#17825Fixes#17770Fixes#17584
**Bug**
When typing two or more `.` in a row, we end up unexpectedly accepting suggestions in TS files. This is caused by the custom keybinding that ts registers for `.`.
**Fix**
Only accept the suggestion on `.` if the previous character is a valid identifier character.
* Move title to nls