Commit graph

665 commits

Author SHA1 Message Date
Lee Houghton fa4f870501
Handle multiple users with /tmp/vscode-typescript
This fixes an issue where the typescript language server fails to load if multiple users launch VS Code on the same Linux machine.

Steps to reproduce:
- Log in as user1
- Launch VS Code
- Log out
- Log in as user2
- Launch VS Code
- It tries to write to files in /tmp/vscode-typescript, but that directory is not writeable because it is owned by user1
- You cannot use TypeScript intellisense

This fix namespaces the directory with the current uid so that each user will get their own. 

On Windows, this shouldn't be an issue anyway since each user gets their own temp directory.
2019-06-15 00:36:23 +01:00
Matt Bierner e3294dc7b1 Fix exception if extension is not installed 2019-06-14 16:30:05 -07:00
Matt Bierner c419355b5b
Merge pull request #75375 from microsoft/dev/mjbvz/vscode-api-readonly-events
Mark events as readonly in VS Code api
2019-06-14 11:59:57 -07:00
Benjamin Pasero c6d9e8ea64 status - push proposed API for statusbar id/name and adopt 2019-06-14 11:52:39 +02:00
Andrius 2ac8fbb7d0 notify tsserver about changes in external files. 2019-06-13 19:20:33 +03:00
Matt Bierner b4f6130fe4 Fix some compile errors resutling from readonly change 2019-06-12 16:54:16 -07:00
Matt Bierner a6a376e933
Merge pull request #75092 from microsoft/dev/mjbvz/readonly-diagnostics-api
Use readonly arrays for the vscode.DiagnosticCollection api
2019-06-12 14:46:17 -07:00
Matt Bierner 1f4e2a21fc Add support for loading contributed TS version
Fixes https://github.com/microsoft/vscode/issues/75222
Fixes https://github.com/microsoft/TypeScript/issues/31623
2019-06-10 15:42:35 -07:00
Matt Bierner a1c33c6c12 Don't try creating untitled files in a refactoring
Fixes #75132
2019-06-10 11:11:12 -07:00
Matt Bierner 8448512143 Use readonly arrays for the vscode.DiagnosticCollection api
## Problem
The diagnostic collection object is set up so that it does not mutate the arrays of diagnostics you pass to it. It also does not expect or allow mutation of diagnostics that it returns.

However it it currently typed using normal arrays. This means that if an extension (such as JS/TS) wishes to use readonly diagnostics intnernally, it cannot do so without casting.

## Proposed Fix
Use `ReadonlyArray` in diagnostic collection. This should be a safe change for the `set` type methods. The changes to `get` and `forEach` have the risk of breaking the typing of some extensions, but `get` already returned a frozen array of diagnostic so trying to mutate the array itself would have resulted in runtime error.
2019-06-07 11:41:33 -07:00
Matt Bierner dc2245f164 Use readonlyArray for diagnostics 2019-06-07 11:25:16 -07:00
Matt Bierner dc8e21138f Extend disposable 2019-06-07 11:23:14 -07:00
Matt Bierner 69a7b7ef24 Extract areLanguageDiagnosticSettingsEqual 2019-06-07 11:22:06 -07:00
Matt Bierner a87c73527e Remove extra work in DiagnosticSettings ctor
The langauges map is written so that it is lazy. We do not need to pre-populate it
2019-06-07 11:21:22 -07:00
Matt Bierner 5b01e094c2 Use includes instead of indexOf 2019-06-07 11:12:54 -07:00
Matt Bierner 809386b670 Working on getting ts server class in a testable state 2019-06-05 15:41:45 -07:00
Benjamin Pasero d78a75973c
update @types/node (#74881) 2019-06-05 10:20:01 +02:00
Matt Bierner 76e774e4bd Add arrays.empty
This helps with `a === b` checks  in arrays.equals
2019-05-30 17:22:38 -07:00
Matt Bierner 015f1c7909 Use array prototype instead of creating instance 2019-05-30 17:13:10 -07:00
Matt Bierner a8a0fa763f Use every for equals 2019-05-30 17:01:10 -07:00
Matt Bierner 55d6317a4f Don't update js/ts diagnostics if they have not changed
Fixes #74633

This was the indirect cause of  #74633. See that issue for an explaination of why it was problematic.  In summary, updating diagnostics can retrigger code actions even if the user facing diagnostics have not actually changed
2019-05-30 16:59:32 -07:00
Matt Bierner c62a6aa38a Set extract kind for type alias refactoring
This lets you set up a single keybinding that applies to both extract constant and extract type
2019-05-29 14:22:45 -07:00
Matt Bierner a9e31b19d7 Make sure we don't de-prioritize this. member suggestions
Fixes #74164
2019-05-23 16:06:34 -07:00
Matt Bierner a4532de9af Make sure we reset editors being iterations of test 2019-05-23 16:06:34 -07:00
Matt Bierner 1db653c59e Simplify setting of preselect and sort text 2019-05-22 15:25:48 -07:00
Howard Hung 4582ec149c Fix typo: assigments -> assignments 2019-05-22 01:23:12 +08:00
Khaja Nizamuddin 36e7f1871a Normalize tsconfig path (#73001)
Fixes #68812
2019-05-21 04:01:54 -07:00
Matt Bierner ada4bddb8e Change documentation for TS importModuleSpecifier.auto
Fixes #52485

Based on code in d53efdf380/src/compiler/moduleSpecifiers.ts (L139)
2019-05-17 18:14:40 -07:00
Matt Bierner b1aad4b755 Supress potential null errors related to updated @types/node 2019-05-17 16:14:49 -07:00
Matt Bierner 12cf3eb0f8 Pick up latest TS@next 2019-05-17 13:39:55 -07:00
Logan Ramos ca9887459b
Delete vscode-typescript upon close of VS Code (#73801)
* Cleans up vs-typescript temp directoy upon VS code close

* Fixed typing errors preventing build from succeeding

* Moved deletion to the deactivate method. Added folders per extension host

* Removed yarn watch script used in testing
2019-05-17 18:55:31 +00:00
Matt Bierner fd1ac7561b Fix TS 3.5 compile errors
Fixing errors related to https://github.com/microsoft/TypeScript/issues/31380
2019-05-13 18:00:52 -07:00
Matt Bierner 60cd4bd73b
Merge pull request #73132 from hwhung0111/Fix
Fix two typos
2019-05-10 16:25:49 -07:00
kieferrm c87ce98c9c fix gdpr annotation 2019-05-01 17:24:00 +00:00
Howard Hung 778b92f459 Fix typo in functionCallSnippet.test.ts 2019-05-01 23:35:02 +08:00
Matt Bierner 017a497259 spell 2019-04-24 11:01:35 -07:00
Matt Bierner 24ff03f627 Pick up ts 3.4.5 2019-04-23 10:50:51 -07:00
Matt Bierner f56b18a9f7 Pass validateDefaultNpmLocation to ts 3.4.4
https://github.com/Microsoft/TypeScript/pull/30910/
2019-04-22 11:44:16 -07:00
Matt Bierner a538f095af Organize imports should interupt geterr
UI operations like organize imports have higher priority than geterr
2019-04-22 11:44:16 -07:00
Matt Bierner 16944f3c4a
Merge pull request #72553 from tony-xia/makeRandomHexString
Update makeRandomHexString() to remove duplicate character
2019-04-22 10:57:16 -07:00
Tony Xia 697c8901a9 Update makeRandomHexString() to remove duplicate character 2019-04-18 23:20:45 +10:00
Tony Xia 941b4a9f79 Langauges -> Languages 2019-04-18 23:09:11 +10:00
Matt Bierner e78a0ab37f Open TS Server logs in editor if possible
In most cases, were are only interested in the tsserver.log file, not the additional typings installer logs
2019-04-12 17:24:22 -07:00
Matt Bierner cad3862663 Also include returned result count in completions telemetry 2019-04-12 14:43:14 -07:00
Sandeep Somavarapu 1fd2993b54 Fix #72185 2019-04-12 07:44:56 +02:00
Matt Bierner 222e2798ff Move min versions into jt/ts feature providers 2019-04-11 16:12:29 -07:00
Matt Bierner 9d43bdac05 Register features with Promise.all instead of sequentially 2019-04-11 16:00:46 -07:00
Matt Bierner c6a9536ed7 Add telemetry for how long completions take in js/ts
We'd like to know the average time that it takes to return js/ts completions so that we can identify performance regressions. The time includes both the queuing time and the actual time spent executing the command against TS server
2019-04-11 16:00:46 -07:00
Matt Bierner f635233740 Check in stubbed out smart select support for js/ts
For https://github.com/Microsoft/TypeScript/issues/29071

This require upstream TS support. Check in experimental support so that TS team can test the ux of this feature
2019-04-11 16:00:46 -07:00
Matt Bierner d81145d3f0 Use proper documentHighlights api for html js intellisense 2019-04-10 15:21:53 -07:00