Archived
1
0
This repository has been archived on 2024-09-09. You can view files and clone it, but cannot push or open issues or pull requests.
code-server/extensions/vscode-api-tests/src/singlefolder-tests/workspace.test.ts
Joe Previte e8cd17a97d Squashed 'lib/vscode/' changes from 622cb03f7e0..fd6f3bce670
fd6f3bce670 chore: bump electron@11.3.0 (#118680)
305bf142199 Remove icon from input row in ports view (#118649)
b5af426d34c Properly dispose everything in tunnel view cells (#118546)
f299ec03c2a Fix extra port icon (#118529)
62dbffbfe91 Merge pull request #118177 from microsoft/joh/bump-version
062c67a3210 Merge pull request #118491 from microsoft/env-var-recovery
e11b6a730c9 Fix #117903 (#118492)
e7936a3e885 prevent env var relaunch from extension owned terminals
3be37a725d6 Merge pull request #118438 from microsoft/tyriar/1_54_117990
d461d2fd311 Merge pull request #118265 from microsoft/connor4312/candidate/js-debug-1.54.5
88b4d3f9a4e Merge pull request #118448 from microsoft/tyriar/1_54_118321
c48a57b6988 Merge pull request #118437 from microsoft/tyriar/1_54_117956
d68ab8fc717 Don't force create a terminal on no reconnect
f9e6b352d1c Recover on pty host reconnect
b31f6e1afea Don't force kill ptys on Windows on window exit
bd655647d79 fixes #118214 (#118425)
3a6b7f7cbdc editors - fix mergeAllGroups (#118268) (#118406)
06c5e24837e FileSystemProvider extension: throwing a FileSystemError in readFile does not report to user (#118173)
61feeef2289 Renaming a folder adds it to history (fix #118080) (#118174)
dd74fb1d885 debug: update js-debug
362f7e441ff Pick up TS 4.2.3 (#118261)
6b7199812b4 Don't assume uncompleted category exists (#118250)
21ea885f455 Merge pull request #118167 from microsoft/connor4312/candidate/js-debug-1.54.4
de16aa4bae0 bump version to future 1.54.2
87ff6fb52f1 debug: update js-debug
f30a9b73e8f bump version (#118144)
a25525922cd update distro (#118129)
42e27fe5cdc Merge pull request #117982 from microsoft/roblou/settingsOpenEditor
ac575425edc Ensure EditorOptions subclass is passed to openEditor Fix #117952
911868fa126 refs #117960 (#117976)
62c69b32bf7 Merge pull request #117972 from microsoft/tyriar/r_1_54_remote_reconnect
564f3917935 Fix remote terminal reconnect
e7989863202 fixes #117924 (#117925)
c4d7a739c9b Terminal cannot input (#117915)
5266d3cc7f3 Merge pull request #117898 from microsoft/tyriar/r1_54_remote_reconnect
6f0e457db3f Fix emmet update extensions path issue (#117797)
66c7b551727 Implement shouldPersist for all terminals processes
ae03e39735b Only show `infer return type` refactoring when refactorings are requested (#117800)
e590188f171 fix #117792.
fc7005d93f1 delete comment that is covered by #117088
3dd2d431a01 re #117449. add default color in code.
be9c3901da5 Disable overrides in settings and keybindings (#117770)
ea3f3878887 Fix Forward a Port context menu action
d3b97f07fcf Fix ugly name for Focus on Ports View command Fixes microsoft/vscode-remote-release#4564
c1f5d07efdc Use button instead of + for forwarding a port Fixes #117589
c57c05ea364 fixes #117746
aa9f3842964 more fixes for #115840
909e129d6f5 no explicit call of setFocus/Selection outside of notebook cell list.
554341f99fa re #117725. setfocus uses wrong handle for selections.
3290f9a73ba fix #117725.
3eea629b602 Scope down querying getting started service to only cases where it'd affect the outcome
d13b1a1ac56 Update marked to 2.0.0 (#117714)
403851e4be6 force async to resolve in exp service
94447bd20e9 Use button foreground on hover
3a6957333b1 call saveMemento in exp service
1e25d0c49bd Add details about what to do if createSession fails, fixes #117409
1cd0c337672 chore: add crash id for windows and mac arm64
9e83108e8ab Adjust bottom cell margin
cda3b7e157f Tweak cell toolbar position
6d63655a758 Adjust top cell toolbar position (fixes #117676)
3bfba9fa221 chore: bump distro
5b6dd28057d Fixes #115861
9ba671094c1 Revert "Fix webview focus issues that prevent cut/copy/paste when opening files with a quick pick (#116899)"
e5096a31692 Exclude z-author-verified from issues to verify in endgame notebook
14243220e50 Bump distro
75b26c1e5e4 debug: update js-debug
ae186be4703 cancel disconnect runner on attach
57c918802b8 Fix up types, make `done` always boolean Fix #117336
3516df762dd Fixes #116305: Add fake consumer of `IMarkerDecorationsService` to instantiate it
b91b917e9ae Revert "Add shadow to custom hovers"
dc04badf34a check if enablePersistentSessions before updating remote or local state
ebdf30f0887 leaks across notebook/contrib, fixes https://github.com/microsoft/vscode/issues/117687
dbd510ec91d Fix #113643
08073134158 fixes #116083
86fc2ba85f9 Fix #115425
54b88057c48 list: fix #116788
ca065c29280 Preview in Editor button showing in web Fixes microsoft/vscode-remote-release#4557
e6e61368ff5 fixes #114933
a5c6a900647 Fix #117612
2e63ec65ed4 fixes #116883
059e5798a24 notebook updates
44afa91ef6f also support when in viewsWelcome, https://github.com/microsoft/vscode/issues/9303
1b83aa0bceb Merge pull request #117472 from microsoft/alex/improve-connection-timeout-case
83ee8419e57 fix https://github.com/microsoft/vscode/issues/117640
abf2f3f6c83 node-debug@1.44.17
1f7ab5005ee upgrade to final version of DAP 1.45
9efc326b9bb fix https://github.com/microsoft/vscode/issues/117594
b85eb124d86 update milestone
6ade3e32968 Fix #117504
59c31364c70 Revert "Revert "chore: bump electron@11.3.0""
93c941bef89 Adjust markdown bottom cell toolbar (fixes #117626)
aabd93ed35f fix #117367 Co-authored by: Eric Amodio <eric.amodio@microsoft.com>
d37f3ffa392 Merge pull request #117645 from microsoft/merogge/hidden-term
105e8eec285 Revert "chore: bump electron@11.3.0"
51b93e40269 Fix #115320
805e7f281c3 fix #82587.
1582402b61e Fix occasional non-restored terminal buffer/title
1ba3ea20d68 Fix #117345
1a1178165db Actually use the tasExperimentService
6d0ce95af4c fix #116713
a708ba7a587 Update authentication provider doc strings, fixes #117409, fixes #117411, fixes #117414
d83895acf79 clear terminal layout info on window close (#117496)
8de95c02dbe Check to see if widget has been disposed of while actions are resolving
f4065074e71 fix #115209.
05d3593f91e fix #114936.
7f481d2fcc6 Make added, removed, changed, optional in auth session change event, fixes #117469
2852916b59d Pass scope directly when signing in to other account, fixes #117510
12f68ec7758 Fix unclear row focus in settings editor Fix #117527
73432445e56 Fix markdown cell going into edit mode when clicking a link Fix #109679
377ce5a59e1 Add feature flag for opeing to first incomplete section Closes #117533
c413a1c7aed fix build.
778e21ed452 Fix #117597
663159f2fa7 fix selection after multi cell cut
e62f7e8a458 Cancel disconnect timer on attach
3b06d2d1f33 fix #117458
f1d434309a8 Revert to link styling fixes #117539
caff7f4dcbd Fix #117336
07340c27f59 fix #117449.
22af2a11415 asFileUri -> asBrowserUri Fixes #117592
acfdb2d7ac2 Fix #115895
90cc8b14687 Only record layout info for shouldPersist terminals
213757cd5b1 fix #114031
faccfff275e Make terminal test less strict
8042e9b5d56 Pass should persist to pty service
80ea6efb4a1 Add shadow to custom hovers
fc61668a51e shared process - further delay spawning
20503c4da96 #114031 fix error
53fc5f7bb59 fixes #117256
eba4c1bc1ea debug: document context keys
c9042f49856 Adds force option to defaultLayout
d3b777f46c9 fixes #117348
48d47c8715c support when suggestions for keybindings and views as well, fyi @bpasero
0f6eda5348b fix splitview glitch
c1409aff832 fixes #117205
c783c26590e fixes #117391
8c98454f292 fixes #117478
fda43de2e5e untitle.hint: default should be hidden for this milestone
93bdc6cb71b fixes #117480
8d9b2e65bd9 more tests for https://github.com/microsoft/vscode/issues/117273
a63be52fdef Fix strange port label Fixes #117591
ff4bacb0ee7 Merge pull request #117535 from microsoft/term-disconnect-runner
134623067a2 Enable output based port detection on Mac and update default value of port source setting on non-linux Fixes microsoft/vscode-remote-release#4530
a799375663c fix https://github.com/microsoft/vscode/issues/117456
e7150f1fd3b add skipped test for https://github.com/microsoft/vscode/issues/117273
0d0cb2afdbd Inform pty host of detaches
90af0b9e3b7 Update enablePersistentSessions docs
3139dc7f927 Consider enablePersistentSessions when shutting down
1763c171a33 Merge remote-tracking branch 'origin/main' into term-disconnect-runner
4e467af0d9a Shutdown terminal immediately on last listener remove
b3b60ff1162 icon contribution: make consistent with icon themes (fixes #117492, for #114942)
57c6bad938b fix #117549
198dbb7a71e Simplify handling of pty host ID after restart
51a40b29e00 Fix #117566
3f987d64f0d fix compilation
f6f723e461f Save old cell paddingn in ports table
f6e68f4b4e5 #117391 get view by id
5e16cc37c6b Make input box fill whole Port cell Fixes #117386
c47da720f35 Fit input box height in Port table Fixes #117385
01cfa2f8352 shared process - spawn it when first connection kicks in (#117422)
3f868139394 Tweaked open issues query
aecbf77878c Improve titles of some port actions Fixes #117389
40ea1c99f8b Populate input with port number for Set Label Fixes #117390
bf65bc620be Use del to close port on Mac Fixes microsoft/vscode-remote-release#4534
5bc7c69ff66 perf - make it clear that shared process connection is after workbench ready (for now)
6e76d2520a9 web - remember last used workspace for extension debug
09a093d0d89 calm down integration tests
763e089ae54 :chore: consistent event names
7ffc518372b Notifications and feedback should not be visible at the same time (fix #101376)
6c179b9abea Pick up TS 4.2 final
a8c82939a7a Reducing padding for markdown cells
c13b21f7f8c editorType => viewType (fix #117451)
4e1234963a1 Fix #117340
4aa87166310 Update z-index for notebook left focus border (fixes #117528)
520188808c6 chore: pick up latest electron v11.3.0
075c5811b9d fix #117503
8e8c6a07dfe re #117451.
5713f288011 testing: don't go to source location when expanding/collapsing nodes
c5edf95dc6f testing: show hidden tests if reveal is requested for a hidden test
c2e66ea5697 testing: show retired test glyph margins as dimmed
f66e523dc3a testing: fix overflowing lines causing misalignment in peek
816040208dd testing: make auto run hover indicate current state
1550171b26f [getting Started] LogService: info => trace Closes #117443
91abaaa0cfc debug: bump js-debug
edd66c7c132 dedupe identical inline values; fixes #117419
80a1d7982ac Use grab cursor for rendered markdown cells
79b14947e7a Polish sign out dialog, fixes #117473
67261dc97fa fix typo in sorting; fixes #117375
fb3719c43e6 Focus editor when switching to notebook cell
45e71f054b6 Add completion for 'onAuthenticationRequest' activation event, fixes #117421
5c200bcc082 Improve handling of connection timeout limits
a5a8392079e Use registered auth providers instead of declared for getting label, fixes #117463
6fa58b5a863 Show provider label instead of id in sign in prompt, fixes #117461
1647961f7d9 Don't confirm on exit on reload
041e4d9b1f5 fix smoke tests with stable build (fix #117420)
763bfde29aa Remove proposed API check for registerAuthenticationProvider, fixes #117427
ece247a4f75 Don't clear accounts badge on cancel, fixes #117357
85cff833c28 testing: fix potential leak of projection instance
edc4abbc534 testing: fix MainThreadTesting disposable fishiness
d5a62bbe063 Fix Ports view context menu when no item focused Fixes #117393
2d6cc94a7cf Remove + action from Ports view title Fixes #117402
c1488d86c53 Better row aria label in Ports view Fixes #117404
cb3a048f5af leak of not used monaco editor in cell template
28a40e373cb fix #117300.
c2571352471 Removes extra command
e8351c2c2a5 Add better narration for + row in port table
c1fb9152a12 Better grouping on Ports context menu Fixes #117410
dda96b69bfc Remove debug logs
9c8882d8b7e Improve fix for #117246
9ecd3fc3022 Fix case with notification about un-forwarded port Fixes #117246
ded52df565e enforce segments in contributed icon names (for #114942)
9d1e8fa608a window - log crash reason too
4ee5bfc4b11 untitle hint: add telemetry from
13caeee4920 Document context keys
91f4ebc32d1 Remove code added to diagnose test only (#117244)
7222dfcffb5 exempt AuthenticationProvider from provider-naming rule
39b45dd9c0f Bumps version of github-browser
e4364e5f5da fix #117254
d2b24cd57b7 check if configuration is disposed
bd74308b5ab Revert "Merge pull request #117069 from microsoft/roblou/refactorKernel"
4673316a396 Fix #117284: Get started content becomes hidden on click
6312db1e01c Fix #115041: Path to untitled file from search editor is wrong
d54923b7f8e Add manual override for getting started treatment opt-in
b1831abf66d Fix folding of custom rendered markdown cells
b3a33306fb4 Add markdown emoji for testing in notebooks
b22f8f11698 Fix virtual file system resource loading inside webviews
69c0ce82f8b Add logging to better understrand getting started experiment rollout.
c159b34535c Merge pull request #117069 from microsoft/roblou/refactorKernel
ba3bd11ac7f fix kernel cache and add unit test for kernel reg.
1fd9f9eb286 Update test for api
eff172b7dd9 testing: better documentation in .d.ts
9cd0f2e8a4e testing: fixes if no document hierarchy is provided
e4a082af7f1 chore: bump electron@11.3.0
4ae248a0134 Remove leftover "runnable"
ce45b0d004e Infer cell "runnable" from notebook kernel state Fix #106747
65711c63dac Begin eliminating cell runnable metadata #106747
b9f20c79cbd Move kernel/execution code out of NotebookEditorWidget for testability
6a9f8ac7582 Rename markdown math extension to notebook-markdown-extensions
6a6b9a5cc89 Possible fix for #115918
a1f638e838b Changes welcome views lifecycle to Restored
08eac1a22dd Merge pull request #117204 from microsoft/rebornix/nb-selections
67ded110200 Add authentication provider registration to stable API, closes #88309
b6377b8e71d Handle promise cancelled for codeActionModel
2b44e04c101 Merge pull request #117292 from microsoft/tyriar/combined_id
a8451610bf1 Allow issue service to display a bug report window when remote extension host is crashed (#116896)
ffae9a4baf9 Encode pty host id into terminal id
3214b95098a 💄
4f25f18bd77 selection handles are only used in edits.
5428ab54c98 fold element should focus the cell.
413963c489f Remove editorOpenWith (#116856)
cdd7066f009 Allow Markdown-Rendering Without Providing an Env-Parameter (#117041)
5e067109a3c reduce use of handles when possible.
1cc57241cfe Update Codicons - Update debug angles - Update `new-file` icon object - Add `debug-rerun`
9703977dab6 update workspace trust status bar visibility
a776fe9af7f feat: allow excluding tests from runs
967497247a9 fix #117087
5b943120a12 fix focus/selection after cell deletion
3dde0402069 fix #115740
e33dda9e461 Update warning icon color to meet CC (refs #115799)
6d41b4e1ce7 embed primary into selections.
9a104a34ada Update `breakpointCurrentStackframeForeground` icon color (refs #115799)
e54948aa8f2 fix output on pastedcells
ed3eb3fdf23 Merge pull request #117100 from NotWearingPants/feature/debug-save-before-run-setting
e70d90fddf3 Hide badge if trust state changes
5654c838e8e Emmet: add support of multiple extensions path (#117105)
5bab307980f Bump vscode-emmet-helper
fca88ede1ee fix type of getValue in debugService
d8bf53de7f6 improve descriptions of debug.saveBeforeStart
427d9e1fc6c fixes #117225
9818531cca0 Merge branch 'main' into feature/debug-save-before-run-setting
e97e4135fc7 change options for debug.saveBeforeStart
9cc75d0e923 workaround for stoppedLocation.column being 0
b4518eb44e1 fixes #117223
ed08a141110 selections[0] is primary.
42e8d3eeb89 Fix select session behavior, fixes #117266
31aa03fcc8c Closes #116361 - adds select/compare ability
3c31b0debac Fix #116214
b597d6123fb move comment related to resizing terminal panes from code to issue
97fd4b9db42 Update go home contribution (#117097)
986996a7dab perf - add a mark for how long it takes to connect to shared process
072ec46dcfa new install proprosed api (#117059)
a0945131a10 Cancel mouse down operation when the editor height changes (#113818)
f1d92e78960 Remove Edge Legacy workarounds
086ccb15b3a Remove support for MSGesture
3c0970f6fc7 unwrap the actual command id when a command that required indirection fails, fixes https://github.com/microsoft/vscode/issues/116932
d08c3989a7d word navigation: on windows let the native chrome word navigation take over
17b26788b9a textAreaInput: respect the selectionDirection from native text area
e722803d927 dispose models that aren't needed anymore
2362b7c7d6c 🧹 remove unused disposable store
472c88618eb builds - same timeout for all tests across OS
1a6f64ef1de fix data loss issue #116600
05ea4c5e4e8 Removed optional message, and added modal parameter (#117241)
524e119a8b1 remove colon from git host in askpass arguments (#117230)
ea2c1e5991d fixes #117237
b273be79079 publish vscode-json-languageserver@1.3.4
3d455784e72 JSON Language Server 1.3.3
912792b418f JSON Language Server 1.3.2
e938901e2ab fix vscode-json-languageserver readme. Fixes #116720
e33c868876b oss tool
4fbb5f84857 work against layering check...
277c60fc0a2 💄 event usage
b64997e0c70 add nls message for icon property (for #116198)
cdf30a97f81 Update distro
b237599ad2f use browser crypto when it is available
d6846fa9e73 Merge pull request #116449 from microsoft/tyriar_megan_reconnect
218ffbf7d50 Right align actions in ports view
46acd748a37 don't trigger snippet completions on any whitespace trigger character, https://github.com/microsoft/vscode/issues/117194
1a45abdcf2d use `null` to unset metadata properties, fixes https://github.com/microsoft/vscode/issues/116956
ce7cd0abac5 Make env var tests more resilient to other terminal events
d2a6dea3236 Disable conpty in integration tests again
1bddccd4537 Use less aggressive create process timeout
d8b302db251 Merge remote-tracking branch 'origin/main' into tyriar_megan_reconnect
5e01284378a Ensure pty host is shutdown when shared process goes down
3c9cfeec32e Prevent env var reload when attaching
3781f94ba41 Fix build
ad275765b1d Update distro
35d3403f4c8 Remove log
b8f402dbbf3 Use + for port forward action in table
9a9d468cb68 Show table row to forward a port
61539324eb7 Merge remote-tracking branch 'origin/main' into tyriar_megan_reconnect
7e3476baba2 Add "Forward a Port" to Ports Context menu
4cbd8ce1e81 bump repo
a1e96b7c1e0 fix compile error
2b27630d361 editor memento - remove fallbackToOtherGroupState (#102485)
aa2abaa2f06 bump distro
63a4baf2e16 Update endgame notebooks
ae0a103755b :chore: address some todos
3860c90cd82 limit editor title bar action to 9, https://github.com/microsoft/vscode/issues/115198
e70ba206ff5 Update README.md
7d286c50c7a enable tsec tsserver plugin
f40b36524e0 update tsec
e427e5280cb fix tests.
2104d28a324 fewer changes.
c38aa5a341e file cleaning.
92c0878f39e shared process - drop the 3s delay for spawning
a830cb5f74e some code 💄
f294b6f8109 editors - replaceEditors should take care of dirty editors
00cb6865ab8 keyboard - document my contextkeys
cbcec2e1b46 support setting selections with either handle or index.
cfd62b3e2d4 reduce use of selection handles.
dea95d3e4f6 map handles to cellrange in UI.
8d9634abac3 Merge branch 'main' of https://github.com/Microsoft/vscode into main
7d143f79422 Fix typos
1e0adc0da5b unnecessary null -> undefined.
6e3e72705a8 Merge remote-tracking branch 'origin/main' into rebornix/nb-selections
de956ce8bdf differenciate selection and focus.
11cd76005bc Fix dep cycle
719256e1f14 Don't scroll when clicking on a markdown cell
f1551b6e7e5 Extract the generic message out from FromWebviewMessage
94f8212e2ce Add more specific contribution for notebook markdown renderers
4feadc39987 Fixes #112164
9a7da51af26 Make new markdown renderer better match old one's styling
75c39b01f11 Note that __vscode_notebook_message can only be true for webview messages from webview
d24ad98e314 Convert to switch/case
8b72fdc3e99 testing: unit test err
c3a45004a06 Pull from exp service to determine defaul startup editor value
e8966ecaa95 notebookeditor.selections
a0e24147e05 testing: remove duplicate extension and internal IDs
513c68ac8ec fix powershell 7 64bit not showing in 32bit vscode on 64bit Windows (#116986)
78707e2d796 Fix #117098
d615e8fcf24 add debug.saveBeforeRun setting
c74bc68f0f6 Hide markdown preview cells when they are folded
6e08e452465 Fix issue #116591 (#116885)
32a81335ac1 Remove unneeded event declaration
cc92705891d Flow control constants to platform
cf93ca4117c Remove duplicate interfaces from workbench
bfa04d48c83 testing: comp error
04957f6bdb4 Handle shutting down all window processes when not a reload
36dd567011e testing: make reveal in test explorer work
095b565283d testing: do not show test decorations in diff editors
1475cd0c07f Group common pty service interface methods
f3b46e33a2a Improve ptyService side log format
0f6ef54b4bc Fix replay position
5ba8f6e7ec0 Fix webview focus issues that prevent cut/copy/paste when opening files with a quick pick (#116899)
5d2c9bf2996 Consolidate `wrapWithAbbreviation` and `wrapIndividualLinesWithAbbreviation` in one command (#116603)
e66f74e0c2e testing: test feedback for decorations
89eb21418db Clarify layout obj is not referencing pid
fc28fad663a Correct reconnected active terminal restoration
a59c8d2e395 Pty service better title handling
d29d7e023b6 Add ! as stylesheet trigger character for Emmet, fixes #117020
8a4a7128977 Simply onExit handling
71ddff460bd More ptyService clean up
f9245a64b31 Tidy up persistent term events
392db917c0a fetch -> attach
f0ab2d88536 Return Promise<void> from fetch proc
d19fccbcf18 Clean up
68a4faad817 linkDetector: fix tests
55260619e78 Update src/vs/workbench/contrib/terminal/browser/terminalInstance.ts
bd00c624a88 skip test to unblock build
2b230e4b267 Azure DevOps build task to download built-in extension details (#116938)
88c471ed62f Merge remote-tracking branch 'origin/main' into tyriar_megan_reconnect
6d451222829 Improve seconds logging
ee820dffbf1 Update smoke test README (#115582)
f6894202fea debug console: better hover text for tunneled uris
eeff347cac7 tabs - do not trigger relayout from updateBreadcrumbsControl (#112630)
61df1625efc assert no RPC leakage in notebook tests
3723081d639 separate vscode.NotebookEditor from ExtHostNotebookEditor
dc120dedc16 tabs title - 💄 height compute
f85b50f7491 Change filter on filter view when view visiblity changes Fixes #116815
a3fc4ce5406 remove console.log
d050858b5dc fix tests
2ca2792a65f fix smoketest
443be92d9f1 improve link hover in debug console
5e63a2f4ecf cleanup, NotebookEditorInput#viewType is actually never undefined
102f5ea0fd5 Add period to list item for consistency
febd96f0e35 debug breakpoints: remove breakpoint inline action
a30262f0b00 Fix #115763
9fe7b6446dc support setTextDocumentLanguage-api for notebook cells, fyi @rebornix
07a458dd681 open editors: new unititled file in title area
e09a46e017d use document directly, not editor.document, for $acceptDocumentPropertiesChanged, fyi @rebornix
4a74fa81c1e 💄
57cd5d4936c 🪓 remove unused $acceptDisplayOrder-RPC and everything around it
d240f119d44 strictness (fail fast) in extHostNotebook
93ec7113e12 don't bind notebook document to a provider/extension, do then when calling backup, fixes https://github.com/microsoft/vscode/issues/117035
7e7a71d7332 💄 more supportsBackup removal
84a3473d324 views: fix buttons width
bfcaefe74de untitled hint: change default to be button for the user study
ba7006088b0 tests - more logging for #117032
bbd39767eea sandbox - document issue with #116829 in code
a47f3244b36 add doc for what workspaces are supported
a98f29fd9c9 fix compile errors
c4ac419ef91 remove unused cast
02b2629dd1c cleanup, all notebooks must support backup
fa6c46b74b2 Merge pull request #116968 from DonJayamanne/fixOutputMetadata
03d71ec1f70 update distro
1f7f9dd5e6a use keys for sync from product
a6fa62809e6 tabs wrap - allow for up to 1px overlap of last tab to action toolbar before disabling wrapping tabs (fix #116385)
f9ed8037156 Move Ports view into the panel
a8a04eb7d16 joao/table (#117026)
c523e48e518 extensionsList: focus only enabled items in actionBar
b9eb461aa24 tabs - allow badges when tab sizing is set to shrink (fix #115908)
2efcd2bcd2b Merge branch 'main' into joao/table
5d4d796b9cd remove doc
c96f842dc58 Add icon column
7a40161c91c revert default value for workbench.tree.expandMode
adccb9151f4 fixes #117006
97dfc57ffd6 tests - a lot more detailed getUntitledWorkspaceSync test (#116288)
c9cbeda067f actionBar: allow to go over disabled items
6186bfc78f6 files - make save error actions context aware (#115840)
d8b1c8d697b Merge pull request #116964 from microsoft/sandy081/fix116722
f1de1700dd5 editable changes in notebooks
d151e0a33c1 Fix #116199 (#116268)
d53a27d7c20 Fixes rendering issue in Firefox
73ccfc027c9 Oops
192c817fd35 Make jsdoc completions text kind instead of snippet kind
9f08368e926 Handle normalized absolute file paths on markdown preview link click  (#116649)
094777f3929 Fix alt for menus inside of webviews (#116830)
096e5555b6d Allow welcome page to not be active on account of focus potentially going to a getting started item.
ba05eeda2e3 log something in ptyService
c3695af6d27 testing: fix unit test
a172be74ef3 use persistentTerminalId instead of pid
5a0bf3751ab testing: add method to publish extension-provided results
52ebf0c7f87 Add 'deny' option to account access prompt
ca02f19daf3 Fix #115314
482013c77e2 set minHeight on outputs when rerendering outputs to avoid shrinking.
8f2e85abd60 Fix #116574: Make it easier to jump from one Getting Started section to the next
1d3343a1091 remove stuff from process in platform
8806d063fe6 Enable extensible markdown notebook rendering in VS Code workspace
25c0fb7f2f6 Fix _getViewIndexUpperBound throwing if the view model is undefined
03b6a2e6b73 Null out webview on dispose
d1313311956 Remove extra info from onDidChangeSessions event
dd2bb8cd3ac Update src/vs/platform/terminal/electron-browser/localPtyService.ts
45dc2f5fa0f testing: allow contributing menu items to test view
88f459a2adc return terminal launch error
7aff64c42d9 Remove unused
840f19af066 Contriburte extension items at top-level Ref #116414
9c8e2ae7afb move stuff back to workbench and remove log statements and use pid
e95a5c1e1c0 Update src/vs/platform/terminal/common/terminalDataBuffering.ts
2d263be14f0 fix #115722.
b882940dc6d align InlineValuesProvider with EvaluatableExpressionProvider
a90d4ab5cf4 Move notebook markdown cell margin to its own const, tweak margins
070a33c7d62 Update src/vs/platform/terminal/common/terminal.ts
8039b6416c7 Update src/vs/workbench/contrib/terminal/browser/terminalInstanceService.ts
6fae7792bb7 untitled hint: polish
98c1cd2ca88 untiltedHint: introdcue button option, use it as an editor contribution
0eaf2bab81c enable flow control for local terminals
9c77f4d86aa add NotebookDocument.save().
df04e1388dc fix #115596.
f79a2119bd9 fix #115326.
933ca3a395c fix #113381.
e8836805dca remove attachedEditors.
bcc49ca4b67 testing: fix comp error
f4ce983bcd7 Open first section if no items completed Closes #116570
657398dedfa Back => More Ref #116570
7130344e98f Merge branch 'main' into tyriar_megan_reconnect
26b6f4d0889 testing: fix show in active file not working when first turned on
ba168d0cd71 testing: show discovery progress when finding tests
e3dc574a51e move terminalDataBuffering from workbench to common
1250b64cfa1 💄
d9dd7f0b0e1 revert focus tracking changes and use it to set focusable on actionBar
6cc6794dbb6 Support remote images
33dc53fe956 Oops
70c4b5defa8 fix initial terminal title Co-authored by: Daniel Imms <daimms@microsoft.com>
6b7bb2308b2 Cell output metadata to be added to Notebook Model
13a9be855a1 removed unneeded events and fix reconnect title
3fbab260e39 only start process once Co-authored by: Daniel Imms <daimms@microsoft.com>
e9b451094e8 fix #116722
69d39a0ed3c send event when removing a kernel, https://github.com/microsoft/vscode/issues/115698
7bca8a91b4c send correct delta after restarting extension host, https://github.com/microsoft/vscode/issues/115698
63a9d5aa562 fix tests
50fe3228e48 Add tooltip to icon in ports view
2bb9fdfa8c2 Emmet: add css.color.short setting (#116912)
7effc11c792 Bump Emmet version
ba97aa53374 Add padding-right to port cell icon
2a12fd7202d dispose more things, https://github.com/microsoft/vscode/issues/115698
a246f643eea debt, copy-paste police
ac38da16b67 Merge pull request #116954 from microsoft/tyriar/heartbeat
7d57388aebe Tweak title source, create proc timeout
b827a113d40 Mark disconnected terminals and disable stdin
fba2cda1fa7 Handle non-responsive pty host process
7b74c7787c6 Fix hygiene issue in breakpoints view
26dff8f2cca table hover feedback
777c51f046f table: optional tooltip
29d4fdb65c8 Fix #116829
ecd60db2505 reload non-dirty notebooks when their files change on disk, https://github.com/microsoft/vscode/issues/114263
31e3a7794d4 merge NotebookController#reloadNotebook into notebook editor model, remove NotebookServce#resolve and add create and fetchData "primitives", https://github.com/microsoft/vscode/issues/114263
7d74c5d4b05 💄
2a1f11a296b add IResolvedNotebookEditorModel and use that in most places so that we can remove non-null assertions
692f1465a82 Fix #116691
ed801381331 More clean up and fix icons
e8928ea6789 use product name
c714b56e804 Simplify events in LocalPty
590f7bc0896 Use column weight in ports table
7e674bd5a7f Add port header tooltips
c0f7c4cf9ab Add tooltips to port cells and some cleanup
a65139f4bbb table: column size constraints
200323caf6d table: column header tooltip
e1e5f3810c5 table: fix weights
e10085761b1 Update distro
fdaebc1f110 Merge pull request #116373 from microsoft/tyriar/megan
da0086512c2 Update distro
666351b321d Merge remote-tracking branch 'origin/main' into tyriar/megan
a6cc65462a2 Re-enable pty host restarting
16510dfc86c Remove logs from test
9e61f455450 Source -> Origin and added a menu
9e6e47cea1e Show detected ports and add input box
d5d0bf7b073 Some clean up in naming
9b9688448ab Hide privacy column
49378fc9a58 Use container in renderTemplate
edab4b7bdc9 privacy and source columns
6d7eefbae2d remove unused imports
7efe1382bbe update comment
df97ef2288a tunnel view: enable context menu clicking
5d8db7c493f reenable tunnel view list options
9752a1cb3e0 reenable more tunnel view functionality
d15bdd6aeec cleanup workbench lists
3203a54e0bc More actions on cells
eb50a52badc update distro
0f120bfa7cb move IActionViewItemProvider and IActionViewItem into its right place, https://github.com/microsoft/vscode/issues/116112#event-4345173898
30ae7b194e6 Merge branch 'sandy081/settingsSync/align' into main
869fb74662b Merge pull request #116901 from DonJayamanne/fixRunState
eb21069624c treeItem.iconPath no longer works with files in globalStorage in Insiders (fix #116735)
3b6599f6ba9 debt - remove IActionViewItem from composite (#116112)
63cbe73b2f5 chore - consistent imports
ba8d76eb971 Improve notebook toolbar overlap of markdown cells (fixes #114730)
42289086600 Fix loading spin icon (fixes #116898)
6eaef7d42f9 Add postNotebookMessage helper function (#116909)
4af885c6121 Take `string` kind in `_executeCodeActionProvider`
b0360851d4e Mark events fields readonly
a2a3bf27e9e Fix hover for notebook cell
cb95415caaa Revert back to old node-pty
473c7ddd500 Ensure tests run to completion
714b41738e4 Adds id & version to extension context - #116906
58f86d083d1 Fixes to enure tests complete
7160c4e7b50 Fix suggest widget explainer commit character field having extra commas
be6225f669b Fix markdown cell focus indicators for notebooks (#116813)
b09a71dce78 testing: update test results api to spec
00ca99f5672 testing: fix not being able to type spaces in filter
45ad634581b testing: show placeholder text if providers don't discover any tests
c0b69b03a9b Ensure runState is updated correctly
c484ebb065c chore: enable compression for crash reports
429fa749e78 reconnect processes Co-authored by: Daniel Imms <daimms@microsoft.com>
6dad35394fa Update copyright year
6e908f57c7c add debug logging for configuration
608e8791ff1 Add back support for reading from clipboard in webviews (#116597)
086112d4967 move cell output tests to document.
0354f334edf remove unreached code.
8cec47ff4a3 Update Codicons
4f12bb8451f First cut of allowing extensions to contribute getting started content. Closes #116414.
a5ff0dd6eee Return from getSession earlier when requesting session access
4e19a9f16ab Update telemetry classification type for isEdu check
31e27a8d3c9 add trigger replay
5a4f5c95fe3 untitiled hint
00b583d38d6 💄 class name fix
4a2bb3569e7 Localize terminal context key descriptions
84a3428e924 update distro
f1aee41e1fd Merge branch 'main' into sandy081/settingsSync/align
108616d3590 support switching settings sync services in web synchronise setting sync service type in web show necessary prompts when services are changed
bd5d97dbce8 Rendering for local address and label
c65da0b1d62 perf - init KeyboardLayoutMainService in parallel to window opening
ab848457376 make 'editor/title/run'-menu generally available
83d540c4bfa 💄
a94e67e5e1c InlineValues provide: merge and sort segments per line
a16b41d9c49 adopt WorkbenchTable in tunnel view
43262ab61af Add editor input factory
03ad0f1f8d9 workbench table
8244f999659 table: rename
8e003e63804 Adopt description in terminal RawContextKeys
6ecae6f5f94 shared process - log errors properly
79f90304beb refine completion provider for context keys, https://github.com/microsoft/vscode/issues/9303
29f80fb60f6 🆙 distro
154c94ef3b1 Update terminalView.ts
9de38fc9a80 Disable keytar in our integration tests (#116852)
d7230651acc Remove old workspace trust editor
797dc143ffb Fixed command, added spacing
5daa0b3b59f Fix right click paste
5816c4ea2c9 Improve tunnel label and process description
0cf9477e966 tunnel view: start to adopt table
5870204e95c make notebook and cell metadata classes, https://github.com/microsoft/vscode/issues/116333
0ac9125128e table: styles, domFocus
8615af08b3d Tweak input field width
f2a1ecc9a7e Add workspace trust banner + UI polish
c1230f88475 shared process - log errors/crashes also to active window
4006dd2e4fb table: use getSashOrthogonalSize
e8b48607298 splitview: getSashOrthogonalSize
589a0f268a3 further TunnelViewModel simplification
037b4b161a1 simplify ITunnelViewModel
678acbe5364 outputs in notebooks
13070015bdd expose context key info command, add first version of completion item provider for package.json and keybindings.json files, https://github.com/microsoft/vscode/issues/9303
44dbd182557 Wait for tree to be registered before disposing This fixes the tree view rpc test Fixes #116776
1bf78c50fe9 add NotebookCellOutput#metadata, also use API type internally and translate dto sooner, fixes https://github.com/microsoft/vscode/issues/116792
7a0caf4d86e Let Remote extensions set port source (#116838)
d3f2e22c19b table: css
fe02cd157d8 table: fix initial cell sizing
89b85a05d43 storage - more consolidation
bb999b90b45 table widget: fix overflow behavior
f290c162de7 table: layout
3f0d8a14759 storage - some 💄
45704f8f340 storage - lift more things up to abstract impl
a36e9b3e092 add prefix to main errors when logged into renderer
90f5ef65a09 Delete notebookTestMain
c03c7587651 Select the first search row when initially focusing it from the search inputs, now that the coloring is easier to differentiate
79b8259abb8 change cell language with cell change events.
b89dedc5d03 Add onProcessReplay to LocalPtyService and forward the event to PtyService
5d08a5663ed add onProcessReplay to PtyService
dcf7f714e1b add onProcessReplay to PersistentTerminalProcess
b3f8737839d fix #116808.
b0bd28137a6 add test for #115855.
90c5ceafc38 monaco: fix conflicted file
dfee0857c23 testing: run test on enter press
269cf7a98c1 testing: improve labeling in peek for accessibility
69393e9a2fa testing: improve labeling in peek for accessibility
3d19580d17a fix: hide debug/run actions if no tests are applicable
b050d09527b testing: filter focus on view visible
da1439d5dba testing: tweak autorun icon checked state
12677674727 fix #116598. broadcast output items change.
74594435504 Update monaco.d.ts
0f05597b851 don't re-create a persistent terminal process
2cc13674e33 Also bump build version and run formatter on all files
52d1b626f31 Pick up latest TS version for building VS Code
f3e3ea98946 rename remote -> persistent
6f23480f3b1 Remove bundling changes
e7d2a864e4a testing: add contextual commands for running tests
c41fb762991 Re-enable all tests
14923b5427a Allow conoutSocketWorker in unpacked asar
939038aae9a Recursively include lib
197f453aa95 Show tailored notification when paste isn't supported
e091e894b57 Include lib in node-pty
f08f99a1546 Merge pull request #115855 from susiwen8/onDidSaveNotebookDocument
53d2a737761 Clean up focused cell styling (fixes #116797)
742051039d7 remoteAttach -> attachExisting, remove logs, fill in args
5c005324bb4 tests - enable workspace tests again for now
d22941af5d7 startDebugActionViewItem: fix focus navigation within ActionBar
22df9214fec Merge pull request #116728 from ugultopu/fix-misspelling-of-likelihood
68b67a34559 Keep misspelled property name in timerService
7ce6ee75590 testing: fix event listener leak
994ad375882 Log more in test
c441c567a31 storage - implement first cut migration support
35abaaf6063 Log all lines in failing test
3859ba936d8 Merge remote-tracking branch 'origin/main' into tyriar/megan
7a9867c841e first draft editor (#116599)
a17ad41546c use nls#localize for context key descriptions
3d0245d5e4f more table progress
6200437f3f1 add description to some RawContextKey-instances
8aa800e459a allow to exclude a context key from registry, allow to provide type eplicitly, https://github.com/microsoft/vscode/issues/114867
e537fd9e318 first cut of proposed "inline values provider" API
3385cc7a5cc 💄
c9607e61e0f actionBar: always respect orientation, so only left / right navgiate in horizontal and up/down in vertical
ee9da16746d table: intro
8d900267955 set output and editable properties
6b35ff74c14 storage - bring back tests for close on shutdown
2313132d554 💄
5fc7d91fb31 workaround #116691
974b2143344 rename: resolveNotebook is openNotebook
04b7b5ee4c7 storage - let renderer close workspace DB
2ad3fe12241 storage - skip failing test
d2cfc0792e0 update editable state
a1b9523db10 update my-work notebook
28de0a46867 Fix YAML typo
38ae92f4b19 remove unused ui tests
77493b59a55 storage - test all storages closed when shutdown
58a427566b6 Revert change
c967932ba34 Specify sourceScanPath
982b28f42db Merge remote-tracking branch 'origin/main' into tyriar/megan
58e22bc5226 window - type win as null if disposed
3dab064342e Move component governance to compile stage
5e74ad54302 storage - fix unused storage variable in tests
266e4759316 before removing cell documents capture its API objects, after inserting cell documents capture its API objects, fixes https://github.com/microsoft/vscode/issues/116711
1bb2e0a9bab storage - use inMemory storage for tests
a7470e5094b storage - let service own lifecycle in main and implement storage warming when window loads
f829a7dfd7e workaround for https://github.com/microsoft/vscode/issues/116751
ac916cbb2df don't assert rpc strictness yet
5662aecf241 actionBar: adopt respectOrienationForPreviousAndNextKey option in lists and notebook
55393229982 &quote; is ", re #115391
72137a82233 fixes #116663
f606206cc8f debt - consistently refer to main services
8dbc14946b3 debt - consistent event names in main
3bb3da8281d storage - move more things into abstract storage service
2b1ab52273b storage - remove unused onWillSaveState event (main)
bf0e8299db7 Fix misspelling of "likelihood"
3479bb35904 button checkbox and menu: do not automatically remove tabIndex from disabled items
5f5ceba51a3 actionBar: allow to focus disabled items
8263f1c66a3 actionBar: do not eat up the arrow key if there is only one item in the action bar
6c12d9f2c4a storage - add first cut lifecycle controlled from main side
e4e0919c0ec refine precondition so that markdown cells always "execute"
d9c653c8b68 increase default timeout for event waiting, fixes https://github.com/microsoft/vscode/issues/116704
2e53ffced96 add precondition to exec'ish cell commands
5901b6a4ea1 storage - move lifecycle into service
5f48de03e6c use metadata classes for cell and notebook document implementation, https://github.com/microsoft/vscode/issues/116333
f2a491fbc83 customSelectBox: do not buble key down and key up events to not conflict with action bar
762dc9eeea6 action bar: In case an action got disabled and it was last focused in the action bar We need to reset the tabIndex to be set on the first enabled item
8fe9b7c5ec9 Fix that keybindings editor input actions can not be triggered via keyboard
2ecfd145662 Setting for proc vs output port forwarding Fixes microsoft/vscode-remote-release#4274
3e2aebd790c Revert "use metadata classes inside NotebookCell and NotebookDocument"
18c04a57160 make `vscode.NotebookCellRange` a class
ebc30d6c92c fixes #116700
7bf4a3d823d fixes #115212
2a9b2181ffe improve list settings docs
96640b6b875 tree: remove bogus expandOnlyOnDoubleClick
d56305b3f9a cleanup imports
58b13a2fd1d Fix too many/wrong port notification Fixes microsoft/vscode-remote-release#4472
8848ddd9c06 use metadata classes inside NotebookCell and NotebookDocument
62d027a713c more API todos
7dc11581e45 remove unused event
4a941b1853a Merge branch 'joao/update-list-styles' into main
59afea597bd explorer:  click in empty area -> create a new file
e2d1cfb64a1 make SubmenuItemAction dynamic again
250c2265459 fix suggest widget styles
4077a67914b adopt focus border across all core themes
c4c044e20db fix quick input inactive focus background color
9dca2bed0bb Fix bug in tree view tests Fixes #113896
793371f0559 remove twistie hover feedback
f3b4f3f6acf unescape characters that marked escaped, fixes https://github.com/microsoft/vscode/issues/115391
e408bcafd1e Merge remote-tracking branch 'origin/main' into main
198bfdbfaa7 Merge branch 'joao/fix-116523' into main
7d338140c3b Merge branch 'main' into joao/update-list-styles
5c330b06d4d cells are editable
c9886c39462 missing recursion break
965518f9a98 fixes #116558
4d89ae10ff8 fix #116523
114bac541eb storage - bring back logging support
2af090f8a3b Merge branch 'ben/storage2'
ac5b7117ec4 assert no rpc in notebook doc test
059edf4166f Merge pull request #116685 from microsoft/job/nbtests
50bb1cf1a4d storage - do not init at random (fix tests on windows)
88089d3f204 fix terrapin failures not reporting
cc4d7e8a11a update (restore) language test for new cells
196bf678a15 reset dirty state when reverting a notebook, update extension host when dirty state of a notebook (working copy) changes
5236d344604 run active editor test only when having focus
02613ef2b41 storage - implement workspace storage and fix tests
5eca02fd99e storage - some 💄
23a780dbe73 storage - introduce shared class for storage in main
980becda8d5 main rename
a508b135382 storage - wire in close()
76fecd98554 storage - add test for storage main service
f49d78c4afc storage - fix layers to be able to use native storage service in sandbox
1f8bb6d33b3 storage - change main storage service to support global and workspace storage (stubs)
a699ffaee62 Reenable notebook smoke test Fix #116535
3a442c6939b Fix broken markdown cells The editor wants to create a scoped CKS which you can't do with an Overlay
05922f8a260 storage - add tests for all services
992cf6bd44d Update node-fetch (#116560)
0de32ce880b consolidate some code
647a4b044a2 Make sure we focus inner iframe contents if the webview itself is already focused
90f344fe7ef Skip echo test again
bfd81161b84 splits persisting, still some issues
a0e0324a8da testing: commands to run tests at current cursor and in file
07e3bcf7eac testing: allow filtering to only executed or failed tests
0e16b7a0fe9 Simplify echo works in the default shell
be7cf6f2e9e use checkmark instead of toggle lang 4 diff editor
2f277cb41ef Add github session telemetry event
8853436d0f9 Remove ps tree logging
1a4c9ac9f2a fix classic menubar safari
3d9a48e0f5f Revert "Bring ptyService into shared proc"
656c907867a Revert "Register ptyservice in localptyservice"
e9ecaca14fe Rescan task scroll container after task selection animation complete Fixes #116521
1b897365d72 Revert "Move ptyService out of shared proc temporarily"
6841c52357d Try conpty in integration tests
0e3ec619b69 Revert "Re-enable most tests"
0ebe81ecc1e Revert "Skip all but 2"
778ce3d6af2 Add potential top level command entries
7934b9d439c Skip all but 2
6693b29b19c testing: show peek link in hover
5c449afc04d testing: automatically open peek view on failures
53c2e1b23c7 testing: close peek view when associate test state changes
a5994556a8e Re-enable most tests
68f1497536a Skip echo works in the default shell test
8c1dbbbc588 clean some things up
1170b3158e3 Emmet: add output.reverseAttributes option (#116088)
af4a8f7ba7f use TerminalInstanceService to access localPtyService
66d300b1bb7 Enable 3 tests
7661c8e35cf Move emmet to emmetio/emmet npm dependency, fixes #110697
653f025dfdb Enable ts check for service-worker
fab9533c5ce Add some aria roles ref #115896
6148fedea06 Enable terminal tests that deal with ptys only
44477fbb74c Re-enable tests, disable terminal suite
27e1db98c12 Move some additional focus fixed from electron webviews to iframe webviews
2cb4179ec6a Make sure the webview gets focused even if the actual webview content does not yet exist
2e1166cb0c2 Make sure webview editor has not been disposed before claiming webview
0568d26fad6 Revert "Support the new 4.0 definition of isArray (#102413)" (#116571)
33d715555c1 Remeove "Skip" link, ref #114964.
1f45db9994f Disable api tests
f1202da4a00 Simplify search view tree height calculation Fix #116182
8912ec1803a Move ptyService out of shared proc temporarily
2d6c2d0b2d7 wip - move notebook integration test into our normal API test extension
5f9f03e8226 disable extensions when debugging API tests
1f1db8515ee while resolving an editor input it might get disposed
52f633d19ce some 💄, some API todos
888752f9241 remove node-pty from web
c83064b9825 Update freshExecArgv comment, fix #116422
14669c2e457 Make scopes parameter optional to getSessions and remove getAllSessions
a16f5d2c4c1 fixes #116395
ac1ba331274 testing: add tests for and fix bugs in test result service
4713b130e11 Register ptyservice in localptyservice
dc4fa4878fb Bring ptyService into shared proc
815694184dd Unrecognized variables with arguments getting truncated (#114474)
41339cc2a08 Make user data path a AMD/CommonJS compatible thing (#116530)
6a698d7d435 tabs - no need to lookup editor index
4e1b20a7d5b Log process tree after test suites
13d51e7c21e actionBar: use up/down as well to move focus
84534d243c1 Merge branch 'master' into sandy081/settingsSync/align
a56ce22cedd Disable ptyHost restart
138cfd777be Don't double dispose LocalPtyService
93da15934d5 Improve storage key for stored tunnels
d88249fdfda add notebookKernelCount context key, clean up non-null assertions in notebook editor, modernize contributions store
da6a819b54a Tab lists should only occupy a single tab stop
3eefea3b000 sync enablement keys and service key
a6be559d52d 💄 fyi @rebornix
cc0ccaf1c03 more disposing when dispose main thread notebooks, https://github.com/microsoft/vscode/issues/115698
e4d8575cafb Merge remote-tracking branch 'origin/master' into tyriar/megan
cb010970c7d Merge branch 'master' into joao/update-list-styles
781bcaeb500 Call shutdownAll on ptyService
5a7711ac928 💄
f507f5ca343 Setup tunnels for syncing
570890ca7e6 💄
fc31a6a5584 skip failing test, https://github.com/microsoft/vscode/issues/116535
2384f4de731 Accessibility: Shift+Tab gets trapped in debug and problems panes.
e7f29d65c37 use registerSharedProcessRemoteService to register
59008059d23 add devcontainer associations to configuration-editing
6d9611747ea wip: update list ux
868fb4c39f3 rename CellKind to NotebookCellKind
215cd172763 Merge pull request #116443 from microsoft/joh/kernelLanguages
82d255a3e34 Merge branch 'joao/overlay-cks'
968ce642c3c add tsec to CI, https://github.com/microsoft/vscode/issues/116459
bc72e7ab7e3 Merge branch 'master' into joao/overlay-cks
f83e5e49fb2 Merge pull request #116460 from engelsdamien/master
b06c9c66f56 🆙 distro
ed10bfb7c4f update tsec to 0.1.3
2911d1d1dd6 setting editable metadata
f0d62c6ec2d 💄 more main.ts cleanup
795db5b7194 Always intercept file protocol (#116522)
de9c04cae4a remove storage service, try to hook up layout info communication, bad layering also
6ac9a3ecb36 Add disable checkbox to getting started. Closes #114964.
767dd7033df Try different workaround for rewriting localhost resources for remote webviews
96718c6fe8c Add back build-notebook script
9b4f1aff5d2 Enable inline html tags in notebook markdown
ba8a5d8fff8 [Deep clssifier] Lock dependencies
263d4b75e21 Fix getSessions for microsoft auth provider
eceff533515 Rename login/logout to createSession/removeSession
ea865096f13 allow for tiered trust (walk the tree)
98354ad7cc5 Add comment about localization string
ff20de6a4e6 move more stuff into/out of platform/terminal.ts
1e46aab8d98 Update src/vs/platform/terminal/common/terminal.ts
2dea6ff4bbc fixes #116142
e4cf7f46ee2 Remove account caching from MainThreadAuthenticationProvider
650906c3697 Pass scopes through to authentication providers
a7758e4328b Update indicator height for collapsed cells
fb354b70b3e change import for terminalContributionsDescriptor
0c11d7c4007 undo move of lines in test files
c87e0171f70 remove unneeded stuff
d3502eaa4cb revert terminalTab change
7e6e069807d remove unused imports
3ba5101f27f Make notebook scrollbar transparent
33f7e89f610 Merge pull request #116409 from microsoft/misolori/notebook-cell-focus
d10f2e60328 Fix #116412: Use getting started page as default startupEditor.
8dd7a21bd66 Merge branch 'tyriar/megan' into tyriar_megan_reconnect
68a47518f87 move things back to platform and delete duplicate code
78de6c64b03 remove get*Actions on container
b49c2cba98a Dispose localPtyService on shared proc
5da54d318ad Dispose client on exit
3bd49afed2a Update src/vs/platform/terminal/common/terminal.ts
53ac8d3068b Update src/vs/base/common/async.ts
e21134dd71e testing: implement base autorun
e6bc652737c Merge remote-tracking branch 'origin/master' into tyriar/megan
2869ec9458c Clean up terminals when ptyHost goes down
a35338b2501 move things back to the workbench and leave only necessary items in platform
cf879190e74 sync resource enablement keys & service key in web
9118a3461c5 Make onDidChangeSessions event for auth providers fire complete session
42edcdb41b2 Use DAP's new "StackFrame.canRestart" property to enable the "Restart Frame" command
a9515960052 compositeBarActions: hasPopup: true for consistency
1887d9aa251 Accessibility: Accounts and Manage items role
7aa84660c1c Merge remote-tracking branch 'origin/master' into tyriar/megan
5908eabc80a app.ts - clearly distinguish node.js and electron servers
a4a87ef29f7 💄 more app.ts cleanup
25263592076 💄 app.ts cleanup
00a91fc8495 Adopt registerSharedProcessRemoteService
a9536c368c3 Merge remote-tracking branch 'origin/master' into tyriar/megan
cd95d465dc7 Don't remove node-pty/lib
493fa4bd31d 💄 main.ts
27bdcacfabc update distro
91c8be9a55f Merge branch 'master' into sandy081/settingsSync/align
1be536d154a Show DAP's new "ExceptionBreakpointsFilter.description" property in a hover
91b533066e6 post merge clean-up
e498c28de11 Merge branch 'master' into joh/kernelLanguages
90d07beb8a7 Show DAP's new "ExceptionBreakpointsFilter.conditionDescription" as placeholder in condition text box
0d7c8ec95a6 Merge pull request #115817 from microsoft/notebook/outputs
c514299b83e Show full url of ports when in panel Fixes #111378
ea048b87717 move ipc services back to e-sandbox
b2e68d70b8d registerMainProcessRemoteService & registerSharedProcessRemoteService
b31d9d5d06a fixes #116334
8d7dbbab619 Account for workspace files in auto task notification Fixes #115990
2033439e485 add description property to RawContextKey, all registry to collect all info, add command to print, https://github.com/microsoft/vscode-docs/issues/3039
58eb43beaa5 List all tsec exemption explicitly
33a92ebf4ac Updates tsec to 0.1.3
5a156a7fee4 #116084 fix reporting unhandled errors
481b65972b6 isolate IMainProcessService and ISharedProcessService into common
d10ea1358ad add more wordings to settings sync dialog
141a4712033 more IPC cleanup
662b0003b81 cleanup update ipc code
c544f38c93b Update distro
94c1ceb34f7 Merge remote-tracking branch 'origin/master' into tyriar/megan
ff26dba8c41 Set up proper logging in pty host
73e5f518cdb Merge branch 'tyriar/megan' into tyriar_megan_reconnect
2b5a5223cbb Fix case where file picker doesn't have .. Fixes #116457
6c92a6605cb Merge branch 'master' into notebook/outputs
62dd18f1efd Resolve todos
5de7be246ec TerminalProcessMainProxy -> LocalPty
1b72bb62498 Handle ptyHost exit gracefully and restart
ccc28e3726a Remove languages property from NotebookData and NotebookDocument
59264e2ab16 Merge remote-tracking branch 'origin/master' into tyriar/megan
5fc19f5f59b ILocalPtyService -> IPtyService
6ee4ef1c2db paneView: make actions in view title visible when focus in pane
474e769014c stop using `resolvedLanguages`, only use kernel languages or all languages
a0bbfacd8cf Fixes #116060: Clone minimap options before changing them
9737b1aad10 move INotebookKernelInfoDto2 to protocol, separate kernel from dto, renames
b6623e4d351 file watcher: show start watching info as debug
f644b6b2a96 debt - less any, more unknown
471be7f8e60 use web overrides while reading
55d267293b9 have a clear separation between KernelProvider and Kernel
6f1cfdbae8a 💄 jsdoc
7d5d5f5e7f8 wire up `supportedLanguages` from extension kernel
24d1235d904 some unit tests for metadata classes, https://github.com/microsoft/vscode/issues/116333
4557e4e4c39 Merge branch 'master' into joao/overlay-cks
6b8251cf437 fix #116419
16df123b5ae do not turn off settings sync when quality changed
3da19cfbafc Revert change to startupEditor until smoke tests are fixed
8398e68f8f4 Fix #116093: New search editor should be pre-filled with selected text when pressing Ctrl + Shift + F
775830334d7 Fix #115883: Remove opener service logging.
c6757e30a15 Enable getting started page as default startupEditor. Closes #116414
e3acfe5d71a Merge pull request #116212 from microsoft/misolori/extension-icons
cd7a2d66853 Aria-label the image alt text ref #115896
93f705ab40b Remove old import.
6896ec35ff9 Make cell focus indicator more noticeable in large cells
5720ed629c6 Add back icon to getting started tab
89162d522b5 Remove unused template file
1830cbfd508 Remove getting started opt-in's
e6d8271e2e3 Batch of getting started accessibility changes ref #115896
17018593c7c add to do
ebebd48ad92 adjust resizePanes
233890f2eb0 add log service
cd9704db38e Merge branch 'tyriar_megan_reconnect' into tyriar/megan
6dd156d04b2 Support drag and drop copy for markdown cells
1819dd5285a Merge pull request #116389 from microsoft/tyriar_megan_sharedproc
b262ce0ac40 Always put focus in search box when using command to open settings editor Fix #116167
35f855796b9 Add support for markdown notebook renderers  (#115191)
5188792bd04 Move ptyHostMain into the node folder
4ea18e96151 Remove unneeded file, document channels
6bdc6bb24b3 Clean up
25c680caf4e Create ptyHost, bidi communication
c36a09929c8 testing: implement retired test state
da39b7af3ea create PersistentTerminalProcess and move terminal and environmentVariable files from workbench -> platform
e9b69cd2732 update distro
15b6534a114 file watcher: show info when start watching
67dda13a3ae Move pty to shared process
461bd165ecd IIPCOptions: clarify freshExecArgv
474b4ae2d51 ipc client: fork must not inherit --inspect(-brk)=
f9ac40b8066 testing: add 'show in active file'
cac5eba2aa7 fix workspace trust badge priority
585c5cc04b9 remove get*Actions from view pane
37e41cbfc4a Merge branch 'master' into sandy081/settingsSync/align
f57bdeab80e Merge branch 'master' into sandy081/settingsSync/align
3dc8cb1afc8 Add setting to enable/disable returns generation in jsdoc
62cbf21904e update distro
74b6734e49b remove web overrides
78bdc620d5e - disable auto sync when default service changed in web - donot prevent turning off sync
662bc9b4e84 Merge branch 'merogge/localReconnect' into tyriar_megan_reconnect
1abb2d95341 Merge remote-tracking branch 'origin/master' into tyriar/74620_2
49e2e2b1392 show selecting settings sync service as a separate dialog
a025039b4e9 file picker should only reveal files, not folders nor workspaces, fixes https://github.com/microsoft/vscode/issues/116297
20b8e5fddd2 Workspace trust refactoring (#116354)
969910839d9 make NotebookDocumentMetadata and NotebookCellMetadata type-equal with current proposal, https://github.com/microsoft/vscode/issues/116333
08a2af529ed Bring back "debug: select and start" to the command palette
6ed5c53fb7e fix metadata complile error
cf7fc3918f8 remove CellOutputKind type
0e139c697bd allow custom id in NotebookCellOutput
a9f803753c6 Create no accounts menu on demand
19cad54562a actionBar focus: make sure to setFocusable first enabled item
cfa3854c3f4 action bar: only one tab stop
b881f37fccc Merge branch 'master' into notebook/outputs
40b3204d70a some trying for https://github.com/microsoft/vscode/issues/116333
768a68060f1 Change blocking behavior for auth extension activation based on if request is from core or extension, fixes #116295
164e7f8a2ff upgrade DAP to 1.45.0-pre.0
e94d5c78398 use weights instead of when (#116277)
c6da75c9ed5 Show a notification for all detected ports even when they are already forwarded when auto forwarding is enabled Fixes microsoft/vscode-remote-release#4309
c87de4b1f30 Let extension contribute to ports context and return useful info from port label command Part of microsoft/vscode-remote-release#4433
d2a6b516e4f add check box to use insiders settings sync service while switching
95d4184f267 fix https://github.com/microsoft/vscode/issues/115779
60898cfb4c2 more api todos
87aa935c1d0 💄
9ff3bfec449 sandbox - use electron directly and not preload for postMessage calls
f311b19b644 filewatcher: allow to specify path globs for polling
79a0dbb134e 🆙 distro
83f4dfdff12 streams - introduce and adopt listenStream
699cc6abd39 fixes #116036
3e32386a5bb prepare for KernelInfo#supportedLanguages, https://github.com/microsoft/vscode/issues/116314
b24ca32e4bf little prep for https://github.com/microsoft/vscode/issues/116314
2a1a7a887c8 💄
7d9aa94fd84 repl: no need to use toString() for diffIdentity computation
e371faebfb6 rename createChannelReceiver into ProxyChannel namespace (#116308)
ddb659ae0ec fix https://github.com/microsoft/vscode/issues/116094
48e10bedc9e Revert "tryActivateProvider should not blocking"
ea185a2bbba sash: add hover feedback delay
49b21da91be position run-submenu further to the left, https://github.com/microsoft/vscode/issues/114123
194aa7dfd11 set settings sync logger name
f5ac4f42cc2 sandbox - receive message port via postMessage
5f67699d300 Fix color for the info and warning icons
e58a5e897ea cell execution API sketches
3d9f13ea764 fix: CreateFile ERROR_FILE_NOT_FOUND from crashpad handler (#116252)
883b8629451 debt - prevent vs/code dependency from vs/server
3b456a28573 debt - do not allow platform layer to reach into code layer
facb3703081 🆙 distro
f82462ba7c6 debt - move shellEnv to platform
6c479056158 unknown metadata value.
fe6eb68d228 Pick up latest TS insiders
91a20c06b96 Use npm for building markdown preview
ba7d28d53cd Use shared webpack version instead of installing locally for simple-browser
76524ef5891 Fixes 114236: Add a multi-line comment regex to unIndentedLinePattern (#114478)
b2724146f07 debug: replace element when appending text to ensure updates in repl
90705080760 Merge branch 'connor4312/refactor-test-states'
3d4cabb608f testing: refactor to new runState API
7ecf23a2a2c Try wrapping IPv6 host for webview resource loading with`[]`
8a3a5d9b747 Fix search smoke test
2f76945a065 Relayout search view when message visibility changes #116182
2e9f767776a awaiting-insiders-release => unreleased
64db71fed86 Fixes #116235 - removes inline-flex
60665b5bb71 Removes dead code
f8cadcc6f35 Fixes #116168 - missing provider == missing icons
2b6e896effb Adds another of my email addresses
41121165b0f Move isAccessAllowed to authentication service
06c8e30c736 did save event listener is not hooked up properly
aa1e745af36 send mimetype specific metadata to webview
ebc23863666 style polish
81c7bddee99 diff editor compare outputs should ignore outputid
87999247963 resize observer does not count padding.
409034368dc [renderer] fix string conversion for numbers
97998b32e9f implment getCellViewModel for side by side diff editor.
7b64e249baa node-pty@0.11.0-beta1
968499cb683 Adjust message, fix icon color
e8d77e425f3 add changes
52457101377 Fix #116188: Search in files not pasting selected text using keyboard shortcut
71e56891549 tryActivateProvider should not blocking
eddf95f0893 off by one...
68ec717149c Move extension icon color to a theme color token (refs #115799)
758fe86b54f Fix account badge update for new session requests
11b885de68b Merge remote-tracking branch 'origin/master' into notebook/outputs
a05c4170f6f do not render if there is no mimetype at all.
538c7847c8e Revert "notebook diff editor handle empty mimetypes."
e02e9687889 fix notebook worker dto
acaf2ed2ac8 fix tests
478a76a1a6f fix compilation
16bd4632051 fix compilation issue
97fde37887b - introduce trusted api - disable settings sync in untrusted workspace
78446fc7950 Improve guidance commentary in GH Bug Report template (#116183)
7cb0840ad7d update distro
accae732939 Merge pull request #116051 from microsoft/sandy081/sandbox/spdlog
327e25fdc26 Add portsAttributes to devcontainer.json Part of microsoft/vscode-remote-release#4445
624f51c0f7e debug console: diff identity provider should take the string content into account when computing ids
7fd4b1187cd Fix #116108
efd5a000c0b add InlineHintKind to InlineHint-type
8077bf32517 Fix iconLabel hover hide on click Part of #116197
615d2fff058 fixes #116155
79a623d9767 move to sandbox
5d1e300546e Missing info from the "Recent Workspaces and Folders" section in the taskbar context menu. Fixes #115898
065e82d8624 fix layering
b14afd09df3 Merge branch 'master' into sandy081/sandbox/spdlog
a8bb42c43b0 #116112 remove dependency on IActionViewItem
97c7d2ac84b add `editor/title/run` menu id and expose as proposed API
9b6aafb692d Improve trace messages
b784c952088 Remove terminalFocus from create new term keybinding
992481db7f1 "inline" empty submenus in editor title bar
ffe7654a9f7 ts - no implicit any
49061a5b8a1 Only show port notification in last window Part of #116058
d1c5afbbdcf Fix changing drives in simple file picker
f2f9d1b1e01 Merge remote-tracking branch 'origin/master' into tyriar/74620_2
1e8edfea6ed shared process - move all settings sync related services to sandbox
8116b47d82c sandbox - move user data sync contrib to sandbox
eb777f064b5 sandbox - move extension management and tips to sandbox
08988e65b5c sandbox - move telemetry service to electron-sandbox
b6545a0db66 windows does not support symbolic links
3a3b42a9a3a Merge remote-tracking branch 'origin/master' into tyriar/74620_2
4b5108a79b8 Remove log
47adc864f89 Get 2 way communication working
6132a763bc8 Get one way communication happening
6b030798796 only ask to inline when there would be enough space, https://github.com/microsoft/vscode/issues/114123
4941e47c025 add support to automatically inlining submenus (when rendering), adopt in editor titles for the len(submenu)=1 case
34adb675130 improve hover feedback for sash corners
3ef4aa861a3 sandbox - move localizations service to sandbox
9c40b34cbee sandbox - move diagnostics service to electron sandbox
9441f9054f7 shared process - move service to electron-sandbox
8c8ab33b79d shared process - delete sharedIPCHandle
6ac77de5d74 pfs - improve symbolic link test for windows
e5823fed988 :chore: extra comment
7e923e6f6ee action2 in explorer and debug: make sure to use original to preserve english title in command palette
0795762a8f0 allow gear~spin
100b7f04506 status - update background color (#115886)
82c57ad1fe4 name and id are required for remote views Fixes
c7427d59b11 always fallback to plain text (#115860)
bc1aac2a828 Dedupe tunnel requests for localhost Fixes #116124
2678e4b848a Only match exactly 7 equals (fixes #95040)
cd97629c445 #116152 enable smoke tests
714fd96f61a #114901 revert partially - do not scope view pane container context to its domnode - only use target while creating the menu actions
65505d8bec5 Merge pull request #115599 from microsoft/ben/114753
be5126d37c3 Also skip 'before', #116156
0829608afbf Change disabled tests to .skip
87a3effc79a Try to disable caching in the simple browser's iframes
518097377de Handle 304s for remote resources
99f4a0262ed notebook diff editor handle empty mimetypes.
d94093a14e6 handle append/replace output items.
29844a0baf3 disable smoke tests that time out
4623a509954 Fix #116154
6ba6002fb56 builtin renderer handles OutputItem.
fd6997fdc72 new output type shape only.
bd47ac847c3 auto save ...
779938d5e45 fix outputs loading
64a164c9d5c Add default color for sash hover border color (refs #114636)
ff03697a1aa Use node script instead of 'cp' command
0544c1d391c remove legacy typings.
46e28e3bbea Copy codicon files directly into sources instead of taking a non dev dependecy on the entire package
5b32b280375 Mark simple browser as a UI extension
eb62ecb01e2 Use white background in simple browser by default
b06d9007ef4 chore: bump electron@11.2.3
4e0bc11ad3f relative sizes persist
b7882a858fa touch up
7dc31b45ba0 active instance working for each tab
15616c18692 focused view context key should be set at global context
1e298d0353e Pass executableEnv to other side
456841a93ba Create createProcess ipc interface
281d2280861 Rename pty service to local pty service
c7d527f9cec update yarn.lock
280cbff391c fix home menu items not appearing
ee4a8bd5f4a Create pty service main <-> renderer channel
3021226eefd Move remoteterminalservice reg to contribution
4c690b34e09 remove log statement
9fc381f258c persist local terminals - not yet setting active instance or relative sizes
e146dd28e12 Extension management - refactoring workspace trust signal (#116118)
783bb42362b testing: adopt new state icons
3edc9925e05 NotebookDocument#metadata is readonly
c86be3bb57c Merge pull request #115309 from pfitzseb/sp/julia-grammar
5cfa6b7e263 update vscode-grammar-updater
a873e60a71b 💄 strict assertions
3334b1534c9 #114901 associate scoped context key service to target
86701b150d2 debug: update js-debug
fb8bced55bd after fix for grammar importer
0293b129e37 add name attribute, https://github.com/microsoft/vscode/issues/115746
7f1d17baca2 Update gulp-atom-electron (#116119)
1a9635193f6 update and fix grammar
ebac2cfa10b add colorizer test
50dc6c3c66f add search support
ac7918ed6e2 Fix terminal paste command
1da95321b14 RPM: Don't generate build_id links (#116105)
f5381197bf7 Improve ports view welcome text Part of #116058
0f170017904 Fix update-grammar scripts for cross-platform use
01ace15b27b Fix clear terminal command ID
3fa2ca3f7b0 Fix new terminal keybinding
2a38ef15feb remove used code
124cd2155a2 Merge branch 'master' into pr/pfitzseb/115309
75f4a581b7a fix https://github.com/microsoft/vscode/issues/116104
82f3379ac67 remove getActions*2 from view pane container
9dd25c4d196 Don't show browser preview action in Ports view web Part of microsoft/vscode-remote-release#4436
809bbd7b62f move interface to its sole user
67bac9bf500 remove unused types
e3d0d9c00cf Merge branch 'master' into notebook/outputs
d0205792b0e add todo-tags for API feedback
83a2eb403e1 fix compile errors
99c1589aed3 Merge pull request #116005 from jeanp413/fix-115922
4821adfc12d move convert logic into extHostTypeConverters
599f7a7031b logger shall log always when created with always option
2baf63ad001 use logger service for output appenders
f891543df7d Properly check for FuzzyScore.Default value. This was a regression from 37a4b96ae1820d21d215b460006e0baab471d6cc
afd102cbd2e Trusted Workspaces Feature Branch Merge (#115961)
01a3787cca0 Remove 'grant access' badge when done, fixes #115950
659245f86ca append or replace mimetypes.
03fdd53f968 append/replace output items
7323c520847 testing: avoid showing 100% if any test failed
ac60c82c7d7 add tests (#115944)
008e5c73371 RenderType.mainframe
90327ba10fd rename.
9f4772a98f1 rich mimetype renderer refactor
fc336c97d97 allow \closedWith comment to add unreleaded label itself
3c6756c11c9 Remove unused trigger
cfaf161c497 Bump actions (for the last time! moving to `stable` branch vs release tags)
5024a7053a0 convert output exthost/main. not optimized.
d68691c4445 fix  #115931
152ccfbf3ab Update .mailmap
125bbba18dd Add self to mailmap
686f84aacf3 Fix typo
bdd51f1a048 Add name to mailmap
6302319a4ab Fix Emmet yarn lock
acb1bfa51c6 Update distro
cd725da2b22 xterm@4.11.0-beta.3
4fc8dc82f35 Fixes #110496 - use builtin gestures for open/diff
0a972947a13 no error and stream output anymore
3c17b03d3d1 💄
175ac0e0e53 OutputDto always has id
a3ef2648025 internal output types always have id
392128e1fe5 enable diff decorations first.
339d6ddf183 Fix #115854, #115839
ae0cfa4ec4c fixes #115810
9ec337bb49c BreadcrumbsControl#update should know when something changed, https://github.com/microsoft/vscode/issues/112630
c11bf9d7dfd register open explorer command with container
e60bc310b8e move window logging to main
e136ed66fd3 todo-comment update
70d355c42fa Fixes #115786: Handle overlapping semantic tokens
26e6d9e93ad Set the remote ext host pid and name (#115891)
c88888aa9bc wip: support overlay context key service
46c91d443a1 Update distro
80a738c2ffa Merge pull request #115758 from microsoft/tyriar/115053
daf7dd408b8 appFolder -> execInstallFolder
6b3d7512061 Merge pull request #114566 from microsoft/tyriar/92038
6848fcd7b0c Merge remote-tracking branch 'origin/master' into tyriar/115053
a4a6607ceb0 Use weak shell quoting for npm tasks with -- Part of #115876
631cc755d64 Resolve some todos
b3a0d081aea add deprecation tags,  remove unreferenced types, add more todos
3c7fc6d6a0d fix unused import
d33b89256ea [css][html] Option to disable MDN Reference popups only (without effecting other functionalities). Fixes #97979
1b4a9029355 Revert "remove used dto interfaces"
8522c22cb4f remove used dto interfaces
6f936f91fb0 remove need to massage ids onto output items
8737b166361 💄
bfa8e4e4005 Merge remote-tracking branch 'origin/master' into tyriar/92038
c54fb3c0d16 Fix remove recent task causing configure to run Fixes #114679
251e3e6ee33 Improve port hover Fixes microsoft/vscode-internalbacklog#1757
06e002eb16a Avoid deprecated assert methods
20f3ece2e09 Handle input on Android Fixes microsoft/vscode#107524 Fixes microsoft/monaco-editor#48 Fixes microsoft/monaco-editor#528 Fixes microsoft/monaco-editor#562 Fixes microsoft/monaco-editor#563 Fixes microsoft/monaco-editor#1538 Fixes microsoft/monaco-editor#2261 Refs microsoft/vscode#107602
6558f865330 `self.trustedTypes.createPolicy` is undefined in web workers on Android
7e25b47e662 Merge pull request #115809 from ferenczy/bugfix/wordBasedSuggestionsMode-typo
f3fd96e0f9f add NotebookCell#output2
0b4c2d48dc1 update distro
587ebc5d2ee Fix: wrong event for `onDidSaveNotebookDocument`
a9b412330a4 remote cli: open URL: %2F  lost. Fixes microsoft/vscode-remote-release#4421
cdc8628d55e rename log service to logger
cf0b1a89265 debug: when focusing sessions from drop down give priority to stopped sessions
77bbee524f9 make extHost only send ITransformedDisplayOutputDto (convert error, text output inside the ext host)
cbc01b9a7b4 Don't leak RPC objects from API (#115679)
70cd3b36bac fix yarn lock changes names
84c635738d0 naming
a059d1deae8 more API proposals
e9c65a7e625 Supplementary function parameter types
17e0b26a858 Supplementary function parameter types
52838cf6799 Add back logging to open service.
dae51e3d5eb Revert "Fix build.."
28bd11549a4 Fix build..
a53084475d9 Add logging to help daignose. github/codespaces#2248
a7fbb92962d Revert "Revert "Don't modify _resolvedUriTargets after first set.""
f5f040052c2 Revert "Don't modify _resolvedUriTargets after first set."
2ff5b909bac fix smoke test typings.
0df177fe393 fix tests.
b84cadf3f83 Don't modify _resolvedUriTargets after first set. Maybe a fix for github/codespaces#2248
8c1c32be6d4 Update commonEditorConfig.ts
f2b87fd6cd4 Extensions do not update cell outputs/metadata directly.
99f71a032ea tweak settings for macos web
4d6d2266fac reuse display output as the single output type for rendering
12eb0b72541 updating web menu behavior refs #114200
2fda718ad71 Fixes #115801 - improves conflict decorations
916c13921dc onload => addDisposableListener Ref #115325
28b81efa20f Move configure terminal settings to registerAction2
b32502b95c0 Add terminal view item to view file
98f697844a3 Make switch terminal action use registerAction2
193173c8289 Fixes #114361 - adds branch/repo to aria label
c30770a4256 Hide copy when no selection (disable would be ideal)
b751e8a137c Select default shell
bead496a613 Use object-fit: contain to keep image at proper aspect ratio. Ref #115325
beee6b13f7e Split terminal in active workspace
4dfab617e0b Merge branch 'sandy081/smoketests/remote'
63310d91d3c remove install extension
698eea649ea Remove editor from preview on interction.
a0855b30c70 Use rmdirSync instead of rimraf
a81dd8df862 IRawOutput -> IOutputDto
9db9edc09e0 Paste getAction
b5ba200088a output always contains id
6826c825d8a Compress images (ref #115327)
464492ff0bc Terminal getActions: Create terminal
b90b70e7e30 Scale images down under assumption they're exported at 1.5x Closes #115325.
5838880151b Allow for dark/light/hc imges. Closes #115327.
1c60676ac69 Terminal getActions: Kill terminal
c023260cc7c rename menubar visibility default to classic refs #114200
8132711922b Fill in context menu more
fd2ce701b69 testing: fix locale string
5b2dc0cad22 npm: move debug script lens into npm, clean up parsing logic
05b3f6f7adf re #115717
01406096de1 remove unused self size monitoring.
66415d85066 Merge pull request #115775 from microsoft/merogge/terminalUnitTest
5e27d3966dc fix #79692, re-enable test
087b0081983 debug: store debugUx state key to reduce flashing
668a6401f60 build - increase timeout for integration tests to 10min
6e3d5182253 Add context menu copy back
7c0be00b979 only update terminal dropdown options if they've changed (#115720)
e88863d191f polish task name message in debug anyway dialog
424b2212e00 debug: propose to debuAnyway if the problemMatcher is not defined
7804da86f09 Update Codicons: add 'git-pull-request-create' 686357b717
62ce116f106 Terminal getActions: Select all
a9bc2be6ce4 Terminal getActions: Copy selection
e9a9a479810 fixes #114914
422361234ff fs - still return child even if unknown (#115645)
190733e9d32 more API todos, NotebookCellOutput#id
116f8f61e1f Merge remote-tracking branch 'origin/master' into tyriar/92038
3973012a9cd Only getPackageManager once per folder Part of #115384
f6581675046 Rename appDirname -> appFolder
3bd244bcf25 Merge branch 'master' into sandy081/smoketests/remote
900f1a1c5f6 iconExtensionPoint: improve descriptions and nls keys
52ecf853209 Check for drive letter without slash in file picker Fixes #114567
2d10baa51af remove NotebookCellOutput#metadata
e83180b96f2 Merge branch 'joao/scm-menu-actions'
3421442c963 💄
42cdb7fa0b5 fixes #115677
684f61b4567 Allow to contribute to icon registry from icon contribution point. Fixes #114942
082af46e665 base icon regexes on shared expressions
ab43469e12b Use role 'none' for some parts to make screen readers less chatty
c178440297c update distro
94bc75db66d Merge branch 'master' into sandy081/smoketests/remote
a54d8b23c13 fixes #114908
4afd8c709c8 Catch expected exception in tree view test Fixes #113896
056d6609183 Merge branch 'master' into sandy081/smoketests/remote
a93d3178841 update package json
cb537dd4e82 fs - provide a fallback when readdir with filetypes fails (#115645)
be820b8f425 Fix custom iconLabel hover flickering on description Fixes #114230
2b6bd236136 Fix #115690
70d9246943b fs - use our readdir method everywhere
d4b65868f2d enable the test
0494790a5ee fix https://github.com/microsoft/vscode/issues/115746
9572b419cbd test not running - enable remote check
2c00f1afc97 Add validation message for portsAttributes Fixes microsoft/vscode-remote-release#4365
72e8e9f5bef fs - do not log an error when watching results in ENOENT
914cef30d50 integration tests - disable minimap to reduce error output (#115747)
bd20a720fba Rename "Existing Tunnels"
3c3686e0fbc check only extension
66a1a9bee37 fs - 💄 symbolic links handling
6250b9fde91 🆙 distro
30ba42cf462 fs - fix leftover todo
0eb2d4556a2 Modernize pfs file system library (#115695)
4bdba123d24 use PersistKeySet
265d5da0b34 remove unused buildunit-files, fyi @dbaeumer
d62c307366e fs - fix tests on windows
55ab8b53f80 Merge branch 'master' into sandy081/smoketests/remote
acedbdf50b1 update distro
0ecd7f72d8e add remote server cli test
a0d9df38adf Merge remote-tracking branch 'origin/master' into joao/scm-menu-actions
f4581645226 fs - add test for symbolic link handling when link points to source
ba35190e9cc limit editor title bar actions to 7 entries, https://github.com/microsoft/vscode/issues/115198
866c0160d47 fix build.
43beff622ac 💄
55d04df641d Fix #115316: Getting started back button looks unstyled
9ddea6f385e chore: bump electron@11.2.2
041f9b975b0 fix missing total height change event.
e984154e118 merge stream output in rendering
5d650cd8178 Allow setting startupEditor to `readme` as either default value or user value. Fix github/codespaces#1580
370a7ee077d Don't show a modal on 'getSession' for access requests if 'createIfNone' is false, fixes #111529
a9ccd48a1f7 enable extension tests in web
d6ebd887f73 Merge branch 'master' into ben/modernize-fs
bc0645202f3 fix build.
eac031eedd7 💄
46c10294642 Fix #115316: Getting started back button looks unstyled
ff85144fdd3 chore: bump electron@11.2.2
4e6d9ce2b79 add server cli test
cc58f84bfef Merge branch 'rebornix/stream-output'
cda6949fedd scm: hide actions when no repos are open
9c479a4518d enable remote smoke tests
2402c94e8ea scm: collapse all menu item
4beba243a03 fix missing total height change event.
6931bc71320 merge stream output in rendering
acc0d4206e1 💄
d2eaafb9078 scm: sort actions
3842f92113a scm menus: RepositoryVisibilityAction.precondition
ff7921ebd13 Allow setting startupEditor to `readme` as either default value or user value. Fix github/codespaces#1580
066c5844050 enable remote smoke tests
5115a8eae79 Don't show a modal on 'getSession' for access requests if 'createIfNone' is false, fixes #111529
55579f367af update distro
caca11f2997 Bump Emmet to fix #115623
1925f5ce16c xterm@4.11.0-beta.2
ef0657580f9 fs - preserve symlinks properly
59cf8810d92 Remove min-height from input box message Looks like the 34 here is just an old leftover
f7ffeda190d scm menus: RepositoryVisibilityActionController
9dbc765a385 Add appDirname variable
dfc2a6c1ae2 Fix codicon tree action vertical alignment
2d31774a528 fs - provide an option to `copy` to preserve symlinks or not
056418cb9f8 Improve portsAttributes setting description Fixes microsoft/vscode-remote-release#4373
268bb6ea737 Scroll input right when setting selection at end Fixes #115152
c5bf12802f1 Fix #115699
02fddad16d9 scm: more menu refactorings
429f1bae119 fixes #115625
28359b13691 Fixes #115588: Dispose everything associated with the extension host before attempting to close window
45bf35664a9 💄
805d7949eb4 Use relaunch function instead of reuseTerminal
4f237e52bb9 scm menus: view mode toggles
00d81156476 Merge branch 'master' into ben/modernize-fs
a00411c7e8b Debug Console, Copy All (to clipboard) do not include source file name
bab55b86fc5 Merge pull request #114182 from susiwen8/113389
4bc335b05ab Introduce setting debug.console.collapseIdenticalLines to disable collapsing identical lines in Debug Console
376716d1aee status bar - don't leak RPC objects from API (#115679)
538f72e2a7b Fixes #115662: Add support for escaping `@` as `@@` in regular expressions to avoid replacement
26ffdab0be4 Merge branch 'master' into joao/scm-menu-actions
495ed055117 fs - preserve symlinks when copying them (#114881)
06c0dbe6162 fix compilation error
2525f3e2763 Merge branch 'master' into pr/113673
7c90e1f5ba9 fixes 115685
67ccf8c649e Add open preveiw action to port notification and setting (#114572)
8d7157ed451 Make task definitions dynamic Fixes #114793
1cab95f5b6c fs - fix compile error for now
aca5d3ea2e9 fs - merge readdir functions into one
7e05f9f0821 add appendCellOutput API proposal and implementation
aaf7b923c6c fix: prevent scroll when list focused in zone-widget (#114912)
6675687f9e2 Merge branch 'joao/fix-100151'
03fd1a32c0f 💄
73c5b484f34 fixes #100151
b28cd23d521 fs - more removal of promisify utility
6ca7afa84fb add support for `application/x.notebook.error-traceback` mime type
dbf6147c01e fs - remove promise based methods from pfs and replace with fs.promises
42436d5a7be Merge pull request #115665 from microsoft/ben/113703
a17c656c330 fs - some polish around file services
a01d16e77e9 debt - use a native private property in ExtHostQuickInput
194e1c5f1c8 fs - retry async rimraf unlink
e2f7159745c fs - remove custom rimraf solutions
c399d039a71 debt - don't expose MainThreadNotebookShape from NotebookEditorDecorationType
60ce9ab9c5a #115590 More tweaks
74937e0a89b Merge pull request #115530 from microsoft/joh/norpc
944c4b4fced fs - drop our custom rimraf solution and use node.js
2cf80f97cc1 Azure DevOps - Add global variable for VSCODE_QUALITY (#115636)
aa840d53d28 Move action microsoft/vscode-github-triage-actions
e99ec0c6e54 do not register open command for generated view containers
7690293ae20 clean up and add some doc
5b913c0cc21 Merge branch 'master' into ben/modernize-fs
ef1f94d969b "Select for Compare" is available for WebView tabs (fix #113703)
63ad2bafafa Fix #115321: Getting started Skip button does not use pointer cursor and has really wide click target
b7e588f2c64 Fix #115322: Getting started "Next" button in step is not keyboard accessible
4f8637eb541 Dont contract item on reload
bcf14260d2d Make sure contibuted openers are cleaned up if they are renamed for an extension that is not uninstalled
34e46f2e67d Support anyOf for rich settings editor (#115648)
51e6c241d1b Change click on selected item to deselect it.
a9e6b93132e Fix #115393
5f3c37f918d fix #115099
82812ed8c93 Treat clicks on the image the same as clicks on the button. Fixes #115320
316a1d86e09 Enable rich settings object editor for schemas that use anyOf (#115642)
352d5df7728 Mark functions abstract for settings tree (#115643)
617095939f4 Fix #115323: Getting started pressing enter when when the step has focus does nothing
dfe10d0baf5 Get started color polish (#115331)
a105ccb4363 #115289 fix show explorer command
cba8232d778 update seti & add preview page
570f46ddf20 #115289 - register view open action - use view open action id if view container open action is not registered - do not register view container open action for panels and some viewlets
ef64c83ef29 Fix #115429: Search keyword is cleared after window reload
01216213efa improve terminal title sanitizing, fix #115291 (#115634)
a881dd44ccd support running active files with filenames containing parenthesis (#114946)
66635b8bd6e remove unknown content change in nb text model.
acb300b004b Merge pull request #115630 from microsoft/rebornix/multi-selection
5d84ee5c192 Ensures icons are contained
06fc252b9a4 Prioritize import quickfix over spelling
501274f1d7a Fix #115633
04abcc03381 yarn watchd does not detect interface change again.
16d84195625 smoke test
5ec17aba95e fix build in exthostnotebook
04e6c8638ec Prevent decoding URI the user is trying to open externally (#115615)
3c79b84e34c Update Codicons: add type hierarchy, table, and variable-group icons 6e29ef1dae 39a2dd5bba
57488b54303 Fix #115595: Search editor: respect `soft` option in `revert`
4aa4d1f65f7 Revert "Add a dialog box when opening unsaved files in a custom editor (#114947)" (#115627)
33f49b2363c Add a dialog box when opening unsaved files in a custom editor (#114947)
c3c0db94f3d Merge remote-tracking branch 'origin' into rebornix/multi-selection
c4f273e3dfe fix tests.
9c4d2480630 fs - avoid one exists() call
0677d5e6f62 fs - sort pfs and introduce SymlinkSupport namespace
3088c27fbdc debug: mark terminal as free when the associated debug session ends (#115573)
6662709200d Merge pull request #115578 from obsgolem/master
e6712df1110 Simplify logic
b60478452fa [themes] fix dept in default theme files. Fixes  #111877
f345c732a3e Allow moving to blank lines also by model lines
7a6a45fb2c1 browser tests - fix regression from updating playwright
76e6174c90b validate yarn.lock changes in PRs
3c6e1758ecf Convert to use PrevBlankLine / NextBlankLine in the "to" argument.
2808625686b No need to create aliases
1a016a67b2e 🆙 deps
d50306793fc Upgrade Playwright to v1.8.0.  (#115241)
507e210014e Sentence casing on terminal link text Fixes microsoft/vscode-remote-release#4363
970d920f5bd fs - modernize `move` and add comments
3debe292293 #115590 tweak wordings
21aa14f0642 remove ext.ts
653e409f480 Merge pull request #115336 from rluvaton/patch-1
085185259ff Env var changes will restart terminal automatically
fd978d6feac Merge pull request #115190 from PathToLife/pathtolife/double-press-keybind
b8737236efd Minor tweaks
3022afaeaa2 Minor refactorings
2fb57aa3b64 Revert do not show compare for markdown preivew
a0d76bb9834 fs - drop pfs.mkdirp in favor of node.js
ca746af08ab fix hygiene
35e1ee2ecc0 ext: extract to disk
72a9a9ca395 Simplify code
3079c2245ce Only restore non-auto-forwarded ports Fixes #115216
a77a89eaef4 Also handle single modifier keybindings in `StandaloneKeybindingService`
cfc22176e62 Add tests, some renames & refactorings
7e714f4d25e more notebook API todos
c3b556727e2 fix update-grammars script
8bf9b56adec Merge branch 'joao/extensions'
fa0e0004772 💄
f92b41b5d5e Add defaultSnippets for portsAttributes Fixes microsoft/vscode-remote-release#4382
7e0230677aa improve ext ci output
c770c381978 update notebook milestones
9dcecc01c6f fix https://github.com/microsoft/vscode/issues/115353
6b2a14afc68 Prevent two task defaults Fixes #115281
56dfaf8b985 #115522 adopt to settled promises
b2d303d16e7 ext: allow anonymous access
42fcb8d7c55 Custom editors: improve the generic save error notification (fix #115598)
abb05eb058b Fix #115586
83935a961f0 Merge pull request #115452 from jogo-/patch-1
7020ccf1346 #115289 show only default containers in view menu
3feb8937a80 editors - make sure to always remove pending confirmations even in error case
4342faa67cf backup tracker - wire in cancellation token
867b60d649e backups - show cancellable progress for backup/revert too (#115028)
04d4310a8a5 fix smoketest (#115586)
2604a356e27 Fix typo in papercuts.github-issues
ee29ad444b7 Include closed issues too for verification found.
d45a8915d27 transient metadata should be used to control the content change and dirty state.
f96b651052a we should only use comm object to communicate.
36e0c46923e Merge branch 'master' into rebornix/multi-selection
be9de77eb40 Added a new "blankLine" option for move units. This option will move the cursor to the next/previous line which consists only of whitespace, skipping over folded or otherwise hidden lines.
d9ff550d02d Add intellisense for onOpenExternalUri activation and rename event
7d5052f5084 Set permission handlers for webviews
d99c218e9b2 Make sure we always apply TS auto imports, even if VS Code applies the completion before it has been resolved
60bb22ddd3c Use `test` instead of `match`
7490ac87e19 Fix spelling
5851bcab4d9 Use `?.`
c3699dc01db Fix wording on error
4ccfa1d019b Fix spelling
6f1fbfdd935 Inline object map type
8c3e6cd9ee2 Fix spelling
4e00f75408e Remove stubs file reference protocol
6fed1b63833 Uses background flag for better perf/mem usage Filters out deleted resources
ed410a1cc04 adopt icon descriptions fixes from vscode-docs
925d9234b86 Pick up latest TypeScript 4.2 nightly
833bae4fd91 Add more explicit implementations of ICustomEditorInputFactory
0f9ff35c82a Fix #115289
61decba0335 fix extension categories sort order
efaceb5f682 Enable 'Install Additional Product Icon Themes'
82af67ebce4 Plumb etags through rest of the webview resource pipeline (#115360)
80ba07df03b notebooks: add generic colors for renderers (#109412)
d5685965c5e Fix keybinding for Search view missing from view and sidebar #115556
0eaf57957fb typeahead: line wrap improvements
7583817a12a added unreleased fixes to endgame notebook
a5a33501be1 chore - group notebook specific api proposals together
b37252c1823 Update grammars
a99dd66f0f7 test more results of create-functions
02d28757e88 💄
76962b2583a ext: ci command
2ceeaeb6814 hide proxy from TextEditorDecorationType
abbc2e305d7 more API todos for notebooks
c9a7425b903 Merge branch 'master' into pathtolife/double-press-keybind
750888c4967 Merge pull request #114957 from TacticalDan/tacticaldan/scrollingPerformance
b82933a1d2a Limit to 8ms (120fps)
0ac7f0ee830 Merge branch 'master' into tacticaldan/scrollingPerformance
3ec92ad8ad5 Better hiding of custom hover in icon label
a5b078b5514 debt - adopt some ? operator
bc837b7162e 💄 dialog main service locks
a0c75f60530 add tests for createXYZ functions and skip most of them...
38ca4695d10 Fix #114432: Multiple save dialogs appearing on Windows if Ctrl+S is pressed multiple times (#114450)
178e7034bc4 simplify map creation, fyi @bpasero
03da2de889c add proper yarn.lock files
a0cb5c5a46e Fix port label not always getting set Part of microsoft/vscode-remote-release#4364
ad8f7e18728 Fixes microsoft/monaco-editor#2329: Move `registerThemingParticipant` call to `/editor/`
38db1778aa1 adopt built-in extensions
b24036eaa27 Use label as tooltip fallback properly Part of #115337
2681e07db46 more notebook todos
53ae79d62d9 Avoid the CSS general sibling combinator ~ for perf reasons
ddd678ab297 debug console menu action polish
f37f96bbec3 Merge pull request #115261 from microsoft/alex/language-config-priority
47390dbe1b1 Fixes #115221: update emoji tests
300effb0c8f add some notebook API todos
3d2ca29012c hide terminal proxy
a60beb9d7a8 don't leak proxies in editor land, also remove indentSize property which isn't API
82c629eb3a4 hide tasks in TaskExecution
46cf57b2646 a bunch of failing tests
930b5686ffa add todo
3114b1c4c52 hide rpc proxies
4cfd5f85080 clipboard changes
1ecf01b9c71 mark rpc protocol and proxies with symbols and try to find them from an API test (with success...)
01e92bdc93c debug: do not render checkmark in view menu for the debug console
b08c1eb5bce Merge pull request #115345 from shskwmt/fix/115154
1f4506183c4 for now remove isSaving() implementation from custom editors (#115526)
34ca1211023 adopt Promises.settled
00a199daf73 Merge branch 'master' into fix/115154
8b510618c89 Merge pull request #115401 from microsoft/tyriar/115390
0627cf0a2d2 event - adopt Promises.settled in async emitter (#115522)
769ad06e7c1 Promise.allSettled - use native variant if it exists
71bd9c5032c Revert "event - adopt Promises.settled in async emitter (#115522)"
643cbb2aaa6 Fixes microsoft/monaco-editor#2328: In some webpack configurations, `process` can be defined, while `process.nextTick` is not
126959896ff event - adopt Promises.settled in async emitter (#115522)
5c7fc5da28e Fixes #112382: Use replacement characters when doing dom based line break computin
c2759462f8b backups - catch errors on shutdown and don't show modal dialogs in extension development (#115028)
0ca20779b5b Promise.all() does not await all promises when one throws (#115522)
08c73d7b6e4 history - make sure to track file renames properly (#113277)
8d6164f25d1 🆙 chokidar@3.5.1
d30c12dc6b3 debt - fix some types in bootstrap JS files
a9b98904880 Improving performance of tree traversal getViewState function (#115387)
f5bb67e37aa Unit tests cleanup (#115377)
6a1c7a5097d Fix #115509, register a separate action for opening serch editor from view
9e152f9a193 Fix #11511 Search Mode setting does not open editors unless search view is visible
50ec8ea6e76 Merge branch 'master' into patch-1
ef2c97e92f6 Fix spelling in papercuts.github-issues
a916ce9076c Add "overflow: hidden" style to split-view-view within integrated-terminal
81ae94a9dc8 bump version to 1.54.0
ec805db5eda add repository field to extensions package.json
9a5d14e307a run prettier over extensions json files
1e8d0be3761 Make term config tests await config
3921d63e64f Add "overflow: hidden" style to split-view-view
c628fd10fb0 Merge branch 'master' into patch-1
80f20b3d9f2 fix(workbench): add forgotten escaping in regex
b0ac7e40bbd add Julia grammar
8471235643e Give a higher priority to language configuration set via API call (#114684)
9548fe4af9e bugfix - fix macos not working because scan code was removed - add isModifierKey() logic to scanCode.ts, consistent with windows keyCodes.ts
b14064fbf84 minor commit - fix comment inconsistency - rename function camelCase
d8a474947ce fix comments
de4b1289848 fix PR Layers check
27fc6204873 comments
26c709a7c6a Merge branch 'microsoft-master'
28b3a7e3a93 New method to avoid regression, found via unit test, related to modifier keys being ignored in getDisptachParts()
301b9f7ed77 working on fixing unit test regressions
c67f42f1b51 Fix modifier key triggering chord - revert removal of shift key
4d0d77f9b12 remove attempt at fixing shift+[shiftleft] binding - better solution to be commited later
ae426b39b18 macos implemented double shift keybind windows initial implementation
bc0262a6645 Revert "hack to make double shift possible in widget"
6794401b7c8 minimal changes
5e948799db0 fix build
b2600b23d5b Cut keyboard shortcut support mutli selection
86a88180596 multi selection in notebook
601161f8dd0 Reduce arbitrary event limiter from 16ms down to 4.16666 (support for monitors up-to 240hz) #107016
caac9511a73 windows attempt at "shift shift" - still bugged
5ed3c977bdc hack to make double shift possible in widget
03c59637b69 wip
160bdf06b34 wip: adopt menu actions in scm
768ace7b7f1 Merge branch 'master' into 113389
9be03fe29b2 Fix: add alwaysConsumeMouseWheel for list
3563e2b7403 rename run to exec for consistency
REVERT: 622cb03f7e0 Merge pull request #116444 from microsoft/alex/stable-fix-116060
REVERT: 5933e313e5d Fixes #116060: Clone minimap options before changing them
REVERT: f3a12e053e1 Pick up TS 4.1.5 (#116380)
REVERT: 3b9cef2b8d1 Bump Emmet (#116230)
REVERT: 8757f67bcda fix #116049 (#116319)
REVERT: 73c0a56bbd2 Merge pull request #116311 from microsoft/joh/fix/116094
REVERT: 5cf34afa107 Use weak shell quoting for npm tasks with -- (#116309)
REVERT: 6635ca9a64e Merge pull request #116245 from microsoft/connor4312/debug-repl-fix
REVERT: 65406fcea58 fix https://github.com/microsoft/vscode/issues/116094
REVERT: 43e11faf4ee fix: CreateFile ERROR_FILE_NOT_FOUND from crashpad handler (#116256)
REVERT: 17d65083f6c debug: replace element when appending text to ensure updates in repl
REVERT: 9d194eac0d7 This reverts us to the previous distro commit (#116218)
REVERT: 1fe57f42761 Merge pull request #115789 from microsoft/rebornix/fix-notebook-runstate
REVERT: d63ab6acdbd bump version to 1.53.2 (#116228)
REVERT: 4aff7304539 Merge pull request #115772 from microsoft/misolori/1.53/create-pr-icon
REVERT: 678843ff3ad fixes #115810 (#115943)
REVERT: e1ec11f5183 always fallback to plain text (#115860) (#116177)
REVERT: 615ea78d96a status - update background color (#115886) (#116181)
REVERT: 00d7f953055 add changes (#116223)
REVERT: 3c19fc731cb Pick up the official TS 4.1.4 build (#116222)
REVERT: 5d424b828ad Pick up new distro version and bump version (#116149)
REVERT: ee2c947e064 ci: update newer 11.2.1 for CVE-2021-21148 (#115951)
REVERT: e23884b9476 re #115717
REVERT: 5da053f081f Update Codicons: add 'git-pull-request-create' 686357b717
REVERT: 7f04ecd68be use PersistKeySet (#115744)
REVERT: 8490d3dde47 Merge pull request #115701 from microsoft/sandy081/fix115699
REVERT: 1d6c8826375 Fix #115699
REVERT: f84decb78f3 Merge pull request #115686 from microsoft/isidorn/openEditorsCollapsed
REVERT: 203b86d14c5 fixes 115685
REVERT: 83f7a99bd95 Azure DevOps - Add global variable for VSCODE_QUALITY (#115636) (#115673)
REVERT: e1c818a1711 Merge pull request #115655 from microsoft/rebornix/fix-jupyter-activation
REVERT: 761dd469c13 chore: bump distro
REVERT: 8d779a4fada Merge pull request #115609 from microsoft/joh/fix115353
REVERT: 30fe91131c9 Merge pull request #115611 from microsoft/isidorn/selectForCompareUntitled
REVERT: 8dbf3d717b2 Revert do not show compare for markdown preivew
REVERT: bc38ed1b5a3 fix https://github.com/microsoft/vscode/issues/115353
REVERT: 65006668d07 Merge pull request #115547 from microsoft/aeschli/installProductIconTheme
REVERT: b99487f4168 Fix keybinding for Search view missing from view and sidebar (#115558)
REVERT: feda473d978 Enable 'Install Additional Product Icon Themes'
REVERT: 565dc9704f2 Use label as tooltip fallback properly (#115537)
REVERT: c02643e3c95 Properly set port label from ports attributes
REVERT: ae05392454a Merge pull request #115536 from microsoft/isidorn/debugConsoleCheckmark
REVERT: e4a65573a89 render "Debug Console" action after a separator
REVERT: a62c65bdb74 ignore focus when toggling debug console visibility
REVERT: 4d98741552d debug: do not render checkmark in view menu for the debug console
REVERT: ad232b0ac13 Fix #115509, register a separate action for opening serch editor from view (#115514)
REVERT: 4eb39372949 Fix #115511 Search Mode setting does not open editors unless search view is visible (#115513)

git-subtree-dir: lib/vscode
git-subtree-split: fd6f3bce6709b121a895d042d343d71f317d74e7
2021-03-11 10:27:09 -07:00

1133 lines
37 KiB
TypeScript

/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as assert from 'assert';
import * as vscode from 'vscode';
import { createRandomFile, deleteFile, closeAllEditors, pathEquals, rndName, disposeAll, testFs, delay, withLogDisabled, revertAllDirty, assertNoRpc } from '../utils';
import { join, posix, basename } from 'path';
import * as fs from 'fs';
import { TestFS } from '../memfs';
suite('vscode API - workspace', () => {
teardown(async function () {
assertNoRpc();
await closeAllEditors();
});
test('MarkdownString', function () {
let md = new vscode.MarkdownString();
assert.equal(md.value, '');
assert.equal(md.isTrusted, undefined);
md = new vscode.MarkdownString('**bold**');
assert.equal(md.value, '**bold**');
md.appendText('**bold?**');
assert.equal(md.value, '**bold**\\*\\*bold?\\*\\*');
md.appendMarkdown('**bold**');
assert.equal(md.value, '**bold**\\*\\*bold?\\*\\***bold**');
});
test('textDocuments', () => {
assert.ok(Array.isArray(vscode.workspace.textDocuments));
assert.throws(() => (<any>vscode.workspace).textDocuments = null);
});
test('rootPath', () => {
assert.ok(pathEquals(vscode.workspace.rootPath!, join(__dirname, '../../testWorkspace')));
assert.throws(() => (vscode.workspace as any).rootPath = 'farboo');
});
test('workspaceFile', () => {
assert.ok(!vscode.workspace.workspaceFile);
});
test('workspaceFolders', () => {
if (vscode.workspace.workspaceFolders) {
assert.equal(vscode.workspace.workspaceFolders.length, 1);
assert.ok(pathEquals(vscode.workspace.workspaceFolders[0].uri.fsPath, join(__dirname, '../../testWorkspace')));
}
});
test('getWorkspaceFolder', () => {
const folder = vscode.workspace.getWorkspaceFolder(vscode.Uri.file(join(__dirname, '../../testWorkspace/far.js')));
assert.ok(!!folder);
if (folder) {
assert.ok(pathEquals(folder.uri.fsPath, join(__dirname, '../../testWorkspace')));
}
});
test('openTextDocument', async () => {
const uri = await createRandomFile();
// not yet there
const existing1 = vscode.workspace.textDocuments.find(doc => doc.uri.toString() === uri.toString());
assert.equal(existing1, undefined);
// open and assert its there
const doc = await vscode.workspace.openTextDocument(uri);
assert.ok(doc);
assert.equal(doc.uri.toString(), uri.toString());
const existing2 = vscode.workspace.textDocuments.find(doc => doc.uri.toString() === uri.toString());
assert.equal(existing2 === doc, true);
});
test('openTextDocument, illegal path', () => {
return vscode.workspace.openTextDocument('funkydonky.txt').then(_doc => {
throw new Error('missing error');
}, _err => {
// good!
});
});
test('openTextDocument, untitled is dirty', async function () {
return vscode.workspace.openTextDocument(vscode.workspace.workspaceFolders![0].uri.with({ scheme: 'untitled', path: posix.join(vscode.workspace.workspaceFolders![0].uri.path, 'newfile.txt') })).then(doc => {
assert.equal(doc.uri.scheme, 'untitled');
assert.ok(doc.isDirty);
});
});
test('openTextDocument, untitled with host', function () {
const uri = vscode.Uri.parse('untitled://localhost/c%24/Users/jrieken/code/samples/foobar.txt');
return vscode.workspace.openTextDocument(uri).then(doc => {
assert.equal(doc.uri.scheme, 'untitled');
});
});
test('openTextDocument, untitled without path', function () {
return vscode.workspace.openTextDocument().then(doc => {
assert.equal(doc.uri.scheme, 'untitled');
assert.ok(doc.isDirty);
});
});
test('openTextDocument, untitled without path but language ID', function () {
return vscode.workspace.openTextDocument({ language: 'xml' }).then(doc => {
assert.equal(doc.uri.scheme, 'untitled');
assert.equal(doc.languageId, 'xml');
assert.ok(doc.isDirty);
});
});
test('openTextDocument, untitled without path but language ID and content', function () {
return vscode.workspace.openTextDocument({ language: 'html', content: '<h1>Hello world!</h1>' }).then(doc => {
assert.equal(doc.uri.scheme, 'untitled');
assert.equal(doc.languageId, 'html');
assert.ok(doc.isDirty);
assert.equal(doc.getText(), '<h1>Hello world!</h1>');
});
});
test('openTextDocument, untitled closes on save', function () {
const path = join(vscode.workspace.rootPath || '', './newfile.txt');
return vscode.workspace.openTextDocument(vscode.Uri.parse('untitled:' + path)).then(doc => {
assert.equal(doc.uri.scheme, 'untitled');
assert.ok(doc.isDirty);
let closed: vscode.TextDocument;
let d0 = vscode.workspace.onDidCloseTextDocument(e => closed = e);
return vscode.window.showTextDocument(doc).then(() => {
return doc.save().then((didSave: boolean) => {
assert.equal(didSave, true, `FAILED to save${doc.uri.toString()}`);
assert.ok(closed === doc);
assert.ok(!doc.isDirty);
assert.ok(fs.existsSync(path));
d0.dispose();
fs.unlinkSync(join(vscode.workspace.rootPath || '', './newfile.txt'));
});
});
});
});
test('openTextDocument, uri scheme/auth/path', function () {
let registration = vscode.workspace.registerTextDocumentContentProvider('sc', {
provideTextDocumentContent() {
return 'SC';
}
});
return Promise.all([
vscode.workspace.openTextDocument(vscode.Uri.parse('sc://auth')).then(doc => {
assert.equal(doc.uri.authority, 'auth');
assert.equal(doc.uri.path, '');
}),
vscode.workspace.openTextDocument(vscode.Uri.parse('sc:///path')).then(doc => {
assert.equal(doc.uri.authority, '');
assert.equal(doc.uri.path, '/path');
}),
vscode.workspace.openTextDocument(vscode.Uri.parse('sc://auth/path')).then(doc => {
assert.equal(doc.uri.authority, 'auth');
assert.equal(doc.uri.path, '/path');
})
]).then(() => {
registration.dispose();
});
});
test('openTextDocument, actual casing first', async function () {
const fs = new TestFS('this-fs', false);
const reg = vscode.workspace.registerFileSystemProvider(fs.scheme, fs, { isCaseSensitive: fs.isCaseSensitive });
let uriOne = vscode.Uri.parse('this-fs:/one');
let uriTwo = vscode.Uri.parse('this-fs:/two');
let uriONE = vscode.Uri.parse('this-fs:/ONE'); // same resource, different uri
let uriTWO = vscode.Uri.parse('this-fs:/TWO');
fs.writeFile(uriOne, Buffer.from('one'), { create: true, overwrite: true });
fs.writeFile(uriTwo, Buffer.from('two'), { create: true, overwrite: true });
// lower case (actual case) comes first
let docOne = await vscode.workspace.openTextDocument(uriOne);
assert.equal(docOne.uri.toString(), uriOne.toString());
let docONE = await vscode.workspace.openTextDocument(uriONE);
assert.equal(docONE === docOne, true);
assert.equal(docONE.uri.toString(), uriOne.toString());
assert.equal(docONE.uri.toString() !== uriONE.toString(), true); // yep
// upper case (NOT the actual case) comes first
let docTWO = await vscode.workspace.openTextDocument(uriTWO);
assert.equal(docTWO.uri.toString(), uriTWO.toString());
let docTwo = await vscode.workspace.openTextDocument(uriTwo);
assert.equal(docTWO === docTwo, true);
assert.equal(docTwo.uri.toString(), uriTWO.toString());
assert.equal(docTwo.uri.toString() !== uriTwo.toString(), true); // yep
reg.dispose();
});
test('eol, read', () => {
const a = createRandomFile('foo\nbar\nbar').then(file => {
return vscode.workspace.openTextDocument(file).then(doc => {
assert.equal(doc.eol, vscode.EndOfLine.LF);
});
});
const b = createRandomFile('foo\nbar\nbar\r\nbaz').then(file => {
return vscode.workspace.openTextDocument(file).then(doc => {
assert.equal(doc.eol, vscode.EndOfLine.LF);
});
});
const c = createRandomFile('foo\r\nbar\r\nbar').then(file => {
return vscode.workspace.openTextDocument(file).then(doc => {
assert.equal(doc.eol, vscode.EndOfLine.CRLF);
});
});
return Promise.all([a, b, c]);
});
test('eol, change via editor', () => {
return createRandomFile('foo\nbar\nbar').then(file => {
return vscode.workspace.openTextDocument(file).then(doc => {
assert.equal(doc.eol, vscode.EndOfLine.LF);
return vscode.window.showTextDocument(doc).then(editor => {
return editor.edit(builder => builder.setEndOfLine(vscode.EndOfLine.CRLF));
}).then(value => {
assert.ok(value);
assert.ok(doc.isDirty);
assert.equal(doc.eol, vscode.EndOfLine.CRLF);
});
});
});
});
test('eol, change via applyEdit', () => {
return createRandomFile('foo\nbar\nbar').then(file => {
return vscode.workspace.openTextDocument(file).then(doc => {
assert.equal(doc.eol, vscode.EndOfLine.LF);
const edit = new vscode.WorkspaceEdit();
edit.set(file, [vscode.TextEdit.setEndOfLine(vscode.EndOfLine.CRLF)]);
return vscode.workspace.applyEdit(edit).then(value => {
assert.ok(value);
assert.ok(doc.isDirty);
assert.equal(doc.eol, vscode.EndOfLine.CRLF);
});
});
});
});
test('eol, change via onWillSave', async function () {
let called = false;
let sub = vscode.workspace.onWillSaveTextDocument(e => {
called = true;
e.waitUntil(Promise.resolve([vscode.TextEdit.setEndOfLine(vscode.EndOfLine.LF)]));
});
const file = await createRandomFile('foo\r\nbar\r\nbar');
const doc = await vscode.workspace.openTextDocument(file);
assert.equal(doc.eol, vscode.EndOfLine.CRLF);
const edit = new vscode.WorkspaceEdit();
edit.set(file, [vscode.TextEdit.insert(new vscode.Position(0, 0), '-changes-')]);
const successEdit = await vscode.workspace.applyEdit(edit);
assert.ok(successEdit);
const successSave = await doc.save();
assert.ok(successSave);
assert.ok(called);
assert.ok(!doc.isDirty);
assert.equal(doc.eol, vscode.EndOfLine.LF);
sub.dispose();
});
function assertEqualPath(a: string, b: string): void {
assert.ok(pathEquals(a, b), `${a} <-> ${b}`);
}
test('events: onDidOpenTextDocument, onDidChangeTextDocument, onDidSaveTextDocument', async () => {
const file = await createRandomFile();
let disposables: vscode.Disposable[] = [];
await revertAllDirty(); // needed for a clean state for `onDidSaveTextDocument` (#102365)
let pendingAsserts: Function[] = [];
let onDidOpenTextDocument = false;
disposables.push(vscode.workspace.onDidOpenTextDocument(e => {
pendingAsserts.push(() => assertEqualPath(e.uri.fsPath, file.fsPath));
onDidOpenTextDocument = true;
}));
let onDidChangeTextDocument = false;
disposables.push(vscode.workspace.onDidChangeTextDocument(e => {
pendingAsserts.push(() => assertEqualPath(e.document.uri.fsPath, file.fsPath));
onDidChangeTextDocument = true;
}));
let onDidSaveTextDocument = false;
disposables.push(vscode.workspace.onDidSaveTextDocument(e => {
pendingAsserts.push(() => assertEqualPath(e.uri.fsPath, file.fsPath));
onDidSaveTextDocument = true;
}));
const doc = await vscode.workspace.openTextDocument(file);
const editor = await vscode.window.showTextDocument(doc);
await editor.edit((builder) => {
builder.insert(new vscode.Position(0, 0), 'Hello World');
});
await doc.save();
assert.ok(onDidOpenTextDocument);
assert.ok(onDidChangeTextDocument);
assert.ok(onDidSaveTextDocument);
pendingAsserts.forEach(assert => assert());
disposeAll(disposables);
return deleteFile(file);
});
test('events: onDidSaveTextDocument fires even for non dirty file when saved', async () => {
const file = await createRandomFile();
let disposables: vscode.Disposable[] = [];
let pendingAsserts: Function[] = [];
await revertAllDirty(); // needed for a clean state for `onDidSaveTextDocument` (#102365)
let onDidSaveTextDocument = false;
disposables.push(vscode.workspace.onDidSaveTextDocument(e => {
pendingAsserts.push(() => assertEqualPath(e.uri.fsPath, file.fsPath));
onDidSaveTextDocument = true;
}));
const doc = await vscode.workspace.openTextDocument(file);
await vscode.window.showTextDocument(doc);
await vscode.commands.executeCommand('workbench.action.files.save');
assert.ok(onDidSaveTextDocument);
pendingAsserts.forEach(fn => fn());
disposeAll(disposables);
return deleteFile(file);
});
test('openTextDocument, with selection', function () {
return createRandomFile('foo\nbar\nbar').then(file => {
return vscode.workspace.openTextDocument(file).then(doc => {
return vscode.window.showTextDocument(doc, { selection: new vscode.Range(new vscode.Position(1, 1), new vscode.Position(1, 2)) }).then(editor => {
assert.equal(editor.selection.start.line, 1);
assert.equal(editor.selection.start.character, 1);
assert.equal(editor.selection.end.line, 1);
assert.equal(editor.selection.end.character, 2);
});
});
});
});
test('registerTextDocumentContentProvider, simple', function () {
let registration = vscode.workspace.registerTextDocumentContentProvider('foo', {
provideTextDocumentContent(uri) {
return uri.toString();
}
});
const uri = vscode.Uri.parse('foo://testing/virtual.js');
return vscode.workspace.openTextDocument(uri).then(doc => {
assert.equal(doc.getText(), uri.toString());
assert.equal(doc.isDirty, false);
assert.equal(doc.uri.toString(), uri.toString());
registration.dispose();
});
});
test('registerTextDocumentContentProvider, constrains', function () {
// built-in
assert.throws(function () {
vscode.workspace.registerTextDocumentContentProvider('untitled', { provideTextDocumentContent() { return null; } });
});
// built-in
assert.throws(function () {
vscode.workspace.registerTextDocumentContentProvider('file', { provideTextDocumentContent() { return null; } });
});
// missing scheme
return vscode.workspace.openTextDocument(vscode.Uri.parse('notThere://foo/far/boo/bar')).then(() => {
assert.ok(false, 'expected failure');
}, _err => {
// expected
});
});
test('registerTextDocumentContentProvider, multiple', function () {
// duplicate registration
let registration1 = vscode.workspace.registerTextDocumentContentProvider('foo', {
provideTextDocumentContent(uri) {
if (uri.authority === 'foo') {
return '1';
}
return undefined;
}
});
let registration2 = vscode.workspace.registerTextDocumentContentProvider('foo', {
provideTextDocumentContent(uri) {
if (uri.authority === 'bar') {
return '2';
}
return undefined;
}
});
return Promise.all([
vscode.workspace.openTextDocument(vscode.Uri.parse('foo://foo/bla')).then(doc => { assert.equal(doc.getText(), '1'); }),
vscode.workspace.openTextDocument(vscode.Uri.parse('foo://bar/bla')).then(doc => { assert.equal(doc.getText(), '2'); })
]).then(() => {
registration1.dispose();
registration2.dispose();
});
});
test('registerTextDocumentContentProvider, evil provider', function () {
// duplicate registration
let registration1 = vscode.workspace.registerTextDocumentContentProvider('foo', {
provideTextDocumentContent(_uri) {
return '1';
}
});
let registration2 = vscode.workspace.registerTextDocumentContentProvider('foo', {
provideTextDocumentContent(_uri): string {
throw new Error('fail');
}
});
return vscode.workspace.openTextDocument(vscode.Uri.parse('foo://foo/bla')).then(doc => {
assert.equal(doc.getText(), '1');
registration1.dispose();
registration2.dispose();
});
});
test('registerTextDocumentContentProvider, invalid text', function () {
let registration = vscode.workspace.registerTextDocumentContentProvider('foo', {
provideTextDocumentContent(_uri) {
return <any>123;
}
});
return vscode.workspace.openTextDocument(vscode.Uri.parse('foo://auth/path')).then(() => {
assert.ok(false, 'expected failure');
}, _err => {
// expected
registration.dispose();
});
});
test('registerTextDocumentContentProvider, show virtual document', function () {
let registration = vscode.workspace.registerTextDocumentContentProvider('foo', {
provideTextDocumentContent(_uri) {
return 'I am virtual';
}
});
return vscode.workspace.openTextDocument(vscode.Uri.parse('foo://something/path')).then(doc => {
return vscode.window.showTextDocument(doc).then(editor => {
assert.ok(editor.document === doc);
assert.equal(editor.document.getText(), 'I am virtual');
registration.dispose();
});
});
});
test('registerTextDocumentContentProvider, open/open document', function () {
let callCount = 0;
let registration = vscode.workspace.registerTextDocumentContentProvider('foo', {
provideTextDocumentContent(_uri) {
callCount += 1;
return 'I am virtual';
}
});
const uri = vscode.Uri.parse('foo://testing/path');
return Promise.all([vscode.workspace.openTextDocument(uri), vscode.workspace.openTextDocument(uri)]).then(docs => {
let [first, second] = docs;
assert.ok(first === second);
assert.ok(vscode.workspace.textDocuments.some(doc => doc.uri.toString() === uri.toString()));
assert.equal(callCount, 1);
registration.dispose();
});
});
test('registerTextDocumentContentProvider, empty doc', function () {
let registration = vscode.workspace.registerTextDocumentContentProvider('foo', {
provideTextDocumentContent(_uri) {
return '';
}
});
const uri = vscode.Uri.parse('foo:doc/empty');
return vscode.workspace.openTextDocument(uri).then(doc => {
assert.equal(doc.getText(), '');
assert.equal(doc.uri.toString(), uri.toString());
registration.dispose();
});
});
test('registerTextDocumentContentProvider, change event', async function () {
let callCount = 0;
let emitter = new vscode.EventEmitter<vscode.Uri>();
let registration = vscode.workspace.registerTextDocumentContentProvider('foo', {
onDidChange: emitter.event,
provideTextDocumentContent(_uri) {
return 'call' + (callCount++);
}
});
const uri = vscode.Uri.parse('foo://testing/path3');
const doc = await vscode.workspace.openTextDocument(uri);
assert.equal(callCount, 1);
assert.equal(doc.getText(), 'call0');
return new Promise<void>(resolve => {
let subscription = vscode.workspace.onDidChangeTextDocument(event => {
assert.ok(event.document === doc);
assert.equal(event.document.getText(), 'call1');
subscription.dispose();
registration.dispose();
resolve();
});
emitter.fire(doc.uri);
});
});
test('findFiles', () => {
return vscode.workspace.findFiles('**/image.png').then((res) => {
assert.equal(res.length, 2);
assert.equal(basename(vscode.workspace.asRelativePath(res[0])), 'image.png');
});
});
test('findFiles - null exclude', async () => {
await vscode.workspace.findFiles('**/file.txt').then((res) => {
// search.exclude folder is still searched, files.exclude folder is not
assert.equal(res.length, 1);
assert.equal(basename(vscode.workspace.asRelativePath(res[0])), 'file.txt');
});
await vscode.workspace.findFiles('**/file.txt', null).then((res) => {
// search.exclude and files.exclude folders are both searched
assert.equal(res.length, 2);
assert.equal(basename(vscode.workspace.asRelativePath(res[0])), 'file.txt');
});
});
test('findFiles - exclude', () => {
return vscode.workspace.findFiles('**/image.png').then((res) => {
assert.equal(res.length, 2);
assert.equal(basename(vscode.workspace.asRelativePath(res[0])), 'image.png');
});
});
test('findFiles, exclude', () => {
return vscode.workspace.findFiles('**/image.png', '**/sub/**').then((res) => {
assert.equal(res.length, 1);
assert.equal(basename(vscode.workspace.asRelativePath(res[0])), 'image.png');
});
});
test('findFiles, cancellation', () => {
const source = new vscode.CancellationTokenSource();
const token = source.token; // just to get an instance first
source.cancel();
return vscode.workspace.findFiles('*.js', null, 100, token).then((res) => {
assert.deepEqual(res, []);
});
});
test('findTextInFiles', async () => {
const options: vscode.FindTextInFilesOptions = {
include: '*.ts',
previewOptions: {
matchLines: 1,
charsPerLine: 100
}
};
const results: vscode.TextSearchResult[] = [];
await vscode.workspace.findTextInFiles({ pattern: 'foo' }, options, result => {
results.push(result);
});
assert.equal(results.length, 1);
const match = <vscode.TextSearchMatch>results[0];
assert(match.preview.text.indexOf('foo') >= 0);
assert.equal(vscode.workspace.asRelativePath(match.uri), '10linefile.ts');
});
test('findTextInFiles, cancellation', async () => {
const results: vscode.TextSearchResult[] = [];
const cancellation = new vscode.CancellationTokenSource();
cancellation.cancel();
await vscode.workspace.findTextInFiles({ pattern: 'foo' }, result => {
results.push(result);
}, cancellation.token);
});
test('applyEdit', async () => {
const doc = await vscode.workspace.openTextDocument(vscode.Uri.parse('untitled:' + join(vscode.workspace.rootPath || '', './new2.txt')));
let edit = new vscode.WorkspaceEdit();
edit.insert(doc.uri, new vscode.Position(0, 0), new Array(1000).join('Hello World'));
let success = await vscode.workspace.applyEdit(edit);
assert.equal(success, true);
assert.equal(doc.isDirty, true);
});
test('applyEdit should fail when editing deleted resource', withLogDisabled(async () => {
const resource = await createRandomFile();
const edit = new vscode.WorkspaceEdit();
edit.deleteFile(resource);
edit.insert(resource, new vscode.Position(0, 0), '');
let success = await vscode.workspace.applyEdit(edit);
assert.equal(success, false);
}));
test('applyEdit should fail when renaming deleted resource', withLogDisabled(async () => {
const resource = await createRandomFile();
const edit = new vscode.WorkspaceEdit();
edit.deleteFile(resource);
edit.renameFile(resource, resource);
let success = await vscode.workspace.applyEdit(edit);
assert.equal(success, false);
}));
test('applyEdit should fail when editing renamed from resource', withLogDisabled(async () => {
const resource = await createRandomFile();
const newResource = vscode.Uri.file(resource.fsPath + '.1');
const edit = new vscode.WorkspaceEdit();
edit.renameFile(resource, newResource);
edit.insert(resource, new vscode.Position(0, 0), '');
let success = await vscode.workspace.applyEdit(edit);
assert.equal(success, false);
}));
test('applyEdit "edit A -> rename A to B -> edit B"', async () => {
await testEditRenameEdit(oldUri => oldUri.with({ path: oldUri.path + 'NEW' }));
});
test('applyEdit "edit A -> rename A to B (different case)" -> edit B', async () => {
await testEditRenameEdit(oldUri => oldUri.with({ path: oldUri.path.toUpperCase() }));
});
test('applyEdit "edit A -> rename A to B (same case)" -> edit B', async () => {
await testEditRenameEdit(oldUri => oldUri);
});
async function testEditRenameEdit(newUriCreator: (oldUri: vscode.Uri) => vscode.Uri): Promise<void> {
const oldUri = await createRandomFile();
const newUri = newUriCreator(oldUri);
const edit = new vscode.WorkspaceEdit();
edit.insert(oldUri, new vscode.Position(0, 0), 'BEFORE');
edit.renameFile(oldUri, newUri);
edit.insert(newUri, new vscode.Position(0, 0), 'AFTER');
assert.ok(await vscode.workspace.applyEdit(edit));
let doc = await vscode.workspace.openTextDocument(newUri);
assert.equal(doc.getText(), 'AFTERBEFORE');
assert.equal(doc.isDirty, true);
}
function nameWithUnderscore(uri: vscode.Uri) {
return uri.with({ path: posix.join(posix.dirname(uri.path), `_${posix.basename(uri.path)}`) });
}
test('WorkspaceEdit: applying edits before and after rename duplicates resource #42633', withLogDisabled(async function () {
let docUri = await createRandomFile();
let newUri = nameWithUnderscore(docUri);
let we = new vscode.WorkspaceEdit();
we.insert(docUri, new vscode.Position(0, 0), 'Hello');
we.insert(docUri, new vscode.Position(0, 0), 'Foo');
we.renameFile(docUri, newUri);
we.insert(newUri, new vscode.Position(0, 0), 'Bar');
assert.ok(await vscode.workspace.applyEdit(we));
let doc = await vscode.workspace.openTextDocument(newUri);
assert.equal(doc.getText(), 'BarHelloFoo');
}));
test('WorkspaceEdit: Problem recreating a renamed resource #42634', withLogDisabled(async function () {
let docUri = await createRandomFile();
let newUri = nameWithUnderscore(docUri);
let we = new vscode.WorkspaceEdit();
we.insert(docUri, new vscode.Position(0, 0), 'Hello');
we.insert(docUri, new vscode.Position(0, 0), 'Foo');
we.renameFile(docUri, newUri);
we.createFile(docUri);
we.insert(docUri, new vscode.Position(0, 0), 'Bar');
assert.ok(await vscode.workspace.applyEdit(we));
let newDoc = await vscode.workspace.openTextDocument(newUri);
assert.equal(newDoc.getText(), 'HelloFoo');
let doc = await vscode.workspace.openTextDocument(docUri);
assert.equal(doc.getText(), 'Bar');
}));
test('WorkspaceEdit api - after saving a deleted file, it still shows up as deleted. #42667', withLogDisabled(async function () {
let docUri = await createRandomFile();
let we = new vscode.WorkspaceEdit();
we.deleteFile(docUri);
we.insert(docUri, new vscode.Position(0, 0), 'InsertText');
assert.ok(!(await vscode.workspace.applyEdit(we)));
try {
await vscode.workspace.openTextDocument(docUri);
assert.ok(false);
} catch (e) {
assert.ok(true);
}
}));
test('WorkspaceEdit: edit and rename parent folder duplicates resource #42641', async function () {
let dir = vscode.Uri.parse(`${testFs.scheme}:/before-${rndName()}`);
await testFs.createDirectory(dir);
let docUri = await createRandomFile('', dir);
let docParent = docUri.with({ path: posix.dirname(docUri.path) });
let newParent = nameWithUnderscore(docParent);
let we = new vscode.WorkspaceEdit();
we.insert(docUri, new vscode.Position(0, 0), 'Hello');
we.renameFile(docParent, newParent);
assert.ok(await vscode.workspace.applyEdit(we));
try {
await vscode.workspace.openTextDocument(docUri);
assert.ok(false);
} catch (e) {
assert.ok(true);
}
let newUri = newParent.with({ path: posix.join(newParent.path, posix.basename(docUri.path)) });
let doc = await vscode.workspace.openTextDocument(newUri);
assert.ok(doc);
assert.equal(doc.getText(), 'Hello');
});
test('WorkspaceEdit: rename resource followed by edit does not work #42638', withLogDisabled(async function () {
let docUri = await createRandomFile();
let newUri = nameWithUnderscore(docUri);
let we = new vscode.WorkspaceEdit();
we.renameFile(docUri, newUri);
we.insert(newUri, new vscode.Position(0, 0), 'Hello');
assert.ok(await vscode.workspace.applyEdit(we));
let doc = await vscode.workspace.openTextDocument(newUri);
assert.equal(doc.getText(), 'Hello');
}));
test('WorkspaceEdit: create & override', withLogDisabled(async function () {
let docUri = await createRandomFile('before');
let we = new vscode.WorkspaceEdit();
we.createFile(docUri);
assert.ok(!await vscode.workspace.applyEdit(we));
assert.equal((await vscode.workspace.openTextDocument(docUri)).getText(), 'before');
we = new vscode.WorkspaceEdit();
we.createFile(docUri, { overwrite: true });
assert.ok(await vscode.workspace.applyEdit(we));
assert.equal((await vscode.workspace.openTextDocument(docUri)).getText(), '');
}));
test('WorkspaceEdit: create & ignoreIfExists', withLogDisabled(async function () {
let docUri = await createRandomFile('before');
let we = new vscode.WorkspaceEdit();
we.createFile(docUri, { ignoreIfExists: true });
assert.ok(await vscode.workspace.applyEdit(we));
assert.equal((await vscode.workspace.openTextDocument(docUri)).getText(), 'before');
we = new vscode.WorkspaceEdit();
we.createFile(docUri, { overwrite: true, ignoreIfExists: true });
assert.ok(await vscode.workspace.applyEdit(we));
assert.equal((await vscode.workspace.openTextDocument(docUri)).getText(), '');
}));
test('WorkspaceEdit: rename & ignoreIfExists', withLogDisabled(async function () {
let aUri = await createRandomFile('aaa');
let bUri = await createRandomFile('bbb');
let we = new vscode.WorkspaceEdit();
we.renameFile(aUri, bUri);
assert.ok(!await vscode.workspace.applyEdit(we));
we = new vscode.WorkspaceEdit();
we.renameFile(aUri, bUri, { ignoreIfExists: true });
assert.ok(await vscode.workspace.applyEdit(we));
we = new vscode.WorkspaceEdit();
we.renameFile(aUri, bUri, { overwrite: false, ignoreIfExists: true });
assert.ok(!await vscode.workspace.applyEdit(we));
we = new vscode.WorkspaceEdit();
we.renameFile(aUri, bUri, { overwrite: true, ignoreIfExists: true });
assert.ok(await vscode.workspace.applyEdit(we));
}));
test('WorkspaceEdit: delete & ignoreIfNotExists', withLogDisabled(async function () {
let docUri = await createRandomFile();
let we = new vscode.WorkspaceEdit();
we.deleteFile(docUri, { ignoreIfNotExists: false });
assert.ok(await vscode.workspace.applyEdit(we));
we = new vscode.WorkspaceEdit();
we.deleteFile(docUri, { ignoreIfNotExists: false });
assert.ok(!await vscode.workspace.applyEdit(we));
we = new vscode.WorkspaceEdit();
we.deleteFile(docUri, { ignoreIfNotExists: true });
assert.ok(await vscode.workspace.applyEdit(we));
}));
test('WorkspaceEdit: insert & rename multiple', async function () {
let [f1, f2, f3] = await Promise.all([createRandomFile(), createRandomFile(), createRandomFile()]);
let we = new vscode.WorkspaceEdit();
we.insert(f1, new vscode.Position(0, 0), 'f1');
we.insert(f2, new vscode.Position(0, 0), 'f2');
we.insert(f3, new vscode.Position(0, 0), 'f3');
let f1_ = nameWithUnderscore(f1);
we.renameFile(f1, f1_);
assert.ok(await vscode.workspace.applyEdit(we));
assert.equal((await vscode.workspace.openTextDocument(f3)).getText(), 'f3');
assert.equal((await vscode.workspace.openTextDocument(f2)).getText(), 'f2');
assert.equal((await vscode.workspace.openTextDocument(f1_)).getText(), 'f1');
try {
await vscode.workspace.fs.stat(f1);
assert.ok(false);
} catch {
assert.ok(true);
}
});
test('workspace.applyEdit drops the TextEdit if there is a RenameFile later #77735 (with opened editor)', async function () {
await test77735(true);
});
test('workspace.applyEdit drops the TextEdit if there is a RenameFile later #77735 (without opened editor)', async function () {
await test77735(false);
});
async function test77735(withOpenedEditor: boolean): Promise<void> {
const docUriOriginal = await createRandomFile();
const docUriMoved = docUriOriginal.with({ path: `${docUriOriginal.path}.moved` });
if (withOpenedEditor) {
const document = await vscode.workspace.openTextDocument(docUriOriginal);
await vscode.window.showTextDocument(document);
} else {
await vscode.commands.executeCommand('workbench.action.closeAllEditors');
}
for (let i = 0; i < 4; i++) {
let we = new vscode.WorkspaceEdit();
let oldUri: vscode.Uri;
let newUri: vscode.Uri;
let expected: string;
if (i % 2 === 0) {
oldUri = docUriOriginal;
newUri = docUriMoved;
we.insert(oldUri, new vscode.Position(0, 0), 'Hello');
expected = 'Hello';
} else {
oldUri = docUriMoved;
newUri = docUriOriginal;
we.delete(oldUri, new vscode.Range(new vscode.Position(0, 0), new vscode.Position(0, 5)));
expected = '';
}
we.renameFile(oldUri, newUri);
assert.ok(await vscode.workspace.applyEdit(we));
const document = await vscode.workspace.openTextDocument(newUri);
assert.equal(document.isDirty, true);
await document.save();
assert.equal(document.isDirty, false);
assert.equal(document.getText(), expected);
await delay(10);
}
}
test('The api workspace.applyEdit failed for some case of mixing resourceChange and textEdit #80688', async function () {
const file1 = await createRandomFile();
const file2 = await createRandomFile();
let we = new vscode.WorkspaceEdit();
we.insert(file1, new vscode.Position(0, 0), 'import1;');
const file2Name = basename(file2.fsPath);
const file2NewUri = vscode.Uri.parse(file2.toString().replace(file2Name, `new/${file2Name}`));
we.renameFile(file2, file2NewUri);
we.insert(file1, new vscode.Position(0, 0), 'import2;');
await vscode.workspace.applyEdit(we);
const document = await vscode.workspace.openTextDocument(file1);
// const expected = 'import1;import2;';
const expected2 = 'import2;import1;';
assert.equal(document.getText(), expected2);
});
test('The api workspace.applyEdit failed for some case of mixing resourceChange and textEdit #80688', async function () {
const file1 = await createRandomFile();
const file2 = await createRandomFile();
let we = new vscode.WorkspaceEdit();
we.insert(file1, new vscode.Position(0, 0), 'import1;');
we.insert(file1, new vscode.Position(0, 0), 'import2;');
const file2Name = basename(file2.fsPath);
const file2NewUri = vscode.Uri.parse(file2.toString().replace(file2Name, `new/${file2Name}`));
we.renameFile(file2, file2NewUri);
await vscode.workspace.applyEdit(we);
const document = await vscode.workspace.openTextDocument(file1);
const expected = 'import1;import2;';
// const expected2 = 'import2;import1;';
assert.equal(document.getText(), expected);
});
test('Should send a single FileWillRenameEvent instead of separate events when moving multiple files at once#111867', async function () {
const file1 = await createRandomFile();
const file2 = await createRandomFile();
const file1New = await createRandomFile();
const file2New = await createRandomFile();
const event = new Promise<vscode.FileWillRenameEvent>(resolve => {
let sub = vscode.workspace.onWillRenameFiles(e => {
sub.dispose();
resolve(e);
});
});
const we = new vscode.WorkspaceEdit();
we.renameFile(file1, file1New, { overwrite: true });
we.renameFile(file2, file2New, { overwrite: true });
await vscode.workspace.applyEdit(we);
const e = await event;
assert.strictEqual(e.files.length, 2);
assert.strictEqual(e.files[0].oldUri.toString(), file1.toString());
assert.strictEqual(e.files[1].oldUri.toString(), file2.toString());
});
test('Should send a single FileWillRenameEvent instead of separate events when moving multiple files at once#111867', async function () {
const event = new Promise<vscode.FileWillCreateEvent>(resolve => {
let sub = vscode.workspace.onWillCreateFiles(e => {
sub.dispose();
resolve(e);
});
});
const file1 = vscode.Uri.parse(`fake-fs:/${rndName()}`);
const file2 = vscode.Uri.parse(`fake-fs:/${rndName()}`);
const we = new vscode.WorkspaceEdit();
we.createFile(file1, { overwrite: true });
we.createFile(file2, { overwrite: true });
await vscode.workspace.applyEdit(we);
const e = await event;
assert.strictEqual(e.files.length, 2);
assert.strictEqual(e.files[0].toString(), file1.toString());
assert.strictEqual(e.files[1].toString(), file2.toString());
});
test('Should send a single FileWillRenameEvent instead of separate events when moving multiple files at once#111867', async function () {
const file1 = await createRandomFile();
const file2 = await createRandomFile();
const event = new Promise<vscode.FileWillDeleteEvent>(resolve => {
let sub = vscode.workspace.onWillDeleteFiles(e => {
sub.dispose();
resolve(e);
});
});
const we = new vscode.WorkspaceEdit();
we.deleteFile(file1);
we.deleteFile(file2);
await vscode.workspace.applyEdit(we);
const e = await event;
assert.strictEqual(e.files.length, 2);
assert.strictEqual(e.files[0].toString(), file1.toString());
assert.strictEqual(e.files[1].toString(), file2.toString());
});
test('issue #107739 - Redo of rename Java Class name has no effect', async () => {
const file = await createRandomFile('hello');
const fileName = basename(file.fsPath);
const newFile = vscode.Uri.parse(file.toString().replace(fileName, `${fileName}2`));
// apply edit
{
const we = new vscode.WorkspaceEdit();
we.insert(file, new vscode.Position(0, 5), '2');
we.renameFile(file, newFile);
await vscode.workspace.applyEdit(we);
}
// show the new document
{
const document = await vscode.workspace.openTextDocument(newFile);
await vscode.window.showTextDocument(document);
assert.equal(document.getText(), 'hello2');
assert.equal(document.isDirty, true);
}
// undo and show the old document
{
await vscode.commands.executeCommand('undo');
const document = await vscode.workspace.openTextDocument(file);
await vscode.window.showTextDocument(document);
assert.equal(document.getText(), 'hello');
}
// redo and show the new document
{
await vscode.commands.executeCommand('redo');
const document = await vscode.workspace.openTextDocument(newFile);
await vscode.window.showTextDocument(document);
assert.equal(document.getText(), 'hello2');
assert.equal(document.isDirty, true);
}
});
test('issue #110141 - TextEdit.setEndOfLine applies an edit and invalidates redo stack even when no change is made', async () => {
const file = await createRandomFile('hello\nworld');
const document = await vscode.workspace.openTextDocument(file);
await vscode.window.showTextDocument(document);
// apply edit
{
const we = new vscode.WorkspaceEdit();
we.insert(file, new vscode.Position(0, 5), '2');
await vscode.workspace.applyEdit(we);
}
// check the document
{
assert.equal(document.getText(), 'hello2\nworld');
assert.equal(document.isDirty, true);
}
// apply no-op edit
{
const we = new vscode.WorkspaceEdit();
we.set(file, [vscode.TextEdit.setEndOfLine(vscode.EndOfLine.LF)]);
await vscode.workspace.applyEdit(we);
}
// undo
{
await vscode.commands.executeCommand('undo');
assert.equal(document.getText(), 'hello\nworld');
assert.equal(document.isDirty, false);
}
});
});