Commit graph

8640 commits

Author SHA1 Message Date
Matt Bierner 6ff3d9c899 Auto restart TS Server on watch options change 2020-02-24 15:12:57 -08:00
Eric Amodio d46c8a8c3c Lots of timeline related changes, below
UI:
Adds Refresh icon to view title
Adds "Load more" entry at the end of the list for paging

API:
Restructures api around cursors
Renames TimelineCursor to generic TimelineOptions for more flexibility
Adds paging object to Timeline for clearer paging usage
Changes cursors to be strings, and explicit before and after cursors
Allows limit to take a cursor, so we can reload current data set
Clarifies id and fallback to timestamp
Adds reset flag to TimelineChangeEvent for providers to reset caching

Git provider:
Orders and returns commit date as the timestamp
Supports limit of a cursor (using rev-list --count)
Stops returning working/index changes when paging
Forcably resets cached data when changes are detected (naive for now)
2020-02-24 15:48:37 -05:00
Miguel Solorio e8237e7231 Update auth page branding 2020-02-24 11:19:07 -08:00
Rachel Macfarlane bf0a32e729 Add support for other vscode environments for github auth 2020-02-24 11:14:11 -08:00
Martin Aeschlimann 75c47b7505 [html] update dependencies 2020-02-23 13:54:54 +01:00
Martin Aeschlimann efe562c3df [css] update dependencies 2020-02-23 13:44:03 +01:00
Christof Marti e943540509 Schema update (microsoft/vscode-remote-release#1045) 2020-02-23 11:51:55 +01:00
Christof Marti 1a03d6b5fc Schema update (microsoft/vscode-remote-release#46) 2020-02-23 11:48:34 +01:00
João Moreno acd7bb922a
Merge pull request #91155 from microsoft/joao/refactor-build
Refactor build
2020-02-22 09:56:09 +01:00
Matt Bierner 99d5733e5f New iteration of webview editor API proposal
For #77131

**Motivation**
While our existing webview editor API proposal more or less works, building an editable webview editor is fairly tricky using it! This is especially true for simple text based editors.

It'd also be nice if we could get bi-directional live editing for text files. For example, if I open the same file in a webview editor and in VS Code's normal editor, edits on either side should be reflected in the other. While this can sort of be implemented using the existing API, it has some big limitations

**Overview of changes**
To address these problems, we've decided have two types of webview editors:

- Text based webview editors. These editors used a `TextDocument` as their data model, which considerably simplifies implementing an editable webview. In almost all cases, this should be what you use for text files

- Complex webview editors. This is basically the existing proposed API. This gives extension hooks into all the VS Code events, such as `save`, `undo`, and so on. These should be used for binary files or in very complex text editor cases.

Both editor types now have an explicit model layer based on documents. Text editor use `TextDocument` for this, while custom editors use `WebviewEditorCustomDocument`. This replaces the delegate based approach previously used.
2020-02-21 16:26:01 -08:00
Joao Moreno cc5dd0c98b refactor build 2020-02-21 15:30:01 +01:00
Martin Aeschlimann b2e0925ba1 update jsonc-parser 2020-02-21 15:03:33 +01:00
Martin Aeschlimann d3d3e8c311 [json] update dependencies 2020-02-21 10:49:58 +01:00
Martin Aeschlimann cfc07ec7aa [json] "Format document" on a large JSON file adds extra bracket Fixes #91125 2020-02-21 09:36:54 +01:00
Martin Aeschlimann f8188579a3
Merge pull request #90960 from Helloimbob/patch-1
Autodetect csh script as shellscript
2020-02-20 23:36:57 -08:00
Matt Bierner 9c0899f286 Pick up TS 3.8.2 2020-02-20 21:38:14 -08:00
Matt Bierner d17a017c0b Fix formatting and version for TS Server issue report 2020-02-20 21:34:20 -08:00
Rachel Macfarlane 167c422e4b Handle no github auth config 2020-02-20 14:38:10 -08:00
Helloimbob 59391f4636
Merge branch 'master' into patch-1 2020-02-20 21:01:59 +00:00
Rachel Macfarlane eed39324b6
Add GitHub authentication provider extension, closes #90384 2020-02-20 10:56:16 -08:00
Matt Bierner 0b3aa0a6ea
Let extensions prepopulate the issue reporter title and description (#91039)
* Let extensions prepopulate the issue reporter title and description

Fixes #91028

Adds two new optional arguments to the `vscode.openIssueReporter` command: `issueTitle` and `issueBody`. These are taken using an options object and are used to pre-populate the native issue reporter fields

Hooks up these fields for TypeScript's report issue prompt. We use this to post the most recent TS Server error stack

* Extract duplicate command id to constant

* Log version directly instead of prompting users for it
2020-02-20 10:31:09 -08:00
Erich Gamma e77c58dd0b Inform user when 'npm.autoDetect' is off. 2020-02-20 16:17:18 +01:00
Martin Aeschlimann 12770d4fed update typescript semantic highlighting 2020-02-20 15:35:50 +01:00
Martin Aeschlimann 66f525f435 [ts] enumMember missing in token legend 2020-02-20 10:31:14 +01:00
Rachel Macfarlane 88044f2cc6 Add sign in/sign out commands from Microsoft auth provider, fixes #90988 2020-02-19 11:49:42 -08:00
Sandeep Somavarapu 00ad0a9372 Fix #90931 2020-02-19 13:39:19 +01:00
Joao Moreno d43bb97bb0
git: contribute Clone to explorer 2020-02-19 12:23:02 +01:00
Joao Moreno e7ebb137b7
git: easy case for git init 2020-02-19 11:59:27 +01:00
Joao Moreno 27606615ba
rewrite 2020-02-19 11:59:25 +01:00
Matt Bierner 2aced89ae1 Show more clear TS Version picker when reinstalling a different TS version locally
- Make sure that `TypeScriptVersion` is immutable by getting and caching `apiVersion` on init
- Only show dot next to currently active version if both path and api versions match
2020-02-18 19:16:56 -08:00
Rachel Macfarlane 7302c88f21 Propogate login error, fixes #89518 2020-02-18 11:33:16 -08:00
Rachel Macfarlane df3ae4adef Refresh auth tokens when server returns 401, fixes #89629 2020-02-18 10:46:49 -08:00
Joao Moreno acb9817a8d
too many conditions 2020-02-18 16:37:52 +01:00
Joao Moreno 913c256bb3
fixes #90705 2020-02-18 16:36:10 +01:00
Martin Aeschlimann 27aaa79d52 Don't use rootPath in built-in extension. For #90562 2020-02-18 14:24:11 +01:00
Joao Moreno 595f98455b
fix git tests 2020-02-18 13:56:16 +01:00
Joao Moreno fe884b305e
Revert "Revert "Fix #88294 Add commitData in commit interface""
This reverts commit aa70f38ab2.
2020-02-18 12:56:07 +01:00
Alex Dima aa70f38ab2
Revert "Fix #88294 Add commitData in commit interface"
This reverts commit 51b8bd5064.
2020-02-18 12:48:22 +01:00
Benjamin Pasero b59c3a83b3 workspace edit - also test moving and applying changes to dirty file 2020-02-18 10:40:12 +01:00
Martin Aeschlimann 33545a2963
Merge pull request #90825 from johnbillion/patch-1
Treat .envrc files as Shell scripts
2020-02-18 01:13:10 -08:00
João Moreno cd6006b5ff
Merge branch 'master' into issue/88294 2020-02-18 10:03:44 +01:00
Martin Aeschlimann 57ab6fb91d JSON Language Server 1.2.3 2020-02-17 17:59:16 +01:00
Helloimbob e7f9230340
Autodetect csh script as shellscript
Identify csh scripts (file extenstion `.csh` or `#!/usr/bin/csh` in first line) as shellscript.
2020-02-17 15:51:57 +00:00
John Blackbourn 97831cfa80
Treat .envrc files as Shell scripts 2020-02-17 13:57:34 +00:00
Joao Moreno 2d125bc3cf
remove git init action from top of scm 2020-02-17 12:24:01 +01:00
Joao Moreno cce81b98b9
Merge branch 'joao/empty-views-api' 2020-02-17 12:05:37 +01:00
Joao Moreno 25b36c1c37
rename empty view contents to view welcome 2020-02-17 11:25:17 +01:00
Benjamin Pasero d8e7eb36a2 Text save participants are overwritten for each extension host (fixes #90359) 2020-02-17 10:42:31 +01:00
Matt Bierner 6ec6f9e3f4 Fix git integration tests
Move back to using normal vscode dependency for now . We will look into moving off it later
2020-02-15 13:13:22 -08:00
Matt Bierner feecdaeacf Disable webview copy test on web 2020-02-15 12:49:11 -08:00
Matt Bierner 8503705b11 Don't show reference code lens for both class and ctor in es5 classes
Fixes #90396
2020-02-14 16:57:47 -08:00
Eric Amodio 5c017be321 Fixes broken test with git extension 2020-02-14 18:55:11 -05:00
Matt Bierner 2f9c79a847 Only enable webview copy tests on MacOS 2020-02-14 12:39:50 -08:00
Eric Amodio 9ae0fd36c9 Enhances timeline - commands, timestamp, etc
Adds contributable commands to timeline items
Adds right-aligned timestamp to timeline items
Adds Open Changes to Git timeline items
Adds Copy Commit ID to Git timeline items
Adds Copy Commit Message to Git timeline items
2020-02-14 15:22:45 -05:00
Eric Amodio 69b30f6ba7 Adds paging support (wip) 2020-02-14 15:22:45 -05:00
Matt Bierner c03b581840 Add test for copying text from webview 2020-02-14 11:54:09 -08:00
Johannes Rieken bcdf991bd4 test: saveAll before asserting a certain save event 2020-02-14 12:05:57 +01:00
Johannes Rieken 6158372c89 more verbose integration test failures 2020-02-14 12:05:01 +01:00
Benjamin Pasero a7ed9c9572
🆙 playwright@0.11.0 (#90663) 2020-02-14 09:56:08 +01:00
Joao Moreno b62b2280ea
fixes #90620 2020-02-14 07:24:17 +01:00
Joao Moreno eab81b4a31
git missing docs 2020-02-13 16:53:08 +01:00
Joao Moreno d946716fe2
improve git empty view docs 2020-02-13 16:13:10 +01:00
Joao Moreno 3e8bb6cfd4
git: more empty view documentation 2020-02-13 16:03:18 +01:00
Joao Moreno 52d3df6bf2
empty view: placeholder when 2020-02-13 15:32:45 +01:00
Johannes Rieken 2b3fed13e1 some 💄 to prep for https://github.com/microsoft/vscode/issues/90359 2020-02-13 12:54:12 +01:00
Johannes Rieken 5166060e71 test: don't assert in event handler 2020-02-13 12:54:12 +01:00
Johannes Rieken f704c339dc re-enable active editor test for electron-runner, https://github.com/microsoft/vscode/issues/90470 2020-02-13 12:54:12 +01:00
Rob Lourens 1fbacccbc9 Remove 'rootPath' reference
#90562
2020-02-12 17:42:24 -08:00
Matt Bierner ea0880611f Use non-deprecated version of registerTasksProvider
For #88391
2020-02-12 17:20:05 -08:00
Matt Bierner 43e268ad72 💄 2020-02-12 15:48:38 -08:00
Pine Wu 88a1564e9c Fix duplicate code 2020-02-12 14:44:03 -08:00
Jackson Kearl 2ebc730d72 eslint code-no-unexternalized-strings 2020-02-12 14:32:43 -08:00
Jackson Kearl d22fd6d8ae Add .pm as perl. Fixes #90550. 2020-02-12 11:56:47 -08:00
Jiayue. Zhang ee6278b01e
Merge branch 'master' into issue/88294 2020-02-13 00:06:47 +09:00
Benjamin Pasero 3388bf640e
tests - shutdown gracefully to enable webview tests (#90508)
* tests - shutdown gracefully to enable webview tests

* use window.destroy() instead

* more tweaks

* better kill()

* proper fix
2020-02-12 13:06:35 +01:00
Matt Bierner fb622a8b83 Move code action documentation contribution point to come from metadata
For #86788
2020-02-11 11:36:23 -08:00
Matt Bierner efb781e5be Marking that documents/workspaces arrays cannot be mutated 2020-02-11 11:36:23 -08:00
Jackson Kearl 498deeb4bc Skip flakey debugging test 2020-02-11 10:02:45 -08:00
Benjamin Pasero 4978f52ec8 Flaky test: active editor not always correct... (#90470) 2020-02-11 18:29:18 +01:00
Benjamin Pasero f88d71eebc disable test for web (#90359) 2020-02-11 16:50:22 +01:00
Benjamin Pasero 39370d9c98 tests - skip another flaky one for web 2020-02-11 15:51:45 +01:00
Benjamin Pasero 4d0e36d17f skip webview tests (#88415) 2020-02-11 11:17:05 +01:00
Benjamin Pasero ae78db0414 skip terminal test (#90437) 2020-02-11 11:11:37 +01:00
isidor 2270536e85 debug: reanable integration tests (use new node debugger) 2020-02-11 11:06:24 +01:00
Sandeep Somavarapu ff0de753f4 fix $90348 2020-02-11 09:13:03 +01:00
태재영 a03df2d635
update markdown-it-front-matter version (#90122) 2020-02-10 14:45:13 -08:00
Eric Amodio 5cb987119a Fixes #90229 2020-02-10 14:52:22 -05:00
Benjamin Pasero c2444b42af tests - proper text fixtures dir 2020-02-10 15:33:04 +01:00
Benjamin Pasero 173cb094b4 test - skip only on windows 2020-02-10 11:58:03 +01:00
Benjamin Pasero 9d9d729655 Web: run integration tests as part of our product builds (fix #83923) 2020-02-10 11:23:00 +01:00
Benjamin Pasero b49c688023 integration - disable debug tests 2020-02-10 08:03:25 +01:00
Martin Aeschlimann 985840db96 update typescript-language-features 2020-02-10 03:27:46 +01:00
Martin Aeschlimann 12509673e9 update typescript-vscode-sh-plugin 2020-02-10 02:25:47 +01:00
Matt Bierner 718331d6f3 Allow configuring TS Server watch options through VS Code
Fixes #89381

Given that these are advanced options, we require editing them in the json file instead of using our settings UI
2020-02-07 18:14:38 -08:00
Matt Bierner ea54f48dda Update TS 3.8.1-rc
Updates to build VS Code using TS 3.8.1 (which require fixing a newly caught type error)

Also updates our shipped JS/TS version to 3.8.1-rc
2020-02-07 17:43:56 -08:00
Matt Bierner b46d35c25c Don't import from node in extensions for URL and TextEncoder
Fixes #90162

Follow up on b1c5e2f19b
2020-02-07 15:51:13 -08:00
Rachel Macfarlane b98f647ec9 Add polling for reconnect to auth extension 2020-02-07 11:42:43 -08:00
Rachel Macfarlane 6b7776741f Remove unneeded de-dup code from account extension 2020-02-07 11:29:57 -08:00
Rachel Macfarlane 03d1c79f55 Set authStatus to unavailable when unable to refresh token, #89200 2020-02-07 10:55:38 -08:00
isidor 20a53c62ed fix debug test 2020-02-07 16:36:03 +01:00
Benjamin Pasero 5e0189c8bf tests - browser tests to go through new log service 2020-02-07 16:22:10 +01:00
isidor 1f06066a9c debug integration tests reenable 2020-02-07 14:42:52 +01:00
isidor 73aeb31e20 disable start debugging integration test 2020-02-07 11:34:39 +01:00
Alex Dima f9627fcdf9
Check in yarn.lock 2020-02-07 08:53:46 +01:00
João Moreno 1302e22b32
Merge pull request #90160 from eyeino/eyeino/clarify-new-branch-prompt
Clarify language when creating new git branch
2020-02-07 07:57:11 +01:00
Benjamin Pasero df3764ab52 workaround #90162 2020-02-07 07:20:44 +01:00
Jackson Kearl 4e81d10222 Add result count line. Closes #89463.
And fixup grammar to correctly highlight it
2020-02-06 16:52:54 -08:00
Matt Bierner 4d35421462 Remove version gating on for now enableProjectDiagnostics
None of the apis being users for this experimental setting require the latest TS version
2020-02-06 16:33:05 -08:00
Rachel Macfarlane cf96b11223 Auth providers - show dialog on token access, closes #89754 2020-02-06 15:30:53 -08:00
Matt Bierner f0942786b4 Add experimental setting to use separate server to compute project level diagnostics
For #13953

**Problem**
We'd like to show project wide diagnostics, however at the moment TS server is single threaded. This means that computing all these diagnostics would interrupt other user operations such as completions.

Right now, our advice is to use tasks to get around this limitation (since tasks always run as separate process) however few people actually use tasks.

**Change**
This change adds an experimental `tsserver.experimental.enableProjectDiagnostics` setting (default false) that makes VS Code spawn a separate TS Server that is only used for computing diagnostics. This should help keep the primary syntax server responsive while letting the diagnostics server churn away at project level diagnostics

**Why experimental?**

- We are comporting too many diagnostics. This is bad for larger projects. I don't think TS provides the right APIs to know which files we actually need to request diagnostics on when a file changes.

- This hasn't been fully extensively tested to make sure it plays nicely with feature such as automatic type acquisition or in complex workspace with multiple projects
2020-02-06 15:15:33 -08:00
Matt Bierner aca46ac4a5 Take server arguments object
Makes it more difficult to mistaktenly reverse which server is which
2020-02-06 15:15:33 -08:00
Matt Bierner c8516dd7e8 Marking arrays as readonly 2020-02-06 15:15:33 -08:00
Matt Bierner 5d3c86ad99 Remove VS Code project file change watchers
Updating projects should be handled by the `projectsUpdatedInBackground events` now
2020-02-06 15:15:33 -08:00
Rachel Macfarlane b0601cfd46 Add retries to token refresh for network errors of account extension 2020-02-06 14:26:35 -08:00
Ian MacFarlane 282732392f
Clarify language when creating new git branch
When using the git extension, the intent is clear when clicking on "+ Create new branch..." and immediately being prompted "Please provide a branch name". But, when clicking on "+ Create a new branch from..." the intent is ambiguous, since the statement "Please provide a branch name" could refer to the branch from which you wish to base the new branch on or the name of the new branch, the latter being what actually happens.

By specifying "Please provide a *new* branch name...", the intent is clear: the prompt is asking for the name you wish to call the new branch.
2020-02-06 13:04:31 -05:00
Rachel Macfarlane 4801814872 Properly reference the vscode.proposed.d.ts typings from the account extension 2020-02-06 10:01:36 -08:00
isidor 5835d42bdf debug intregration tests: use debug.startDebugging 2020-02-06 12:50:33 +01:00
isidor fd66f569f6 debug: reanable integration tests 2020-02-06 12:47:31 +01:00
Eric Amodio eaf632c42a Adds uncommitted changes to timeline 2020-02-06 00:04:54 -05:00
Eric Amodio 9cd22d0dc1 Updates list of readonly git commands 2020-02-06 00:02:00 -05:00
Matt Bierner ae758e681d Fix spelling in test name 2020-02-05 18:12:26 -08:00
Matt Bierner 5347c21ecf Treat any non-whitespace character as jsdoc param names
Fixes #90108
2020-02-05 15:26:13 -08:00
Eric Amodio 4cc5b776dc Overhauls timeline display to stream in results
Implements many API review changes
Fixes #89558
2020-02-05 18:16:37 -05:00
isidor a101d32ff6 temporarily disable start debuggin test since it is flaky 2020-02-05 18:15:33 +01:00
isidor f84d9850e7 debug: fix integration tests 2020-02-05 16:52:07 +01:00
Joao Moreno dde577b23e
activate git before smoke tests 2020-02-05 15:03:05 +01:00
isidor c47f30e7c0 debug integration tests: remove flaky part of test that requires window focus 2020-02-05 11:46:01 +01:00
Joao Moreno 7ed9930136
💄 2020-02-05 11:42:33 +01:00
Joao Moreno ba25c52127
more git smoke test fixes 2020-02-05 10:57:30 +01:00
isidor 1e057b7393 debug integration tests: make sure to focus editor before toggleBreakpoint
fixes #90047
2020-02-05 10:49:21 +01:00
Joao Moreno 06dbb1938f
make sure git is activated before integration tests run 2020-02-05 10:24:47 +01:00
Matt Bierner 87b6d03182 Add cursor position check to jsDocCompletionTest 2020-02-04 18:02:38 -08:00
Matt Bierner 2b7e6ab2fd 💄 2020-02-04 18:00:03 -08:00
Matt Bierner e7451b12ce Adding assertEditorContents helper function and fixing jsdoc completion tests 2020-02-04 17:52:11 -08:00
Matt Bierner a32cb805a2 Adding some basic tests for auto insert of await on completions 2020-02-04 17:34:12 -08:00
Matt Bierner 58fe34bb77 Don't require strict prefix matches for private field completions
Fixxes #89556
2020-02-04 17:17:00 -08:00
Matt Bierner b4a835f5b9 Fixing backet completion items not shown for cases such as this.xy| 2020-02-04 16:15:58 -08:00
Matt Bierner 7b754d7d95 Adding more pinning tests for JS/TS completions 2020-02-04 16:15:58 -08:00
Matt Bierner 9887559f17 Add basic JS/TS replace/insert completions
For #87091

Adds basic support for insert/replace mode for JS/TS completions. We're blocked on full support by https://github.com/microsoft/TypeScript/issues/35602. I'll be adding some skipped tests that document current limitations
2020-02-04 16:15:58 -08:00
Matt Bierner 78465390bd Run many of the JS/TS completion tests in both insert and replace completion mode 2020-02-04 16:15:58 -08:00
Matt Bierner 6205cf0fed Add basic insert mode tests 2020-02-04 16:15:58 -08:00
Matt Bierner 6960e8c07b Fixing TS completion tests
The current method of verifying when suggestions have been shown is not reliable so switch to use a delay instead :(
2020-02-04 16:15:58 -08:00
Matt Bierner 5b284c140c Build TS extension against current vscode.d.ts directly
Currently  extensions like TS have a dev dependency on the `"vscode"` package. This pulls in a copy of `vscode.d.ts` that we end up using instead of our local `vscode.d.ts`.

This change uses the `paths` `tsconig` option so that we use our local `vscode.d.ts` instead of the one from `node_modules`
2020-02-04 16:15:58 -08:00
Matt Bierner 45999fdb8f Remove extra cast
Not required with TS 3.8
2020-02-04 16:15:58 -08:00
Matt Bierner 5623c36a40 Remove surveyor code
Not currently being used
2020-02-04 16:15:58 -08:00
Rachel Macfarlane 967aab8156 Add telemetry event for settings sync auth 2020-02-04 15:51:35 -08:00
Martin Aeschlimann e95476a2c1 JSON validation debounced too much. Fixes #89524 2020-02-04 21:59:30 +01:00
Robo 01989df7c9
chore: update to electron 7 (#89260)
* Revert "revert back to electron 6 (#89245)"

This reverts commit 5d498736f4.

* chore: update electron@7.1.11
2020-02-04 12:56:23 -08:00
Joao Moreno d2f9126da3 git tests: windows is pain 2020-02-04 20:54:46 +01:00
Joao Moreno 5f239c7414 Merge branch 'master' of github.com:microsoft/vscode 2020-02-04 20:26:24 +01:00