Commit Graph

385 Commits

Author SHA1 Message Date
Matt Bierner 2c7516672e Cleanup some TS files 2017-05-10 00:03:42 -07:00
Matt Bierner 93e42a5e46 Use for of loop 2017-05-09 21:50:56 -07:00
Matt Bierner f7306841f6 show jsdoc tags in sig help and for completion items
Fixes #26290

Exposes jsdoc tags such as `@priver` in the signature help and in completion items
2017-05-09 21:27:55 -07:00
Matt Bierner 173fc44723 Support Tags in TS/JS Hover Provider
Fixes #26290

Adds support for displaying documentation tags from jsdoc comments (such as `@private`) in hovers
2017-05-09 20:55:58 -07:00
Matt Bierner 946e7ebb2f Reveal TS Server log file in os instead of opening log in explorer. Fixes #25908 2017-05-09 14:56:24 -07:00
Matt Bierner e2d6ff6181 💄 2017-05-09 11:43:21 -07:00
Matt Bierner c94789c509 Add Filename to JS/TS Workspace Symbol Search
Fixes #22357

Adds file name to the workspace symbol results for JS and TS
2017-05-09 11:25:38 -07:00
Matt Bierner c70f922201 Add Suggestion Provider For TS Directives (#25806)
* Add Suggestion Provider For TS Directives

Adds a new completion provider to suggest typescript comment directives, such as `@ts-check` or `@ts-ignore`

Fixes #25413

* Add descriptions to snippets
2017-05-08 13:23:46 -07:00
Matt Bierner e8b01da790 Clean Up JSDoc Completion Provider Implementation (#25981)
* Fix JSDoc Completion Provider

**Bug**
89da6ab81f fixed #11944 by changing how enter works in completion providers. Now if the completion exactly matches the current text, pressing `enter` is not captured by the the suggestion widget. Instead it inserts a new line into the editor. This broke the jsdoc completion provider which uses `''` as a placeholder insertion before calculating the actual insertion upon being accepted. This weird behavior is because of a of the current tsserver api

**Fix**
Change the insert text to a single space instead. This seems to fix this issue in my testing.

* Slightly more elegant fix
2017-05-05 12:53:05 -07:00
Matt Bierner 79f9601273 Fix configFileWatcher being disposed of incorrectly 2017-05-04 23:37:05 -07:00
Bradley Meck d6c61a0e12 Add .mjs to known JavaScript file extensions (#25747)
Also add .es6 in missing places
2017-05-04 16:21:08 -07:00
Matt Bierner 636e3b3cb2 Fix a potential hang when tsserver exits improperly (#25808)
**Bug**
If the TSServer restarts with ongoing requests queued, the new server instance may not properly startup. in the logs, this looks like a series of cancelled request followed by a restart message, and then more cancelled requests of the same series

**fix**
I believe the root cause of this is that the request queue is not properly flushed and the request sequence numbers are not properly reset when starting the new server instance.

Fixes #25807
2017-05-03 09:56:55 -07:00
Andy 36baf609e1 Remove unnecessary parentheses (#25573) 2017-05-01 13:35:35 -07:00
Matt Bierner db036ea0c7 Log Traces at correct level when TSServer exists as expected. Fixes #25381 2017-04-27 16:11:40 -07:00
Matt Bierner 669b5ecb28 Gate pluginProbeLocations to only global ts installs 2017-04-27 12:06:15 -07:00
Alex Dima 8c82a6c615 Fixes #25437 2017-04-27 12:05:04 +02:00
Matt Bierner 456d58d9c9 Automatically restart TS server when user changes TS versions. Fixes #25431 2017-04-26 22:14:36 -07:00
Matt Bierner 38b4b14fb6 Fix ts server potentially logging unknown error code in some cases 2017-04-26 17:17:32 -07:00
Matt Bierner c478124471 Log tsserver log file path. Fixes #25490 2017-04-26 16:17:09 -07:00
Matt Bierner d3e4e45320 Fixes #25468 2017-04-26 15:46:14 -07:00
Matt Bierner 3f930c796d Properly gate type definition and implementation providers for TS changes. Fixes #24548 2017-04-25 14:47:37 -07:00
Johannes Rieken 5f319d4892 finalize progress API, #18066 2017-04-25 12:38:41 +02:00
Matt Bierner dc0f3ecdb2 Fix VSCode/Extensions for TS 2.3.1 (#25248)
From: https://github.com/Microsoft/TypeScript/issues/15352

TS 2.3.1 introduced a breaking change around checking of generic types. This change tries to fix these compiler errors in the extensions codebase
2017-04-24 16:05:57 -07:00
Matt Bierner 072e2f408b Pass Source and Level For TS/JS Errors (#25167)
**Bug**
All TS/JS diagnostics are currently reported as errors. We also cannot pass a custom source to identify them as coming from a tsserver plugin  such as tslint

**Fix**
Add support for the new fields added in TS2.3.1 that provide this information
2017-04-21 15:41:13 -07:00
Matt Bierner 0e7b49949d Lazily Fetch Supported Code Actions for TypeScript (#25164)
Delay fetching the supported code actions for TS/JS until we actually need them.
2017-04-21 14:58:38 -07:00
Matt Bierner 7cda103d46 Prototype Extension Contributed TS Plugins (#24917)
* Prototype TS plugin from extension support

* Update to take typescriptServerPlugins as an array objects instead of strings

* Use extension path
2017-04-21 14:21:46 -07:00
Matt Bierner 51f3f10e36 Add setting to disable NPM Not installed error (#25112)
Adds a new setting to disable the npm not installed warning that we show when ATA fails

Fixes #25063
2017-04-21 14:19:25 -07:00
Matt Bierner a1677b57b0 Add Setting to Enable JavaScript TypeChecking Checking in Implicit Projects (#25116)
* 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
2017-04-21 13:57:23 -07:00
Matt Bierner 6c5926309d Upload projectRootPath for TS 2.3.1 to prevent potentially watching too many files outside of workspace. Fixes #25040 2017-04-20 17:17:47 -07:00
Matt Bierner b1f7daf8d1 Remove requestFailed telemetry event 2017-04-19 17:12:38 -07:00
Benjamin Pasero daf9f01aaf 💄 2017-04-18 14:55:08 +02:00
gauss1314 7efc373d68 Update typescriptMain.ts (#24892)
./features/implementationProvider or ./features/ImplementationProvider ?
2017-04-17 15:23:50 -07:00
Alex Dima aca01f2daa Fix build hygiene issues 2017-04-14 14:08:52 +03:00
Matt Bierner 0d14027696 Fix a few compile issues when using TS 2.3 (#24731)
Tested recomppiling VSCode with TS2.3. This fixes a few issues that were discovered, including workarounds for:

* https://github.com/Microsoft/TypeScript/issues/15184
* https://github.com/Microsoft/TypeScript/issues/15185
2017-04-13 17:14:50 -07:00
Magnus Hiie 95f0c15bf5 Expose insert..Braces rule in VS Code settings (#21649)
* Expose insert..Braces rule in VS Code settings

Fixes #18043

* Add requirement blurb for insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces

* Revert tsfmt change
2017-04-13 16:35:40 -07:00
Matt Bierner 9177027132 Fix go to project config for jsx/tsx Fixes #24723 2017-04-13 15:26:32 -07:00
Matt Bierner a0cb432471 Allow Code Lenses to Provide only a Title
Fixes #24209

**Bug**
Currently, for the js/ts references code lens, even if there are zero references you can click on the lens. This display an empty peek view

**Fix**
Allow code lenses to only register a title for the lens with no actual backing command
2017-04-12 15:47:20 -07:00
Matt Bierner cc167f6305 Gate some ts code lenses in the providers themselves #24548 2017-04-11 14:39:40 -07:00
Matt Bierner e10f06e9dd Workaround for #23924 - only highlight first line of ts/js implementation range 2017-04-10 15:38:36 -07:00
Matt Bierner d4dc61b684 Add restart TypeScript Server logic (#23877)
* Add restart TypeScript Server logic

**bug**
Currently, we often have to reload VSCode when we need to restart the TSserver to enable logging or change typescript versions

**Fix**
Add a way to restart the TSServer

* Remove old command

* Formatting
2017-04-07 15:19:23 -07:00
Matt Bierner c905143876 Fix case where opening tsserver log before loading any ts file may cause undefined access 2017-04-05 22:37:14 -07:00
Matt Bierner 541681ea5a Support new completion items in TS 2017-04-04 16:10:17 -07:00
Matt Bierner fd4935de60 Handle typesInstallerInitializationFailed events (#23876)
* Handle typesInstallerInitializationFailed

Display a warning message when the ts typings installer fails to initilize. One possible cause is that npm is not installed

* Fix a spell
2017-04-03 18:48:36 -07:00
Jakub Synowiec 70e074ac2f Add an option to enable/disable JSDoc autocomplete (#23704)
* 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.
2017-04-03 10:35:29 -07:00
Christof Marti 17801ff9a9 Listen on configuration change (#20832) 2017-03-29 17:01:24 -07:00
Matt Bierner cd896ba18e Disable implementations code lens for TS < 2.2.1 Fixes #23120 2017-03-23 15:07:40 -07:00
Johannes Rieken 4cb14c4af1 use CompletionItemKind.Constant in TS provider, #2628 2017-03-23 11:57:45 +01:00
Matt Bierner ac5eb01a3c Add warning message when tsserver log fails to open 2017-03-22 17:18:10 -07:00
Matt Bierner f70f643809 Add reloading when log level changes. Fixes #23061 2017-03-22 17:12:29 -07:00
Matt Bierner 4c3cdfbb5b Fix one more ts cancelation token gating issue 2017-03-22 17:03:48 -07:00