Commit graph

940 commits

Author SHA1 Message Date
Matt Bierner
80ccf6fd9d Make sure we always explicitly reset pendingGetErr
#88209
2020-01-07 16:14:54 -08:00
Matt Bierner
f0336455ed Adding documentation.refactor proposed contribution point
For #86788
2020-01-07 16:14:54 -08:00
Matt Bierner
629a08ed62 When generating a tsconfig with checkJs, make sure we also set allowJs
For #87972
2020-01-06 15:35:41 -08:00
Matt Bierner
f105af6007 Set sourceMap: true in default tsconfig
For #87972
2020-01-06 15:35:41 -08:00
Andrew Liu
81fb34c445 fix parsed JSDoc author tag (#80898)
* fix parsed JSDoc author tag

* fix author tag
2020-01-06 11:53:13 -08:00
Johannes Rieken
09ee89ca87 remove more unused tslint directives 2020-01-03 08:14:23 +01:00
Johannes Rieken
f80a6f9b96 update rule-disablements (eslint-disable for tslint-disable) 2020-01-02 20:28:59 +01:00
Johannes Rieken
f01f7ebe93 fix some (future) linting issues 2019-12-31 09:54:04 +01:00
Matt Bierner
c0c4eb6a51 Always use same range for jsdoc completions
For #87091

JSdoc completions do not have different behavior for replace vs insert
2019-12-20 11:55:46 -08:00
Matt Bierner
4636be2b71 Remove grep for ts tests 2019-12-17 16:50:36 -08:00
Simon Siefke
043da28dda fix: typescript completion item kind for local function (#87182) 2019-12-17 11:03:00 -08:00
Alex Ross
7a374c3d13 Handle stat.type correctly in typescript features extension
#85753
2019-12-17 11:58:28 +00:00
Matt Bierner
c645eeee69 Remove extra check 2019-12-12 10:31:55 -08:00
Matt Bierner
faf453c1c4 Prefer startsWith 2019-12-12 10:31:55 -08:00
Matt Bierner
1dd79d573c Use more explicit names 2019-12-12 10:31:55 -08:00
Matt Bierner
a4177f50c4 Use object for refactor.disabled
For #85160

Using an object is more explict with property names and will let us introduce additional properties in the future if needed
2019-12-11 20:15:30 -08:00
Matt Bierner
58d954737f Don't show references code lens on const members
Fixes #86495
2019-12-09 17:28:32 -08:00
Matt Bierner
35587bec93 Also log error when a fatal error happens 2019-12-09 17:28:32 -08:00
Matt Bierner
9bdb4a2f70 Handle normalized windows paths in resource map
Fixes #86433

During path normalization, we convert `\` in windows paths to  `/`. This causes the isWindowsPath check to fail

I think it is generally safe to assume that file paths that start with a drive letter and then any type of slash should be treated as windows paths
2019-12-05 15:08:13 -08:00
Martin Aeschlimann
eeee6244d9 [josn] fix wrong schema-schema reference, use draft-07 everywhere 2019-12-05 11:15:39 +01:00
Matt Bierner
57455124b5 Make sure we also log the typescript error properties on fatal error telemetry events
Fixes #86205

We already log error metadata for failed requests. However we don't include this on the fatalError event. This makes investigation of these errors difficult
2019-12-04 10:59:15 -08:00
Martin Aeschlimann
3bef2000a8
Merge branch 'master' into patch-2 2019-11-26 14:28:00 +01:00
Matt Bierner
a63d88ec55 Make sure we normalize paths before sending them to tsserver
Fixes #84826
2019-11-25 20:58:47 -08:00
Matt Bierner
16fffb122b Mark parameter suggestions as variables
For #85430
2019-11-25 20:09:10 -08:00
Matt Bierner
dd300e4fe7 Show constants as normal variables
Fixes #85429
2019-11-25 19:50:32 -08:00
Matt Bierner
4116c9411b Use enum member completion type 2019-11-25 19:50:32 -08:00
Samuel Bronson
96479b86f3
Allow trailing commas in jsconfig.json, too
This is a followup to commit bcf67c867f "allow trailing commas in tsconfig.json (for #80419)".
2019-11-23 21:36:10 -05:00
okmttdhr
0db887a1a3 Show JS/TS References Code Lens for Inner Functions (#84689)
* Show code lens for inner functions

* Create typescript.referencesCodeLens.showOnAllFunctions setting

* Create javascript.referencesCodeLens.showOnAllFunctions setting

* Add a new setting in a existing class

* Avoid unnecessary fallthrough
2019-11-22 18:06:23 -08:00
Matt Bierner
827e94edef Hook up basic alert of why a code action could not be applied
For #85160
2019-11-20 17:10:00 -08:00
Alex Ross
e82dd213dd Make typescript problem match watch patterns less locale specific
Improves #46373
2019-11-20 09:33:32 +00:00
Matt Bierner
0e5a5f6524 Better time logging for js + markdown
We don't need full date, only times
2019-11-19 11:22:08 -08:00
Alexandru Dima
cf624b01fc
Fix memory leak caused by listeners to nulToken (#84940) 2019-11-19 11:13:38 +01:00
Matt Bierner
942287eb44 Fix report issue command
For #85021
2019-11-18 11:00:47 -08:00
Matt Bierner
5b428d2ec1 Don't use locale strings
For #84803

These can cause issues on node 12
2019-11-18 09:35:35 -08:00
Johannes Rieken
95a7255725 fix more compilos 2019-11-18 15:26:44 +01:00
Alexandru Dima
e7f8a94eb2
Split TS changes to separate PR 2019-11-18 12:17:23 +01:00
Alexandru Dima
41be9a6142
Merge remote-tracking branch 'origin/master' into alex/semantic-exploration 2019-11-18 08:59:14 +01:00
Matt Bierner
91200b1202 Use const enum for types 2019-11-15 14:55:14 -08:00
Matt Bierner
fa72810c77 Don't send TS Server open requests if we open then quickly close a resource
Fixes #84875
2019-11-15 14:02:46 -08:00
Alexandru Dima
cbb231754f
Merge remote-tracking branch 'origin/master' into alex/semantic-exploration 2019-11-15 10:10:39 +01:00
Matt Bierner
738d85a51e Don't return js/ts fix all for empty edits 2019-11-14 15:35:46 -08:00
Matt Bierner
88c2100793 Make sure we always reset bufferSyncSupport when the TS server is started
Splits `reset` from `reinitialize` and makes sure we always `resset` buffer sync support when the service starts
2019-11-14 11:30:41 -08:00
Matt Bierner
4e8ef4cf4d Remove gating for inMemoryResourcePrefix
Some users are setting weird errors related to untitled TS files. In some of these cases (such as https://github.com/microsoft/TypeScript/issues/35091) we see a untitled file being sent to the tsserver without the `inMemoryResourcePrefix`.

I can't figure out how to get into this state but am removing the gating that *could* perhaps cause use not to set `inMemoryResourcePrefix`. This gating targets TS 2.7 or older, which telemetry shows very, very few users are still enabling in their workspaces
2019-11-14 00:17:57 -08:00
Alex Dima
15beb36ccf
Merge remote-tracking branch 'origin/master' into alex/semantic-exploration 2019-11-14 09:16:10 +01:00
Johannes Rieken
27eafea04a
Merge pull request #84578 from microsoft/joh/outlineNav
Symbol navigation
2019-11-13 12:33:36 +01:00
Matt Bierner
cf197953d7 Prefer using vscode.workspace.fs over node fs 2019-11-12 21:59:36 -08:00
Matt Bierner
0749b7aca8 Timebox the TSServer request used in the JS/TS task provider
Fixes #84278
2019-11-12 21:59:36 -08:00
Matt Bierner
1f3642a07d Add explicit type on experimental fixAll provider
For #84602
2019-11-12 14:28:43 -08:00
Matt Bierner
a170916295 Highlight a few other types in jsdoc comments
Fixes #84622
2019-11-12 13:31:09 -08:00
Greg Van Liew
8ae2921645 Nits in settings comments 2019-11-12 10:55:04 -08:00
Johannes Rieken
7e333135dd often set selection range for TS document symbols, #84576 2019-11-12 11:28:48 +01:00
Matt Bierner
2ec3bc4fd0 Removed undocumented setting usage 2019-11-11 16:12:52 -08:00
Matt Bierner
8904a3cbce 💄 2019-11-11 16:12:52 -08:00
Matt Bierner
6118d2713e Make sure synchronized buffers are reset when tsserver restarts 2019-11-11 16:12:52 -08:00
Matt Bierner
21fd94b70c Make sure buffer sync reset clears pending diagnostics 2019-11-08 14:47:06 -08:00
Matt Bierner
7218d47251 Make sure we don't try calling a cached getErr on a closed resources that are in the getErr queue 2019-11-08 14:47:06 -08:00
kieferrm
59ba1190b4 fix GDPR annotation 2019-11-08 22:36:55 +00:00
Alex Dima
c9a2de2d9c
Improve integration test output on Windows (#84239) 2019-11-08 17:21:35 +01:00
Matt Bierner
fdeb9aa9b8 Use 'as const' instead of readonly class object 2019-11-07 20:31:32 -08:00
Matt Bierner
a8ad448cb0 Aggressively cancel code lens requests when the resource changes
For #84185
2019-11-07 18:47:39 -08:00
Matt Bierner
d83f121f6d Fix spelling 2019-11-07 07:57:04 -08:00
Alexandru Dima
c34e736195
Forward SemanticColoring disposals to the ext host 2019-11-07 16:06:46 +01:00
Alexandru Dima
bdbe2e3612
Clear semantic tokens in case of errors/empty results 2019-11-07 15:40:06 +01:00
Alexandru Dima
7761e75deb
API tweak from the standup discussion 2019-11-07 15:26:22 +01:00
Matt Bierner
bea911842a Fix name and make sure tell VS Code about about specific code actions 2019-11-06 18:21:43 -08:00
Matt Bierner
5b63895862 Docment remaining known js/ts refactorings 2019-11-06 18:13:54 -08:00
Matt Bierner
26c4541c4a Add coalease helper function 2019-11-06 17:47:43 -08:00
Matt Bierner
692630172a Documenting more js/ts refactorings 2019-11-06 17:47:43 -08:00
Matt Bierner
42d53cf373 Document extract constant and extract type alias 2019-11-06 16:51:49 -08:00
Matt Bierner
c3983ca63b Document extract interface for js/ts
Also re-organizes the code action kinds fo better encapsulate mapping of TS kinds to VS Code kinds
2019-11-06 16:51:49 -08:00
Matt Bierner
2510769bf9 Updat codeActions contribtions schema based on https://github.com/microsoft/vscode/issues/82718#issuecomment-550468267
- Adds a description
- Remove schama
- Moves the language to the top level so we don't need to duplicate so much info for each code action
2019-11-06 16:51:49 -08:00
Matt Bierner
c8d64b13e5 Add code actions contributon point
For #82718
Fixes #52846

This adds a newly proposed codeActions contribution point. For details, see #82718

This change also makes the intellisense for the `editor.codeActionsOnSave` property dynamic by using the new contribution point
2019-11-06 10:13:59 -08:00
Alexandru Dima
013433992a
Semantic tokenization 2019-11-05 17:17:28 +01:00
Alexandru Dima
308ff31f95
Merge remote-tracking branch 'origin/master' into alex/semantic-exploration 2019-11-05 09:44:55 +01:00
Andrii Dieiev
a188b905c6 Trigger completions on backticks in JS/TS (#80234) 2019-11-04 14:55:07 -08:00
Matt Bierner
c78edd8668 Pick up TS 3.7-rc 2019-11-04 08:49:47 -08:00
Johannes Rieken
073735c5e1
Merge branch 'master' into joh/willRename 2019-11-04 12:10:18 +01:00
Huáng Jùnliàng
c35b9ba236 add babel.config.json to validation (#83758) 2019-11-01 11:23:04 -07:00
Johannes Rieken
5a4e23fb31 update names 2019-11-01 17:03:56 +01:00
Johannes Rieken
36c3e8756c adjust API proposal to account for N files being created, moved, and deleted 2019-11-01 16:50:56 +01:00
Johannes Rieken
2d71cb4cdf adopt proposed API changes in TS land 2019-11-01 12:38:46 +01:00
Johannes Rieken
14e2178b7f fix #83762 2019-10-31 16:02:34 +01:00
Matt Bierner
c80fb1b771 Be more resilient when checking if we have an opened jts/ts buffer
Fixes #83338

`TextDocument` lifetime may not match that of the the user facing editors. However the JS/TS extension was assuming that it did. Introduce a `ensureHasBuffer` function that can open a buffer if vscode knows about a textdocument but no `onDidOpenTextDocument` has been fired for it yet
2019-10-29 14:26:20 -07:00
Benjamin Pasero
ca22de4b17 debt - bump node.d.ts dependency in extensions to 12.x (part of #82514) 2019-10-28 08:11:47 +01:00
Matt Bierner
ba4a504ffe Use a case-insensitive map for store pending buffer operations
Fixes #82634
2019-10-24 18:12:21 -07:00
Matt Bierner
951f891b23 Extend disposable 2019-10-24 16:58:12 -07:00
Matt Bierner
73fbb9da18 Use proper map 2019-10-24 16:58:12 -07:00
Matt Bierner
b66a2571fd Use Disposable 2019-10-24 16:58:12 -07:00
Matt Bierner
73b3fc4348 Support performing a js/ts workspace symbol search when focused on the left side of a git view
Fixes #75107
2019-10-24 14:55:54 -07:00
Matt Bierner
c4868f4cc8 Use includes 2019-10-24 14:55:54 -07:00
Matt Bierner
520fafc07b Use includes 2019-10-24 14:55:54 -07:00
Matt Bierner
8c0e291789 Make message for update imports better match vscode's message
For #76268
2019-10-23 18:04:22 -07:00
Matt Bierner
639ccb016f Batch renames for js/ts
Fixes #76268
2019-10-23 17:57:41 -07:00
Matt Bierner
e4478d363d Batch renames 2019-10-23 17:57:41 -07:00
Matt Bierner
6290c3ff0b Use file name to determine if we are in a ts file or not
Using a textdocument to know if we are in a typescript vs a javascript document is ideal but comes at a performance cost. In most cases we can use the file name safely
2019-10-23 17:57:40 -07:00
Matt Bierner
645a178353 Use destructured paramters 2019-10-23 17:57:40 -07:00
Matt Bierner
01f429e8c9 Don't show progress indicator when we know for sure we are not doing a js/ts rename 2019-10-23 17:57:40 -07:00
Matt Bierner
46d2224d8b Remove gating for TS versions < 2.4
Telemetry shows that these old TS versions have very low usage (in the tens across the many, many js/ts users). Given this, it now makes sense to remove the extra gating/checks required to support these old versions
2019-10-23 17:57:40 -07:00
Matt Bierner
0d0a574164 Normalizing names 2019-10-23 17:57:40 -07:00
Matt Bierner
45cd966a16 Use VS Code's fs instead of node 2019-10-23 17:57:40 -07:00
Matt Bierner
611fd60cd4 Make sure we update js/ts diagnostics when the visible editors change
Changes in one document may cause errors in other, not yet visible docs. Make sure we update the diagnostics when another file becomes visible to handle that case
2019-10-23 17:57:40 -07:00
Matt Bierner
587061a8fc ?. operator 2019-10-22 14:57:25 -07:00
Matt Bierner
07f1939ba2 Log where the typescript version is coming from 2019-10-22 11:25:14 -07:00
Matt Bierner
802d09f5f2 Use double quotes for user facing strings 2019-10-22 11:25:14 -07:00
Matt Bierner
de0cd31fa5 Rename versionString to displayName to make it clearer how this version is used 2019-10-22 11:25:14 -07:00
Matt Bierner
96a5151f7a Workaround for TS not being able to handle interactive playground resource with query parameters in uri
Fixes #81059
Fixes #82419

The interactive playground generates uris that have query paramters. This causes the TS Server to crash. The workaround here is make sure the file paths we give to TS Server don't have query paramters but the ones we work with locally do
2019-10-21 18:26:40 -07:00
Matt Bierner
ed53e86205 Make sure the syntax and semantic servers don't get out of sync
If one server fails for a command but the other does not, we are in an inconsistent state. Treat this as a fatal error
2019-10-21 18:26:40 -07:00
Matt Bierner
ab4e86df8d Fix time range for restart detection 2019-10-21 18:26:40 -07:00
Matt Bierner
82ca6ba87f document that suggest.names doesn't work with checkjs
Fixes #81895
2019-10-19 16:19:35 -07:00
Matt Bierner
bd200eafd1 Add configuration for includeAutomaticOptionalChainCompletions
For https://github.com/microsoft/TypeScript/pull/34552
2019-10-18 22:00:11 -07:00
Matt Bierner
693ffb4d57 Default maxTsServerMemory to 3GB 2019-10-18 16:14:48 -07:00
Matt Bierner
2a46387970 Use test instead of match 2019-10-18 16:14:48 -07:00
Matt Bierner
035963b1f1 Add basic pinning test for jsdoc completions
For #82874
2019-10-18 16:14:48 -07:00
Matt Bierner
5aec74ad3b Treat errors on updateOpen as non-recoverable
Any errors on `updateOpen` will cause the TS Server to become out of sync. This change alerts us to errors that happen in `updateOpen`. We then restart the ts server
2019-10-17 21:52:02 -07:00
Michael Loughry
89e4d3eddc Add setting to configure the max memory for tsserver (#82630)
* Add setting to configure the max memory for tsserver

* Fix silly tpo from fixing formatting

* Add "MB" to setting description string

* Add validation to configuration value

* Add 128MB as a lower bound
2019-10-15 13:45:11 -07:00
Matt Bierner
a967c8ada3 Move js/ts json validation to js/ts language features extension
Fixes #73336
2019-10-04 15:31:21 -07:00
Alexandru Dima
45a92a4937
wip 2019-09-30 15:19:07 +02:00
Alexandru Dima
110b5acf0d
wip 2019-09-27 17:15:28 +02:00
Matt Bierner
e5efdb4b4b Expand documentation for typescript.tsdk
Fixes #42243
2019-09-26 17:29:13 -07:00
Ron Buckton
340f7beef9 Fix to allow for optional chain token in completions (#81402) 2019-09-25 11:13:58 -07:00
Alexandru Dima
7e4991aa33
WIP 2019-09-25 17:49:27 +02:00
Rob Lourens
099485461d
Merge pull request #80801 from orta/capital_S
Fixes some capital S typoes with JS/TS
2019-09-15 14:55:34 -07:00
Andrew Branch
8774e0bb05 [typescript-language-features] Add formatter option for semicolons (#80828)
* Add formatter option for semicolons

* Add compatibility note

* Make it compile without TS 3.7
2019-09-13 13:40:41 -07:00
Matt Bierner
67e37803b7 Add telemtry property for local TS version
We are interested in understanding which TS versions user have enabled in their workspaces, and how widely these diverge from these the workspace version
2019-09-12 17:27:28 -07:00
Orta Therox
a89b72bf63 Fix hardcoded lower case S issues for JS/TS only for presentation-ish strinngs 2019-09-12 09:58:03 -04:00
Matt Bierner
22db92f71b Add telemetry event when TS server is spawned
This is needed to help us better understand which TS versions users have enabled in their workspaces
2019-09-11 18:03:14 -07:00
Matt Bierner
f4524551e9 Remove gating for TS < 2.2.0 features
Based on telemetry, these versions have pretty much zero usage in the past 30 days. Removing the extra gating code since we can now assume users are on TS > 2.2.
2019-09-11 15:50:50 -07:00
Matt Bierner
7a00ddf9f8 Format files for 3.6
Fixes #80118
2019-09-02 21:29:05 -06:00
Matt Bierner
8891b85518 Fix caption parsing
For #79704

- Use regexp
- Handle unix line endings
- Don't highlight caption as part of code block
2019-08-27 14:49:19 -07:00
Andrew Liu
86723e74b6 fix for 79704 - support for @example <caption> 2019-08-26 17:19:36 -07:00
Matt Bierner
91e99652cd Fix js/ts refactorings 2019-08-26 14:51:26 -07:00
Matt Bierner
e3b9b8eefc Re-check opened files while executing refactoring
Fixes #79650
2019-08-23 23:06:01 -05:00
Matt Bierner
908ea77860 Revert "Use per-resource settings for js/ts validate.enable"
This reverts commit 8b61c15d3d.
2019-08-21 17:20:03 -07:00
Matt Bierner
8b61c15d3d Use per-resource settings for js/ts validate.enable
For #78549 but requires more work
2019-08-21 16:23:23 -07:00
Martin Aeschlimann
379623e369 update yarn.lock files 2019-08-21 18:04:55 +02:00
Martin Aeschlimann
be8f289fa9 update jsonc-parser 2019-08-21 16:55:59 +02:00
Matt Bierner
1429e8182f Enable "restart ts server" command in js/tsconfig files
Fixes #79530
2019-08-20 11:22:24 -07:00
Matt Bierner
d9aba4fa7f Use const enums 2019-08-15 18:03:55 -07:00
Matt Bierner
35c97ea91d Mark readonly 2019-08-15 18:02:28 -07:00
Matt Bierner
46d0bd8100 Don't include closing ] in folded range
Fixes #79142
2019-08-14 17:05:13 -07:00
Matt Bierner
2c4edeb617 Make sure we compare fully normalized error codes when checking for fix all actions 2019-08-14 17:05:13 -07:00
Matt Bierner
c4733f91c8 Still show fix all actions for fix-all actions that can fix multiple errors with multple different diagnostics 2019-08-14 14:49:23 -07:00
TypeScript Tools
41414c2b5f Strip a path list out of an error message
The error, which happens quite frequently, contains an excessively long path list.  The message itself was cleaned up in https://github.com/microsoft/TypeScript/pull/32785 but we add some additional filtering to the editor since older server versions are still in use.
2019-08-12 15:10:29 -07:00
Alex Ross
2bf257c0c5 Implement resolveTask for typescript tasks
Fixes #76521
2019-08-06 09:59:09 +02:00
Alex Ross
8fda22e123 Improve typescript task slash warning
Part of #74995
2019-07-30 12:23:31 +02:00
Matt Bierner
049e4ca16d Mark addMissingAwait as a preferred fix 2019-07-24 23:09:36 -07:00
Matt Bierner
cf69f2f1af Refactor code to use single state object instead of two 2019-07-19 18:35:42 -07:00
Matt Bierner
feef95c707 Make sure we update pending files properly
The previous logic failed to add anything to the pending files list

For #77665
2019-07-19 18:35:42 -07:00
Alex Ross
8b497a9019 Add slash type message to typescript tasks
Part of #74995
2019-07-11 11:16:30 +02:00
Matt Bierner
ae977ba1e0 Make sure we always kill the syntax server when the semantic server exists 2019-07-01 17:30:42 -07:00