801aed9320
ead2c2ab0f5 Merge pull request #120858 from microsoft/alex/1-55-2 bfb2654224e Pick up new distro version and bump version 08a217c4d27 Merge pull request #120733 from microsoft/joao/release/1.55/fix-build 6b89f1aaa2e Don't call node-gyp anymore (#120673) 6e3220a31a9 Merge shellEnv into process.env (#120332) 5dee7d559ff Update to vscode-proxy-agent 0.8.2 (#120354) 91fa7f030d2 Merge pull request #120519 from microsoft/misolori/icon-updates c5e030273bf Merge branch 'release/1.55' into misolori/icon-updates 8be12407ad0 bump version to 1.55.1 (#120379) d6e72b493ce debug: update js-debug (#120358) b7d152d5b2f Update distro c185983a683 Fix table list height. Fixes #120062 (#120102) (#120168) c71be15869a fix powershell profile source (#120138) 4c2a1fa6306 handle error when wsl is not installed (#120128) e3297826776 Merge pull request #120107 from microsoft/aeschli/120103 c7f963cb27d Moves extension prop out of proposed 55f4c2ec1e2 update typescript-vscode-sh-plugin 26a60dbecac Merge pull request #120081 from microsoft/sandy081/fix119975 5753889f2d1 remove overflow action when there are no overflows be363080a36 fixes #120066 (#120080) 554774c21d6 Merge pull request #119983 from microsoft/lramos15/notebookViewType 428daa3650c Merge pull request #119990 from microsoft/tyriar/r155_wsl_compile 64876cb88e2 Fix test compilation 00296950306 [Getting Started] new file => new untitled file rather than explorer's new file (#119981) 2a8113f7231 Enable terminal event batching from ptyHost (#117268) aefdd723bd0 Merge pull request #119987 from microsoft/tyriar/r155_wsl_setting 98aeda8479a Remove RemoteHub from desktop stable (#119972) 981a2b53abc Merge pull request #119977 from microsoft/digitarald/fix-115327 a3514cd1481 allow terminal profiles w a source to have args (#119967) 78636f2c133 Fixes #115327 with HC images for GS setup/beginners. b72964aaace iPad OS ctrl + c in terminal (#119979) a84f17acbbf displayDetectedWslProfiles -> useWslProfiles 1b0b1c67f35 Merge pull request #119973 from microsoft/digitarald-ces-distro-update c97d55a2131 debug: fix stop on entry not working after launch.json change (#119980) c7068ae9331 Respect viewtype for reopen with in notebooks 59b2869bdb1 Distro update 7208128b818 Merge pull request #119377 from microsoft/digitarald/ces 522cb113395 Ignore extension that is being installed d06d2f1d624 Update distro 80c9c2bfdd8 Adopt writeSync maxSubsequentCalls dd8ce595220 xterm@4.12.0-beta.7 1eb987f85f1 LocalizationService.update no longer needed. Fixes https://github.com/microsoft/vssaas-planning/issues/3290 70aab480c5a update labels for break commands 49ad7ad4f53 fix optional service typing a0aea2c02ab Fix counting executing cells incorrectly Fix #119921 961935482ff Fix build 33c5dbf0407 Force internal execution metadata to be transient Fix #119853 0865813de51 showQuickLaunchWslProfiles -> displayDetectedWslProfiles 91b6bcd2cce Fix spelling error 5bf977258c5 Slide to first category for new users 72bb797593f Don't scroll to first category if already have Fix #119842 Fix #119339 0a7dde45706 Update distro 9be5cb7f482 Fixes #118772: Remove a disconnected remote extension host from `extensionHostManagers` c9829c32d11 Surface pwsh as a profile on mac/linux if it's installed b59b0c5051e update distro 647f8724320 Roll back to `vscode-textmate@5.2.0` a564f58b13f Fixes #119065: Also listen for EPIPE errors on the socket 99c8eb69942 Fixes regex - codespaces remotes are missing .git ab39731a1e6 Avoid rolling back `vscode-textmate` 9b564ad40db update distro 85d03e9c382 Fixes #119915: Go back to `vscode-oniguruma@1.3.1` f4f1bdb9265 update distro e15a185f6ee Merge branch 'main' into notebook/dev a6cef60b50f notebook toolbar init display be none. fix #119910. 654b5e80469 update to latest `vscode-oniguruma` 5a92084faeb Use ThrottledDelayer per review feedback. 357c13ac467 localize info message 5dcccb92e38 fix #119854 1ca4e703ba8 Optimizing newly add getting started images. 71d2102d7d0 fix #119803 c5d901812cd Merge pull request #119883 from microsoft/tyriar/webgl_fix f7cc0f2c79d Adding light and hc getting started images. Closes #115325 and #115327 64256f22d66 Merge pull request #119895 from gregvanl/settingTypos ad659fb25aa Allow null in profiles config 3e6f65a3acd Merge branch 'main' of https://github.com/microsoft/vscode into main a30b6bfdc3b remove default value for overrideName 19bbe2edbee Remove extra space from error message 7ac7d4438a9 fix #119672 975115a2cb4 Setting descriptions typos and formatting fe6b3e258b6 Re-enable measuring c5a8eed0334 Accept array or single item for output items methods #119601 996391b87d3 Move proposed api piece into stable typings 6ebe2a14f37 fix #119852. 3d1d01690df Fix canvas -> dom fallback da992a171e2 fix scroll cells from bottom view. 9ab0fb227ee use app scope 81a08478ef1 updated notebooks ff869cd3581 Merge pull request #119878 from microsoft/isidorn/notificationVisible 1a184f9e9dc add visible flag to notification b70c4fee0d8 Fix default webgl renderer ad026f8130c ces: use ThrottledDelayer 755cbf5412a Merge branch 'main' into notebook/dev 08c4cd87e3c Reenable localization tests. 5064fae294b Fix #118134 e8111f76b5b Fix #119855 5b636c4a7b2 Revert "Fixes #111814 (#119475)" 6f726bcdf6a fix #118442 557c4b56995 update verification members 63f1721ed85 don't store output in GH issue notebooks 05ce54df77c testing: remove unused contributions ce9298464e4 bring notebook actions back to editor title bar menu static. ceff50539f0 re #119706. ef80780f632 fix #118996. 383fb64cc58 remove displayOrder and fix #119830 81ba1dae860 Fix #117540 1a425eacb83 Accept single outputs or arrays in execution task output edit methods Fix #119601 75ed057885c fix #117937 1e6697ed77d fix #119561. f0eacf87700 fix #119767. 1d3cbad0102 Wait for extension registration when resolving notebook viewType Fix #119686 ab317a2280e Hide select terminal profile in yarn web a0e8b01ec49 testing: polish wording of testing.autoRun.mode 189fb15df90 Check PATH when validating non-absolute paths 5c6836eb44d Fix #119699 b63cfb3a8b6 skip test and remove unused code 8d6c2a23888 Make drop shadow much more subtle Closes #119633 23713de2bee don't emit events when splices are empty, fixes https://github.com/microsoft/vscode/issues/119608 5a241c767a9 fix https://github.com/microsoft/vscode/issues/119363 22212f5de84 use APIs over commands, fixes (?) https://github.com/microsoft/vscode/issues/119437 bd2402a6e8e Add double-click to collapse Fix #113248 c45540033a5 Aadd messge when getting started empty closes #119496 d115bb2a977 clean up statProvider, use existsFile, fix #119807 008e91bd7c9 contribute editor toolbar actions by checking active editor other than focus/blur. fix #119706 38160c823c8 Fixes codespaces fork on push d765f3a43c7 testing: fix list view not working 0fb1882984e fix: items from results being added to collections and breaking decorations ab94ad2b8f5 clean-up validateProfilePaths 46d5d38dd28 fix #119672 ebec68bc3d9 fix #119728. 2616ee94f38 fix #119775. 6384c7462f8 fix #119677 abaa23cdf39 fix #119774 09f43fd6aa4 testing: fix exclusion filter in view e4bb4c1b77f testing: fix results disappearing or not showing for new files cd31f2cdfac testing: fix test appearing on first line, remove location from TestItems 60849897630 fix #119773. 15ba6b4c957 Revert "extract _assertWebviewForMarkdownPreview" 2c232fed6af Update README.md e3e7fb0b2ab Set explicit mode for markdown preview code addf2d6d9e9 Fix spelling for gitignore f8c1ffbb0cf Build simple-browser media during watch 68e582380d7 Maybe fix bug where sync task doesn't get checked d087b5cf4f1 Add back old getting started flow as "walkthroughs" e5afd670959 extract _assertWebviewForMarkdownPreview d13e68e6cf5 avoid markdown preview removal when it is disabled. 8a960081e55 fix #119771. f1334e055c8 Polish select default profile quick pick 563a617ca2a Applied review feedback and tweaked heuristics 8aac8643d77 Use 'terminal profile' instead of quick launch profile, change icon 64b4f5b934d use final DAP 1.46.0 f04acbd22a4 node-debug@1.44.19 0db170025e4 Fix terminal dropdown rebuilding itself 8ceb8b96153 Rename "expand cell content" to "input" Fix #119762 9e2e6cded21 Change cell pending indicator to clock codicon Fix #119739 ddb7709cbf3 Fix #119700 fix #119731 fix #119701 Co-authored-by: Daniel Imms <daimms@microsoft.com> 51c403193b6 do no change selections if the action is from toolbar. 7d19db7ad9b fix #119769. f934e058c75 Fix profile permissions prompt on linux/mac 6dbb3800c5a Fix #116424 b8f5fd7f1b6 debug: update js-debug c88146514ca debug: bump node-debug 8387a46298e snap-build-linux.yml: use "snap pack" to get LZO (#119478) 792c2318898 fixes #118660 eb135ec46e8 Fix #119626 e353502fb9d fixes #118045 f9d92f0fc6c Fix #119723 948839aa445 Fix #119660 6aa6260a843 fixes #118852 da1ed96b6a8 fix code-cli.bat aeedd850ac4 fix #119073 2d9069014eb Add a placeholder for already forwarded root ports (#119792) 74cf3fb2021 Fixes #119529: Wait for eager extensions to activate before launching extension tests 5fbba30c046 Better Fix #119573 9a646e1967c fixes #119487 f91c464f1e1 Merge pull request #119784 from microsoft/tyriar/profile_schema 9f37f3f04ee Pull common unix/win parts into shared function ac74acadddf Only set when win profile is non-null f4fbc4abd78 Merge remote-tracking branch 'origin/main' into tyriar/profile_schema a83eb44ecd5 fixes #119488 301e9ac1db8 fixes #119580 a34297a6085 fix #119384 47f0413ea29 window indicator: based on workspace config file location. For #119752 40d104ad84a Add schema to profiles settings 771b0192f43 window listeners handling 27fc3b41ed4 scm: add trace logs for #113803 08d5310eb18 update verifications notebook 8933c1564d0 Don't create a terminal on panel show without proc support c55aff63798 API feedback (WorkspaceTrustRequest -> WorkspaceTrustRequestOptions) (#119658) 3eb6fec8cd6 Be more specific when listening for marker events 4ad88afc1f2 Fix #119573 42b8129c64e don't emit events when splices are empty, fixes https://github.com/microsoft/vscode/issues/119608 4dedb019f85 Clear data written flag on manual relaunch 1c3990938b8 Fix #119572 443b6f71bf8 fix https://github.com/microsoft/vscode/issues/119363 c6a8cb7f091 Fix #119698 8437d38d364 Fix #119753 a1ecc83a5d3 Merge branch 'main' into notebook/dev a233c8683a2 workspaces history - proper check for untitled 7a1302a2b6c remote indicator - fix npe 90484dda2b2 shared process - also log if window visible 5245290dc56 file working copy - update test to account for events 2b66dfe0218 skip flaky tests. d5abce78ab7 Remove unsued var ff42bf46511 Disable markdown renders by default 279b4d92317 fix #119724. 514eefb789e Don't send execute request for markdown cells Fix #119734 91939fb9e7d handle invalid ignore options and avoid early dispose. fix #119638 548de3ac8ba fix #119708 85770c31911 hide all outputs (builtin and renderers) fix #119690. a8b8e7bd483 Fixes #118979: Reduce find widget's z-index 11c0904a568 Don't enable the new markdown renderer if accessibility mode is enabled 376b25645be Only show selection if there multiple cells selected 31987b11c6f Merge pull request #117758 from conwnet/main 02b394a1a5c Add a special editor option to control the readonly textarea attribute a9aebe3bce0 Merge remote-tracking branch 'origin/main' into pr/conwnet/117758 07eb4d9e076 Fix #114965 d7e1da38b17 Fix Linux referring to osx 8d3d8e0cd04 html: add vscode-languageserver-textdocument as dependency bd18fe9bcec Fixes #119632: Handle `undefined` when validating a range 8c7a3d8f6ca html: fix compile errors c099b873de7 update distro 0f65e64c2a3 Fixes #119636 - 🤦 76c5d1707cb RunOneScheduler and code cleanup for CES b3058d60df4 update distro 7b7e3d9e1e5 Fixes #118041: Add workaround for `UTF16` `TextDecoder` eating up `0xFEFF` and `0xFFFE` c7ad1b9020d Add sequences to type ahead comment 97b2514ca71 include source.id for progress notifications 6349f37d80f Merge pull request #119373 from wdesgardin/fix/replace-pattern-preserve-case cca8a48b17a Restore notebook smoketests, Fix #113882 3225cf3037a update distro 3b44bb422d3 Only set detected profile if value is non-null 75f796dfb48 notificationTelemetry: id should always be a string 4eb625f0cf0 [html] update service a53ce8af3b5 update remote indicator on workspace change 11e79c76d89 Merge pull request #119607 from NotWearingPants/patch-3 a780b76b9d5 Keep text from jumping when showing port input Fixes microsoft/vscode-remote-release#4729 61eb66d6c4b Fixed recent typo from afca445 64381abea97 unconfiguredPortsAttributes -> otherPortsAttributes Fixes microsoft/vscode-remote-release#4732 73b9e6679d5 Update README.md a535549d893 update distro f600cd9ef21 Fix compilation errors: update to latest `vscode-textmate` 684a4526059 Improve resolveTask documentation ab12e39334e update distro 788c9dfdc48 update deps afca44535df Add a trace statement to be able to track down which implementation handles a `MultiCommand` 9089e0cbd9f Update endgame notebooks b28d8ca9fe0 use APIs over commands, fixes (?) https://github.com/microsoft/vscode/issues/119437 2bc5e538923 Merge branch 'main' into notebook/dev ebe56205433 fix(search): preserve case when match start with lowercase char a6f6b4aa8e3 Add feature flags to control availablity of getting started extension contributions 735e998fca0 update distro 10a74ff5c51 Open to getting started page on extension install 194c37b4cf2 Fix test for latestExecutionSummary init 9fa49ba9415 ignore optional dependencies when webpacking 7a8b665f25a Fix missing prop on cell data 808266d4dec Allow tests to be loaded asynchronously (#119537) 6e2cb85e207 debug: update js-debug fdc4f23b108 Add double-click to collapse Fix #113248 35ae55affde diff editor output decorations fix. aac461a3124 Improves behavior for #114945 851a849d2ce Don't validate non-absolute paths 2cde743fe21 Pass event modifier data when clicking on markdown cell 4cb75127664 add quick launch profiles for unix 9c00242866c updating telemetry module for built-in exts 3d987fdc5b3 fixes #117782 084fd5171a1 Terminal profile fixes (#119352) 7483058a0ab update distro 1f5dd686c8f Disable select for notebook preview cells in webviews a685b5976ba Exclude DSR from type ahead 4b3ba3ea44c Removes proposed api check 44ffe526ffe auto layout for editors in output container, fix #119048. d4a0fa9ca6d Build getting started service at startup in order to init event listeners d657779c014 Improve getting started response to slow network conditions for content overrides efb75d7262e Move override delay to conver all exp service usage 018eca5246f fix #118615 'scm/resourceXXX/context' extension point descriptions were muddled 0179466adac Move getting started service to workbench/contrib Closes #118603 e8290f52f4f run oss tool for 1.55 db670f1002c Use shellEnv (#108804) 64042213ed2 Bumps RemoteHub to 0.1.2 f201f7bc68a Fix notebook test 08cf8038dfd Merge pull request #95882 from jeanp413/fix-95671 4977db85c01 update tas-client-umd 7e719d3f046 Merge branch 'notebook/dev' into main 03e1ce6524d Fix getting started items appearing out of order 4a83a80aa7b update diff output height properly (using closure) on resize. 2949009de61 move more logic into abstractRenderer. 55e56ef9153 add options for controlling outputs/metadata in the diff editor. 0089ba3ae1d Bump vscode-emmet-helper, fixes #112675 c95389a7b2d Fix emmet completions in scss (#118666) 7b96cc4c8ba Implement Execution API (#116416) 4b0118871f0 Adds codespaces lookup via command for desktop d46eca3d2dd Merge pull request #119385 from microsoft/merogge/fix 7176a40fc74 Add notebook.inactiveSelectedCellBorder (refs #114156) 64a8be3fa24 fix #117691 a2044cbd78d tweak d909932d240 Fix #118104 33c11ec866f Bumps RemoteHub to 0.1.1 26cdfad1cd0 Fixes #118521 e79b88daadb handle view in terminalView 66961037cc3 Fixes #111814 (#119475) 57aada6cca9 Fix test 5efebbd4c4c Fixes #118270: Add new option to control deleting character pairs and delete by default only auto-inserted closing characters 91e41167e52 file working copy - clarify onDidChangeContent 8cfc30d5741 Fixes #118461: Don't show Open Workspace in the diff editor c148f9a70bf Show error when port is already forwarded Fixes #117571 d239450d9b1 Ensure relaunched processes get shutdown 76b1ad1d1dc Improve profile order, remove profileName from config 6bac57decf7 file working copy - better document resolve() method 0ddc091edc6 some code 💄 a02448d6852 Ensure config service is optional in external terminal 917edde164f Fixes #117534: Allow to mark command args as optional 2cd8246a94b Fixes #118062 4c29fa41c6d Fixes #119416: Use control pictures for NULL and DEL when renderControlCharacters is on cc8748a2397 notificationsTelemetry: change id to be string bbe333f8782 Add tsec exemptions 42c9e63a7ed file working copy - resolve returns void d9d0879741f file working copy - add save as support and a lot of tests 469e4f6e275 chore: bump distro 67eebf8ac58 avoid duplication. 0ab3c62ca2a fix action context detection. 5a0fe1f6a89 remove todo tag d6a0bf700cd Merge branch 'main' into notebook/dev 5a66c91c029 Fixes #117935 a3415e669a8 Fixes #119383: Use `fetch` instead of `importScripts` to avoid deadlock in Safari 4a10c93b2d6 Remove unused argument 307ed64376a Adds RemoteHub as built-in 8290994dbbe Fix localization strings and typo 4995ce93673 More tweaks to geting started category 13ec92fe360 Update getting started category styling e380c34cac7 Fix typos a1c114aa9e6 replace more pathOrPaths with path 1aa0c31b55b pathOrPaths -> path e7aedd975c8 Adjust notebook cell multi-select colors 4bcf96223a7 Fix some getting started crashes 0d83680d528 More CES heuristics work d222e20941c Merge pull request #119328 from microsoft/tyriar/wsl_encoding e92a80bb641 Merge remote-tracking branch 'origin/main' into tyriar/wsl_encoding ee4b50aaa43 Allow creation of quick launch profiles via select default shell command 194f43025f6 Remove log da7c7d1efea Merge branch 'main' into digitarald/ces 4b5354c5f98 alternative version for notebook document. ff3c423cf3f alternative version for notebook document. 6480a6f20ea feat: add option to control scm font size (#115494) d60cac30195 Fix a typo f8acb0d6f63 Adding the 'delete branch...' function to the source control > branch section 6c0c77926ff Improve GitHub repository search 64ebc978e76 Revert "Use rmdirSync instead of rimraf" 0eff78fc42e Merge branch 'notebook/dev' into main 7f9ea9411c8 Reduce default tas override delay to 0 5c0c637a043 Make sure we ignore compiled media files f5146529508 Automatically relaunch terminals when pty host is restarted 7727e93b22e Rename experiment override settings Log when experiments have been overridden for purposes of excluding data from scorecards 07879df53d9 update the layout since editor toolbar height changes 13ceef289f0 experiment service for nb toolbar position 1cd067471e8 Trims url to avoid issues 022d823577a Fixes #110904 - adjusts error regex c2b6d30e9ef Fix input placeholders from 2275dba01afe2b8814d4ebdd67d1027fa51bdcb4 b1770e6ad8a Prompt within 1-8hrs heuristics df3953996da notifications: send telemetry for silent notificatinos, smarter spot for hide event f7f2f08eec5 Update distro 1b7470b25db Try to find ports with a root process (#119341) 421d67ec41a notifications: add source to notification:hide and also send events for silent notificatinos 2275dba01af Change files to include/exclude placeholder to tooltip 3d87801cb0c Merge pull request #119091 from microsoft/joh/nbSerialize 9734ab15dd6 💄 88e87f02bd6 file working copy - make resolve not return "this" b74bae8ced6 refine NotebookCellData converter d6c74de1f5c Merge branch 'main' into notebook/dev 61b73024053 Merge branch 'main' into joh/nbSerialize 3a6c54fb14e no more file watching in notebook diff editor, remove lastResolvedFileStat from notebook editor model 39ea9cac052 Make UI progress indicator clearly visible in the quickpick (#119293) 8cf7c12fd33 fixes #119331 d10866cca54 Fire onExit for feature terminals that lost pty host connection 7fa2b715ef0 Merge branch 'main' into joh/nbSerialize b33801c2c66 file working copy - first cut tests 8736be196db Properly join string[] profile args f68f1845d23 Move comment to the right place 2b2ff3e5e08 exec with the right encoding ede3632a560 pimp up workbench-web.html 85cf30ab517 Properly decode wsl.exe -l output 163aeeedac7 Prevent seamless relaunch triggering multiple times c64a8d59270 file working copy - use IDisposable not Disposable bae75adfb41 no more double dispose needed in _onWillDisposeDocument af10c8f65b5 Fixes #119051: Prefer fewer diff hunks 3271248da68 Merge branch 'main' into joh/nbSerialize 7902c6edcd1 remove NotebookService#destory c8dc60adac6 Use widget.shadow for custom hover contrast a07a508be8b Update distro a02fabb6d64 file working copy - dispose model when working copy disposes dfe12887da0 xterm@4.12.0-beta.3 06901e67a38 remove todo 3fd2415c9f7 Show args in profile selector 46d1ea3a2c8 fire event only when save succeeded 8410aa8f2e6 adopt name change fee37f32af6 Merge branch 'main' into joh/nbSerialize 3f71de52eef Also exclude docker-desktop terminal profile 7d99c47b755 move notebook save event into notebook editor model service, remove resolve/save/backup from notebook service and let editor model use content provider directly 06e8814b29b Merge branch 'main' into fix-95671 5dad121bcb1 Merge pull request #119315 from gjsjohnmurray/fix-119261 a255250be89 Add a user setting for "workbench.hover.delay" Fixes #117894 156fed280ac fix #119261 filter also by description in Insert Snippet 1dbcde0f1fc Fixes #119065: Handle errors also using the socket.write() callback 958171a700d Fix port process finding starting even when using output 56b55c26070 #38607 Handle uninstalling extensions a27b6f74497 implement load of the notebook model f841a70b0c0 file working copy - rename `forceReadFromDisk` => `forceReadFromFile` c8975ceaecd file working copy - remove getStat() that is only used in tests 8595f6f5d03 Update to align log level constants 23fa2860d3e add withNotebookDataProvider as strict variant of getXYZ, sends activation event, throws when no provider found c17a5ca80f7 Merge pull request #100027 from matthew-haines/master bed126ce9d7 #38607 Separete installing & installed state 6608083a3d4 💄 window error telemetry ce3ebc9f5a6 add test 391b1a6b576 Add support for `"log": "<level>"` to the argv.json (fixes #118824) d96f34c867b Fix #38607 e800c205df8 Merge branch 'main' into pr/matthew-haines/100027 b4fb4d8c2ff recognize .axaml as xml language Fixes #117298 abd1e0166e9 Merge pull request #119250 from noahbliss/patch-1 414a7eb7e06 Fixes #113614: Catch potential errors thrown when searching in the extension gallery 9710ecf1c66 Merge branch 'main' into notebook/dev af8d8116eec Merge branch 'main' into joh/nbSerialize 9b5eceb1f66 💄 4f1cdb7aa0d flaky suite for #118969 d0f2d7eee63 build e4b1e9ac57a Give room for border 0932039e138 Allow for exp modifications of getting started content 22c40603121 Extensions => Command Palette 5e0602716fe Small tweaks to styling. fb8811e513b Add "copy cell down" to toolbar 7a9844238d8 terminal profile fixes (#119267) c0885dd0c4d Add task to build extension media (#119294) b0f4dba5d29 handle blur from other browser events. 3eae316f513 more padding for global toolbar. 99dd29307d1 no layout if not visible. 6d654b9bc9e polish css. a99306b4871 Update padding for notebook toolbar & folding icon fbcd54712ef fix duplicated actions on reload. 41ecc1eda5a cell output domNode npe. c37f743a99e schedule task should check disposable again. b814edf4735 keybindings for actions. ece0761b33f swap notebook toolbar and editor toolbar. 1b52d828711 Revert "fix profile tests, path -> pathOrPaths, and exception" a5219a9350c path -> pathOrPaths in terminalConfig e9e112a6483 fix profile tests, path -> pathOrPaths, and exception 859edd7f4f0 Merge pull request #119292 from microsoft/misolori/get-started-polish 89135921788 Increase bottom padding for card 45ef6493842 Adds support for fork on push for Codespaces f8b50611060 Polish getting started items 3b3b9be7062 Fixes #113811 746c323a55a Merge pull request #118830 from microsoft:aeschli/testsinwebworker 242ddc4bdf0 Merge pull request #118400 from thebinarysearchtree/main c576cad0912 #38607 make renaming extension aware of other sources 89d8eed14f0 Allow extension authors to set the title of a QuickPick/InputBox in Options (#119144) 31a9b8f8158 Fixes #62307 14c4257e75d Fix background for markdown cells 651f0ee28a1 Simplify removal of (Default) from distro name aef8a2af5c6 Improve encoding workaround for wsl.exe 9d2478b6259 Don't name quick launched terminals a7bafc2a9a5 Add logging around port notification Part of #117790 342a55d10d7 worker eh: wrap console and send to renderer 7c4b2b09de1 add workbench-web 2ace42b0cc1 Don't attempt to create term in yarn web 9cd4712b352 file working copy - update todos 6bea69b5e2d Fix break 3a39aa41f5b Fix hiding tree hovers Fixes #118755 65fb4037a39 adopt latest working copy changes 59ee7787595 Merge branch 'main' into joh/nbSerialize 232266aaf22 first cut of IFileWorkingCopy adoption, misses saveAs and backsnapshot are improper... 2d7b64d423d add notification:hide event 9c204017ffc file working copy - remove _backupSnapshot be93116b735 Replace "Favours" with "Favors" 9f773417714 Replace "Favours" with "Favors" a23d2d40f31 Merge pull request #117994 from GitMensch/patch-1 4c9d23c8f57 file working copy 💄 adf6e065194 Fix ugly selection border on Add Port button Fixes microsoft/vscode-remote-release#4689 0b758c4e0d6 Unix profile selector (#119213) abbd77d0188 Merge pull request #119075 from microsoft/isidorn/notificationsTelemetry 99d2cb82e59 pick up notification source ID properly 5804f7dd83a Merge branch 'main' into aeschli/testsinwebworker 8af8a869dc8 Merge branch 'main' into joh/nbSerialize 3da9f36645d Cancel packagejson search in npm after 1 second c359effab04 Fix unconfiguredPortsAttributes in devcontainer.json abb6ff6d93e file working copy - dispose working copy when model disposes 733f9323a46 Initial file working copies (#119233) 970d1916421 file working copy - self register to working copy service 1902dcddd8a file working copy - add onDispose 6d02fe2cb75 fix #118945 validationMessage on extension InputBox lacked Severity.Error 943ab428d72 file working copy - more cleanup and alignments d2afd69d310 file working copy - some cleanup in working copy 111a6cec70f Don't include build files in repo 3e4c057624b Make sure we exclude ts files from published build 043a0ee0d94 Try cache busting on reload in simple browser b9f33fc242d Rename CodeActionKind.Manual -> Invoke 52201359920 Scroll the notebook while dragging a markdown cell e7f3b77a9c8 Remove typings for unused package a7ae58f4dbb Use rmdirSync instead of rimraf 05e970086cd Add missing change session events to ms auth provider b0bbf9c19ee improve pwsh logic e01b60782ae Exclude compiled notebook files from hygine 42af2c38dd2 Merge pull request #117835 from yannickowow/master 7ccf0b03c60 debug: stepOver should be alt+F11 on windows browsers 8a095f4d233 Update test associated to DataBreakpoints cf7e6f31f9c Support for DataBreakpointAccessType condition #117835 82cf09af92e file working copy - first cut manager c332b6bea79 tweak grammar 31f3f2e6195 Add placeholder text to include/exclude boxes Fix #119107 547312993f8 provide extensions sync state version api in web - reset the resource sync state when the version changes 6f0d3d5c9f5 debug: do not de-dupe same named variables fbc577e6f04 Double click to set port label Fixes #117573 Fixes microsoft/vscode-remote-release#4624 5b21b951ecf Fix Add Port row click Fixes microsoft/vscode-remote-release#4687 fc1d49f95ed file working copy - make sure to bubble up errors 03e3fce973e file working copy - first cut extraction from text file model world b335d9eaf10 Make "Set Port Label" an inline action only Part of microsoft/vscode-remote-release#4624 fdb91e27d3d Add new unconfiguredPortsAttributes to config edit a268122729d Add more docs to PortAttributesProvider Part of #115616 1c6fcca5710 Fix #115039 c9fd3403447 fix https://github.com/microsoft/vscode/issues/119157 b12279b40c5 Get correct candidate for checking port attributes providers fd57115d52c Allow for manually/programmatically checking/unchecking tasks b353f063393 comment out failing notebook smoke tests, https://github.com/microsoft/vscode/issues/119164 06ee68d4bbf api notebook update 5bb215e893b Increase spacing between tasks 26a77fb7fb8 Clean up formatting 08877abd68a Relocate keybinding rendering closes #119113 970bcad11a4 Fix bug where expanded tasks did not adjust height on layout 1bcf2a3f1dd Tweak getting started to look more like welcome 9e470ce1efc chore: update distro 0585c2e05a6 Remove experiment (#110330) ff1ce589e73 fix #119130 fc8d7681c4a Make sure katex styles are shipped under root of 581a659d427 Update markdown notebook scripts 806c22dcc91 Skip multiple tabs test for now a7006f93215 Fix potential null access f6f51117008 Update walkthrough contribution api to single object model Ref #119097 e8e6d64105b Terminal profiles (#118790) e5fc49d8af8 Fix markdown editing code cells not having top margin c09b3d2358f typescript: enable built-in 2020 semantic token support 1b695635457 Enable markdown renderer by default on desktop 83d80e8bcaf Don't try to relayout markdown cells if their height has not been set yet 772effc6e6c bind mimetype switcher later. 9063d4ac766 finalize InlineValuesProvider API; fixes #105690 9205c8bd920 Improve terminal key dispatch message 5615bb9eee4 Merge pull request #118725 from microsoft/joh/117273 a6b7fccdaab support appending per mimetype. 7af7449a295 add extension id to source of notification a294694b583 Fix padding in webview based markdown cells a7bbb5502dd notifications.test add tests for service add and remove events 99597e3974a delete cell handles multi select. b3e7d37b8df clipboard actions handle selections around the target. 562962afc9e move copy,cut,paste into clipboard contrib. 30845ba2037 Include community in README.md (#119105) 19ac5d4a5c5 Merge pull request #119114 from microsoft/tyriar/118804 9ed0aa6c914 Fix type ahead issue in relaunched terminals 7243e13db16 Fix #118818 8303d03545a aria alert for cell index changes. 5f4e9a55f5a join with next cells through multi selections 4f488a7cf21 support both selections and ui actions. 4d3df5cd983 join cells with multi cells (single selection) 881e370539e add tests for joining single cell. 3f7651fed04 move join/split cells out of coreActions. 184560bb0ce tests for moving and duplicating cells. 4855eb46a0a make notebook unit test easier. 3ee43778c50 Merge pull request #119092 from microsoft/tyriar/118066 29abc8f3499 Merge pull request #119024 from microsoft/tyriar/116022 3e05837735a Merge pull request #119084 from microsoft/tyriar/118256_test 143f4e6fa2b Merge remote-tracking branch 'origin/main' into tyriar/118066 7a6944d2d0d Add unit tests for TerminalRecorder 5141aba1941 polish 7c0e20ca4c0 Allow terminal recorder to avoid initial resize event b6921c2f2d6 api notebook snapshot 9a7366de9bd Prevent process ready log firing multiple times 32406c3f6ab Recalculate trust when workspace folders change b1359b271c5 Fix focus + keybinding issue causing input box in Ports Fixes #microsoft/vscode-remote-release#4678 0cd2ba8bddb Merge remote-tracking branch 'origin/main' into tyriar/118066 df97bc32ada Tactical fix for watching problem matcher and closed documents Fixes #116760 508b6cc7864 💄 f56b5cf7cef react to feedback b38200cf0a3 Ignore testWorkspace tasks.json 2d536914ea1 Await task config updates f0ee79acfd1 Update src/vs/editor/standalone/browser/simpleServices.ts 846917d51fd Update src/vs/platform/notification/test/common/testNotificationService.ts 77e2397c121 Update src/vs/platform/notification/test/common/testNotificationService.ts 3765294bb11 Update src/vs/editor/standalone/browser/simpleServices.ts 5da95f0e11d Merge remote-tracking branch 'origin/main' into tyriar/116022 31283f32b2c keep notebook serializer locally d1e5c8cddf4 Fix portsAttributes.unconfigured setting name And fix setting update not read Fixes #118991 e8f5186722f Improve task test layout 76cd8a00b37 Fixes #119011: Wait for the vscode API to become available before launching extension tests 1b9a61662a3 Regression test for #118256 b8476ece198 Fix task start firing with invalid process ID in dependsOn task 6fd693ec9e9 more deprecations f2761b584a4 ignore file events while saving, more logging, https://github.com/microsoft/vscode/issues/118992 9426cea171e Ports: service -> application, defaults ->unconfigured b33ce0ff5d9 Update types 2de06d768bf add INotebookSerializer interfaces and wire up IPC calls 3014c755cd7 Pick up fix for #117054 21d20148ee5 new debug setting for clearing a terminal before reusing; fixes #116699 70abcfc7689 add notification:actionExecuted telemetry event 66045febfe4 add notificationsTelemetry 45ea71d8c37 notificationsService: onDidAddNotification, onDidRemoveNotification 149a8b71c53 Workspace trust changes (#119017) e787d6e3843 custom editors - make conflict resolution actions appear (#118949) 5060cbe7bc0 Merge pull request #119012 from Daniel-Knights/patch-1 537c648fb57 mark APIs as deprecated b5eff84359d fix build b89cf5c0aff Adds RemoteHub to api allow list 4222a0981e2 debt - use product quality instead of probing for name a7f5a101589 debt - some more process and platform 💄 892a1083cb2 Fix border overlap in quick pick UI (#119039) 405d2cfbda4 Merge remote-tracking branch 'origin/main' into tyriar/116022 70a47bb275d Enable vscode.Pseudoterminals in web worker ext host 813bb397b01 update list item height on markdown cell ctor as we might already warm up the viewport. fbf1e77578d adopt multi select in drag and drop. drag the focus or selection around the focus. 84f16040107 share drag impl for builtin and custom md renderer. 12adb0178f6 test view/model range convertion with hidden cells. 51a15dee0a2 update seti theme. fixes #118912 7f43e5c846c unHidePreview should also update dimensions d949fd3bc09 Don't create markdown previews if cell is in edit mode 2f8d4892884 fix: typo d7c0ea59d23 Rename setting gettingStarted.hiddenCategories => workbench.welcomePage.hiddenCategories Fixes #118990 8e2fc51526a Remove only f390023d7e6 Remove unused 385cb56165e Fix #118953 5e09ecb9ab2 Fix #118958 83b6cdc6107 better aria label for the remote host status bar item ad428ea8910 untitledHint: introduce default for workbench.editor.untitled.hint 98d129e8b9f firefox: do not use ctrl+shift+P for show all commands since it is taken, make sure F1 is rendered 3cca5540aa8 Do no install repo on Raspberry Pi OS (#118826) c4fbdc32275 accessibility: 1000 page size as default 393adbd3971 fix #118970 61e44238a28 💄 process use 393cc7f4a22 debt - consolidate process usage cf439681f6f multicursor aria polish ae510aec2a7 no indent after 'source' tag: for #118902 fe1264b0f2f explorerModel: add toString to explorerItem for more precise error message 094274f0d1b Don't show select default shell when proc support not registered d1bffb783a5 Merge remote-tracking branch 'origin/main' into tyriar/118066 a4adb60e883 Add "Copy As..." core submenu to editor context and Edit titlebar menu (#118212) 11b1f937eb1 Prioritize port label from setting Fixes microsoft/vscode-remote-release#4542 2ac67ce84c4 fixes #118951 7a55f6fed7a skip failing notebook test 3f81fd64303 🆙 distro e8c71c048fa use %~1 in bat files c7a86c07979 🆙 distro 68a252ea778 environment - depend on product service eb90b1c59c6 sandbox - extract IPC based file service (client) and improve runtime behaviour f241e2e26ac debt - inline deprecated amd.ts methods into tests 8f1b7a36def sandbox - allow to reuse environment service in sandbox 1441ba91f0e environment - consistently handle VSCODE_CWD in all our node.js processes 56ee90e32e3 path - never use fs.promises.realpath 3d626dd868e Use "%~1" instead of "%1" in bat argument parsing. 640fa1af29d debt - use product service in more places 0e05a1f21a1 fix integration test 819cb01e0e0 make notebook integration test more stable, fixes https://github.com/microsoft/vscode/issues/118889 84fe402d655 Improve getting started page - Allow clicking checks to dismiss items - Allow hiding categories e05ab31f373 Clean up styling when contrast borders are defined a90759b5395 fix build 3006ac8e940 try out multiline extension view 5ad7633c4e9 fix scrolling body for workspace trust editor 809e11134c1 fix css for extensions grid view and settings 1a5d7f4f8ed Merge pull request #118482 from microsoft/rebornix/nb-list-focus b81cea2a350 Fix Emmet abbreviation for Handlebars style blocks (#118832) 257fbae3f34 Ensure editorContextKeyService on markdown cell gets disposed Related to #118782 e1f84e38ab2 Ensure markdown cell editor is disposed Fix #118782 216bff57715 Merge remote-tracking branch 'origin/main' into rebornix/nb-list-focus eac163c0611 fix tests. c1f954ce48b optimize scroll view from bottom. 5af4ccb87be copy cells with multi select. ad7983834af extract clone cell. 34a537bb732 sort numbers. 162d08892db Clean up 569aedce014 Mostly working seamless relaunch 7806efac02a tests in webworker EH ffdef6b9be7 Fixes #118759: Render a separate span for each inline decoration 458904ed7a3 move cells with multi select e545c0750b8 copy paste with hidden cells. 17beaf29fd5 Fixes #118614: Clear any outstanding state / requests and fetch semantic tokens when the language mode changes 8ca6a56d467 Try restoring ports more often Part of microsoft/vscode-remote-release#4551 d7622d392b4 change back untitled hint default to be hidden edf387a2e8f run filename through realpath because it seems nodejs isn't always doing that, https://github.com/microsoft/vscode/issues/118812 1c9e7eb296e 💄 5a8936ae639 Lift native text file service to electron-sandbox (#118815) 1bb87db91d3 debt - provide groups merging from service and add test 0b4915dcea2 Change portsAttributes others to be its own setting 61fe79db654 Remote indicator for folders and workspaces from contributed file systems. Fixes#118813 55bfe8c2167 Merge pull request #118766 from microsoft/aeschli/extensionDevelopmentKindSimple 5109a52b2a6 explorer: use findClosesRoot in select() 3aca77c0161 Merge pull request #118777 from jeanp413/fix-118557 3eae8534747 fix #117093 update Filter on Type indicator after 'list.toggleFilterOnType' command (#117099) 9d220a95c1c Fixes #110885: Have `--max-memory` also be applied to the extension host bd74e2fb6a0 replace openOnFocus with selectionNavigation 5f451c6670d Merge branch 'main' into aeschli/extensionDevelopmentKindSimple 1f22e55badd sandbox - share most desktop.main code d6d2910b96b sandbox - use actual workspace and config service 1dce5d35536 replaceCells as a single edit. ebc6eade483 update prefix sum always when edits happen fe9466a6e1d false negative hidden ranges test 4f5824ea28b enable async tests. 3dff030ea14 delete folded cell would not change other folding states. 5e2f573d1dd cut multi cells w/ folding. 06b54543d66 Comment out a few error logs for now 498449fa8c1 Remove content version logic from webview 02d3ca91dc7 Make sure we update cached version when cell changes 544b117130a createMarkdownPreview should only create previews, not also update them 1e92de9921e Log errors and remove unused method 574740fed37 NotebookEditorWidget should not have to know if a markdown preview already exists or not b5e22e7ed43 Remove extra log 6ea4b1cdc1a Add version to MarkdownCellViewModel 97314005fca Revert move change and disable debug flag aeb8f3811d6 Avoid re-rendering markdown cells if they have not changed 4b9d29ae6b4 more polish and re-use extension grid d5f47dfb885 Notebook custom markdown renderer optimization (#118288) 3635f113876 💄 b4ebf03316c selection tests. 0dcf9300ddf Fixes #118557 e9b7b5d25b8 configure extension kind of extensions under development 63d6e0c008a adopt selectionNavigation. 46fd12b0a91 align selection and focus if they were both empty d31566b57f4 Don't include css in main katex bundle 8627fd1f883 Merge pull request #118753 from microsoft/alex/extension-test-running a97990c9713 sort indexes in cellIndexesToRanges 919292a6742 Merge remote-tracking branch 'origin/main' into rebornix/nb-list-focus ae4ffb1b81e Handle extension test execution on the UI 52ab2fe123f add Education extension to category constants (#118589) ac0008a25b8 Remove waiting for welcome page while we are experimenting with what the welcome page will be Fixes #118748 8f8321d638d Smooth relaunch poc d574f8e9163 remove duplicate code 63460db67ea Fix #118741 d5e4525830e Add comments to add java workspace tags to GDPR inventory (#117740) 1ad8c467972 Merge pull request #118574 from microsoft/tyriar/100709 5afac656035 Prevent double attach to pty host listeners ba8f0fff7ca Remove logs b92b610e861 mark isEmpty as readonly f2515c57a4d Fix repository link for vscode-references-view bc405e936fd Try new CSS grammar Fixes #115480 244428dfa7a sash: workbench.sash.hoverDelay setting 10fc457d699 💄 sash f8ce2745c05 add stdout and stderr mimetype, add renderer for stderr 97efcde244f Merge pull request #118664 from microsoft/aeschli/extensionKindController 3fb39ad72d6 fixes #118694 bd84f143797 Merge remote-tracking branch 'origin/main' into tyriar/100709 37a826fe75d Open Recent goes to wrong workspace from remote. Fixes #118683 6af126bb3ce Move to writeSync instead of writePromise 49cad9a1c0d Fixes microsoft/monaco-editor#2382 0740b4a3134 sandbox - move platform limits to common fdd57917f30 don't mixin default metadata when "replacing" notebook metadata 9a982d0049f fix configuration caches - respect scopes d7854c3914c Remove unused 8788d628814 First cut of moving to hybrid getting started/welcome editor 9b2ee7fb7d9 Reduce size of Katex bundle da3cbe74dce Avoid extra postMessage call for iframe based webviews 8fefa6aff22 Speed up mac builds (#116984) 984479d1792 Fix not being able to run a cell when it is in the Success or Error state 07d02d3e2b1 use new icons 638926d5b5d CES experiment treatment 2d7fdd82ec8 update connection state before reconnections f3f1c131385 Update Codicons: add trusted workspace icons1f495f5857
b1b80801806 Avoid some calls to `.then` for iframe based webview post message 5b5dd906551 Fix manually providing PAT for GitHub auth, fixes #118675 11d5e82c80c Fix any key causing shift+tab focus change c72d7612b41 Add an untitled document data property (#115790) 371562f630b move trust color tokens and update values e679983a3fc remove border, use color icon, use link button 1f2313b4a2d Add back custom editor test workspace 0f6d7c41eb5 introduce customEndpointTelemetryService 268c0d04a66 fix #118578. offsetHeight to include padding and scrollbar. d1db6f0efef notebooks: update output to match NodebookCellOutputItem api 7cae7b5cedf add ExtensionKindController a2b5e58b091 remote authority - update comments 75da06499c2 #101995 extend tooltip of menu item that defines 'alt' command (#116211) 3ac310d1cf9 Remove icon from input row in ports view 3dc05e36e15 list: anchor trait 913a5949445 cleanup debugHelperService f1f830aefa2 Fix User tasks only working once without folder Fixes #118370 27ce1eb630f list, table: selectionNavigation option 6be4a142367 fix https://github.com/microsoft/vscode/issues/118609 8fd24025701 :liptstick: deep freeze notebook events before emitting them 6c6db188b7a polish, avoid classname.split('') f0c44394d11 Merge pull request #118433 from microsoft/aeschli/openWindowsWithAuthority 637b659e4ad refine NotebookCell API afe0e2b9a77 Fix regex port attributes over applying 278a41c349b Show Open Preview in Ports view for public ports a6d7d86e857 remove `viewType` from openNotebookDocument call da562fa27c5 Add regular expressions and "others" to portsAttributes Fixes microsoft/vscode-remote-release#4623 b3e6307430d polish 1422de11110 sandbox - move performance.contrib to sandbox abea343c10e fix https://github.com/microsoft/vscode/issues/118369 b0f0b6125dc implement review comments 23e0d141edf Update src/vs/platform/windows/electron-main/windows.ts d383642ba20 Update src/vs/platform/windows/common/windows.ts 78224b9b9e9 refactor perf contribution so that they can be inside electron-sandbox, https://github.com/microsoft/vscode/issues/111211, fyi @bpasero f83b2f46dee shell env: add more logging 1d6241a8a08 prefer ReadonlyArray<T> over readonly T[] 94303f8e574 build 256ce60286b Bump elliptic from 6.5.3 to 6.5.4 (#118478) 623075e0962 update distro a713ca6204c Merge pull request #118596 from alienvspredator/main 420f8dde79f debt - more layering fixes f0321e30875 debt - layering fixes 9d8042db309 more jsdoc around workspace concept a19fac2442c better docs for #118566 96fabf5cf95 fix #118591. 6d079845776 fix(typescript-snippet): fixed "newpromise" snippet 1d686afe81c reduce grace time of remote terminals (#118571) a9087e9d0a9 Try to avoid extra promise chaining for posting into a webview cbacbe647c3 Fix markdown preview still being rendered while in edit mode 54f30ed19ce Lock to commit rather than tag for Azure login action 3244facbbbe wt editor stepping stone - make extensions list better - centered header style d4ee684c8de testing: show progress in status bar, minor refactors and cleanup 80112e79ffb testing: show total number of tests to run 5b41604444b testing: add more logical default autorun behavior 7a9e144ee15 Fixes a listener leak with ILanguageSelection 57155e84203 Fixes #118195 - avoids update if already set bcb8c8a4f4b Remove notebook document runnable metadata #106747 8454701b67c Update test for api 225a8c2b89d Infer cell "runnable" from notebook kernel state Fix #106747 7a19d09047d Begin eliminating cell runnable metadata d1164661d29 Fix markdown edited cell height on reload c77e5ccd947 Add back top margin for webview cells d299be88ea6 Updates proposal for #116906 556e6d8310f Fixup search smoke tests 58bd8e075a3 Fix spelling in comment ba54c76164b Use TS replacement span if returned 724bc08f906 Remove log f2d687752c9 Create a new pty ready promise on relaunch 65e4309c0d9 Directly expose environmentVariableInfo 37c54c79e0d Fix compile 7f94f0d97c2 Move some ptyProcessReady usage inside proc manager 3cc479953ca fix #117718 fire onDidChangeResources event after unregistering group a7c9230fb33 Update distro d6f4353fae4 bump distro 9eceb504987 Move label about for #115244 after more tests are failing f8a6f90dea7 Revert "chore: bump distro" e5a10ca55d6 Skip search tests while diagnosing flakeyness 88655de6104 Adds logging 6922f6150d8 xterm@4.11.0 Diff: https://github.com/xtermjs/xterm.js/compare/a73fe62...4.11.0 79e2119c5e6 Revert "snap: set compression to lzo, #117852 (#118116)" 43ced8a10a3 chore: bump distro 0f042b2c856 fix https://github.com/microsoft/vscode/issues/118569 0e43220113c finalize telemetry enablement api refs #110267 95d3c1e63b7 finalize isNewAppInstall api refs #117058 e60b94d6e9c Merge branch 'main' into digitarald/ces 6438e0564af Add 'Marketplace' as option for file on and remove as top-level type, #118473 17c67963f32 api work snapshot 112bd090027 Queue file operations 4ee2ef41e5b update cache on reprocess 0f64ef1b655 remove NotebookDocument#contentOptions f0cf34e073b debug: do not bind F10 to step over when on web eaf4a6a91b7 Fix debug console URI being decoded (#118226) 417b7803a18 Update distro 2c11dafcc2f Merge pull request #118252 from microsoft/tyriar/116467_2 dc92ff53548 Set distro back to that in main 4bb960ade60 Merge remote-tracking branch 'origin/main' into tyriar/116467_2 b02e102f480 untitleHint: use expereiment service 90efd0a81aa Update README.md 449158a1aa7 Some Ports view cleanup b8a320867e5 allow null for remoteAuthority in IBaseOpenWindowsOptions to force local window 637497076ac Update distro 1e7fbfa7674 Merge remote-tracking branch 'origin/main' into tyriar/116467_2 e7b0596d89a Revert "Comment out notebook compile error" aaf6287eccc remove skipped test e96f0ea3700 todo-tag 7bcec044268 Comment out notebook compile error 878526839a3 Update distro 364b9e98e83 Merge remote-tracking branch 'origin/main' into tyriar/116467_2 ab9e11f38e6 Remove resolved comments e2ba7c6ae30 Breakpoint inline edit button should be a submenu 27efd88041d Remove preconnection terminal concept 4db71714ebd Properly dispose everything in tunnel view cells Part of #118544 9cc276648eb remove onDidChangeCellLanguage-event in favor of the existing document closed/opened event sequence 55af8021a12 Simplify RemotePty, revive shell config cwd e373b9c59e2 Focus row when escaping input on Ports view Fixes #117771 3c96cb6254a Merge branch 'main' into aeschli/openWindowsWithAuthority 99e97da512b revert unnecessary change d1dbb93317a Remove remote test failure comment 6d01ad952a9 Merge remote-tracking branch 'origin/main' into tyriar/116467_2 e15767f6dcd add comment for remoteAuthority 5ce792fcfad Add SECURITY.md 98a22a957a2 declare cancellation support for openNotebook and wire it up, exempt notebook content provider from provider naming rules 0e04c15de4f assert unsetting of active notebook needs null, https://github.com/microsoft/vscode/issues/118470 bcfcb539ab5 unit test for https://github.com/microsoft/vscode/issues/118470 8c436826ae5 Merge pull request #118471 from DonJayamanne/openNotebookBug 30d699fa104 on fire active notebook change event when something changed, https://github.com/microsoft/vscode/issues/118470 425316c3764 Add a compose language (#118042) 63be79e67de Merge pull request #117062 from NotWearingPants/bugfix/rtl-cursor edfbf27e3af #118443 - change name fa6d38a99b3 change nls ids 9d3a1d9f59c Fix #118443 6b76fcb671e Merge pull request #118468 from spetrescu/main 7d96db1e51b Make underlined link buttons blue to match the styling of similar buttons 27975dad4fb move to IProcessEnvService where appropriate in default shell logic (#118271) ac229ced073 Revert "Reenable smoke test to see if still flakey" #115244 09c3c2d3be4 Remove broken part of test 11a84a6e8ac inset -> output. b62e3c7d1db Update distro 5fdbc82111f Re-enable task and term test 9878ccfbd74 remove markdown preview only when it is hidden or deleted. 250c7baf7e8 Fix #117903 c870a55b708 Update terminalProcessManager.ts 8fe29a7c415 Uncomment in test 30f41631849 Skip the failing test for remote only d89e8cd27ce recent entries with authority c59c1101162 revealView should scroll a little to reveal items below viewport. d4f8348c6ac Handle undefined extension publishers in issue reporter, fixes #118480 61301530c69 revealView should scroll a little to reveal items below viewport. 23ad719498b Log acceptTerminalOpened bdbf5850127 Bump vscode-emmet-helper, fixes #118363 0e8fba32637 Add outline offset for view actions (fixes #117349) 9b1700a8291 example of notebook specific navigation commands. 2c1037d3521 Fixes #117600 (#118397) b20839c1f3d Add 'Marketplace' issue type to issue reporter, closes #118473 a8739f9c3a5 Change messageDisposables to DisposableStore 2b9470cb4e1 Clean up SearchView link button code 31a7757fc7b Better "Open Settings" option in search view 18f16643ead Add button to reenable search excludes Fix #115352 244e9e6e793 set remoteAuthority in NativeHostService.openWindow if not yet defined 1761ecec3bd reduce selections. b6b9aa15ef6 debug: allow passing partial config to start debugging command 221e20b3742 Re-enable, add some more test logs 7e6d4c5eb91 debug: fill in selected configuration by name if not provided 3f56118e7bb move cell up a39e7343653 Oops 584999658ee Bug 820f0eeb270 Fix tooltip not showing for codelens extension a0c8d41f9ed add notebook navigation commands 78cb4cfc32b improved comment for InlineValueContext.frameId 3df01b4ae74 Include ms in shutdown constant comments 45c032da7ab Skip the failing task test 1469a82540f fixes #118006 d8a7202293c Update distro e22c2be14d1 snap: set compression to lzo, #117852 (#118116) 03c8548523f Merge remote-tracking branch 'origin/main' into tyriar/116467_2 9022c7fa945 Update distro f2cfdcf19b8 Bump distro 4a82fbab162 Don't force create a terminal on no reconnect 06044789bfa API proposal for PortAttributesProvider (#118446) 3f778f6aebf Update distro 9c78fa40ca7 skip failing test (#118443) 20b19612917 Move proxy resolution to vscode-proxy-agent (#117054) b41b95faee9 Pin windows-process-tree@0.2.4 to match main package.json 4d3b1580233 Disable terminal tests in remote again, fix settings for tasks 1cd624c12a3 Merge remote-tracking branch 'origin/main' into tyriar/116467_2 4abc244a97e Add windows-process-tree to remote deps c2a92a1ba67 Merge pull request #118418 from microsoft/ben/sandbox caed3ea183a Merge pull request #118269 from davidanthoff/julia-indentation-rules 007baec8d51 fixes #118214 (#118425) c187999ee44 Merge pull request #118310 from smorimoto/ocaml 2a0f9aa8dc7 Reminder to compile between tests 69d36e8c982 Fix transformToSnakecase 305456c873f bump distro f7274905565 editors - fix mergeAllGroups (#118268) 8c3a00f78cb allow debug textmate in sandbox (#118219) f74d3b2fc75 fix tests 0c17e384499 sandbox - migrate backups from md5 to our hash algorithm dbe9dd49675 sandbox - make signing and integrity available 3f46e7f7b59 add ui flag to mocha tests 74532eb261c Re-enable process unresponsive checking 5cc1775bbf0 Disable unresponsive create process 11897d00a7a Disable pty host listeners temporarily 074632a51f1 Try enable remote terminal integration tests 508fcfbb537 Add more OCaml related file extensions to the OCaml group 5d80c30e5b6 Reenable smoke test to see if still flakey Ref #115244 74014e7fc6d Fix #117251 fe79bb261fb Add defaultSnippets to getting started contribution point Closes #117476 2d5e9cae4e0 💄 d3086eaa8c5 expect commands to set selection and focus for us properly. 7707feab17b accept focus from the list view. 6e83ba82107 fix #118279 da79b9db816 Don't setup pty host listeners twice in remote ea5f05a4358 Trying to clairify how webview options are used and passed around e066c74761e Document new fixedChunkSizePolling ts watch mode d7d42534260 Mark field as readonly a01035c44f8 Pick up latest TS 4.3 for building VS Code 02a5d5925ba Disable relaunch in tests 755fae50ab5 Bail out of create process if it's been disposed 2d3f1a0b478 fix #117699 258ee03bfbe Update distro 3483e9541b2 update betweenCellToolbar actions per context change. 61ea6ad847a Remote shell type support fc677cb3220 fix #118273. c40b367840d Merge remote-tracking branch 'origin/main' into tyriar/116467_2 b15bbfa8516 More test logs 3e345101dfd update shellType when it changes for local windows terminals (#117998) 6b2daa9a897 Update distro ff09362f443 Merge remote-tracking branch 'origin/main' into tyriar/116467_2 5d5fa588828 Support pty host management in remote 29b1fcffd1b fix #117684. 7af259ab841 Add logs to test c24bfc336c2 💄& localization daf840b9293 Revert "fix visually background flash of cells." 016b809eef0 kill terminal process on ipad (#118247) c18378655bd Add Julia indentation rules 7f7e427d3ba fix visually background flash of cells. f704f80f877 Pick up TS 4.2.3 22cb8ccdac3 Merge remote-tracking branch 'origin/main' into tyriar/116467_2 a7d9285b89f Update distro 2e68f2ae918 Better fix for #118235 00d3831d0c7 fix #118248. 59972ff745f fix build 5144d664926 dedup ansi color rendering. bba6d12ccb2 💄 ff5da2ff172 DOM.show/hide. d2e39d0ae09 use resize listener for all main frame outputs. 32f7c1d93a8 Don't assume uncompleted category exists Fixes #118235 ccb3601d552 Support term cli commands c2e3a4cdc67 Update distro af0ec1caa0b ctrl+c on ipad (#118243) 6799395da0c Revert "fix #114009" (#118242) dfbc5374637 Increase local grace time to a minute fe24a792b03 Support attach to session in local f916e9f1aba fix #114009 df6b2691705 Support orphaned processes 48be13acf8e Check if VSCode runs serverless (#118233) e518e533653 Share IOffProcessTerminalService 51e773e69f2 Merge branch 'main' into aeschli/openWindowsWithAuthority 0bcba0486bb Make setTerminalLayoutInfo interface consistent 7703dff5fc1 Clean up, bring local remote interfaces closer 92ad349125b fix typo in comment aadc16a2371 Simplify channel comm 230e0fdc9aa clean up, some ground work to support viewColumn, $acceptEditorPropertiesChanged must update all state before sending events, remove active notion from notebook editor 9516844abfd use TS typle naming feature 68a6f1c30e4 look up editor by id, slimmer dtos f7ff53d7b06 Remove `_wrapWebWorkerExtHostInIframe` 418b8248e43 Progress towards sharing local and remote term impl 25dc50c18ed Remove start-up timeouts 49b5e3ba0ae bump version 978d1399f54 Fix compilation error fca9c7f78fb Fixes microsoft/monaco-editor#2375 5931e598b10 Fixes microsoft/monaco-editor#2344 205ec8c5f2d Fixes microsoft/monaco-editor#2358 b2a0913ad23 Fixes microsoft/monaco-editor#2168 9748b5f3c0b Fixes microsoft/monaco-editor#2359: Avoid syntax that confuses webpack less loader 5c4663baadf Fixes microsoft/monaco-editor#2355 60222b710d4 Align `MultiEditorAction` with `MultiCommand` 453e2793b2b Prefer using TS constant defining the context key 04770364fdc #118222 skip failed test 1260de1c101 sandbox - move workspace tags to sandbox 17212ee46f8 #118199 c024db9f419 NotebookEditorSelectionChangeEvent should contain selection ranges, not cells 2e84eb92077 explorer tests: use strict equal 1e28c1ec7ee debug tests: use strict equal 1a9df6127cc fix smoke tests ef6d44f53aa debug console shouldn't collapse messages when they have different source locations 6e5e1e700b9 api todos 6117524374f make NotebookCellData and NotebookData classes, rename NotebookCellData#cellKind to NotebookCellData#kind 86df4442128 remove todos 3a21f7815c4 Merge pull request #118125 from microsoft/sandy081/keybindingsEditor/adoptTable 57aaafc72f3 Do not check for settings sync enablement while initializing in web d4b5298cd62 -add bg color to even child - clean up 997c9f29307 add showNotebookDocument overload or uri ae2f3e07e12 streams - add test for using error as data be70750f862 comment 💄 b65719bfa27 streams - require explicit end() after error() and remove error support from end() 188e6aac851 stop the code bunny, reuse the createAndFillInContextMenuActions-util, fyi @sandy081 @rebornix 7386525c683 remove one more occurence of '1_run' bc62648b05c Revert "Remove authentication provider package.json declaration" fead22bae42 bump distro eed8a79e81f Extract proxy agent support (#117054) 79096af4755 use CSS for odd styling 223f4f820f8 multi cursor: announce cursor changes 3b05017bb8e more 💄, more strict typings 1d8493b203e 💄 in mainThreadNotebooks, return types, more private, dispoable store, duplication removal, etc 81edf8b91ab Merge pull request #118071 from mtaran-google/main 85c1a17b60f Merge IEditor and INotebookEditor, move editor things into notebook editor service fc785836967 fixes #118006 d84ddcbd529 Open window with authority 39c1d680867 #62531 clean up 2dfc39c6949 Remove arrays#mergeSort because by now browsers support the refined sort spec which mandates `sort` to be stable. 587274078c1 remove NotebookDocumentMetadata#displayOrder, https://github.com/microsoft/vscode/issues/117684 3e8b0eb2d4f remove displayOrder from NotebookDocumentMetadata API, https://github.com/microsoft/vscode/issues/117684 afae25919a8 Merge pull request #115351 from gjsjohnmurray/fix-62531 fa37b721d1e 💄 ddb17dc1282 💄 dbbf2b16882 shell env - introduce a service to resolve shell env as promise (#108804) bd2b229870b debug: update js-debug 567b82a0f9c Reduce padding of new markdown cells in notebook 38ac13bc833 Slightly reposition the folding indicator for cells 99f2b830a1d Improve drag and drop indicators for custom markdown cells in notebooks 354a0a2620f Disallow dragging the outer markdown cell for rendered markdown cells a34ed4b0d7b Make markdown cells span full width of editor 60d600b3661 Fix showing wrong name for files in search after rename Fix #117778 1c7ced625a3 Update dimensions of webview element when it is shown again 72995bcb80b Mark property as readonly array 28b7345808b Improve documentation for WebviewService 9fa1800b979 Make the webview icons manager disposable 5bff5459d13 Move webview icons from generic webview service to the webview workbench service acdcb64a6c9 Throw error if a webview is double registered 487296741f5 Don't require lazy webview to be passed to WebviewInput 344f329dd42 Make reviveWebview take an options bag instead of parameters 79ff1ec91bd gate on feature flag aca4cb12985 workspace trust telem 0f975049421 Fix output padding/margin for diff notebook editors 9f395ddb934 Update Codicons7e0f377891
0eca51a2dad Mark selected markdown previews in notebooks (#117947) 191d3324132 Add offset to button focus (fixes #117909) 8a81f4149d3 add warning log if webgl cannot be loaded 6abc478020f Update src/vs/workbench/contrib/terminal/browser/terminalInstance.ts 8b1ddde4f5b move disposal to end so measureRenderTime gets called 920b8b31931 store suggestedRendererType to avoid retrying webgl if it's thrown an error unless the setting gets changed e9a748131c1 use storageService bab447271a3 measure render time if webgl throws and canvas set b619d92639d use canvas if webgl throws e7ce70318ff after webgl is disposed, don't retry to enable it unless the renderer type gets changed ca83d009f37 Update src/vs/workbench/contrib/terminal/browser/terminalInstance.ts d61adbfd923 part of #106202, make webgl renderer default, using dom if loading the add on throws 1e5e33cd023 testing: fix unit test err d6b3bc68f1e testing: move types to classes instead of interfaces 35aed337263 testing: improve RequiredTestItem api 1370dacbe0f Rename localPtyService to ptyHostService 05ccfc4fcb7 Move localPtyService to node db06103f1bd Enable search in open editors checkbox by default 597c5958527 fix overflow in command column 0150b020a10 Merge pull request #118121 from microsoft/tyriar/116467 2d4e671f730 update distro. 5b2865bc99b fix layout - do not consider header height c6202bb3cc5 Adopt to use new table widget dd3f3f9d7fe Update issue scraper to use standard bot PAT and run every month 8465489bbd4 Fix unit tests 8fd1b977166 Merge remote-tracking branch 'origin/main' into tyriar/116467 12ab47ff863 Fix compile c9ae209c80e Use safe process env from electron-sandbox 97cb1ff41d2 Register ILocalTerminalService 468d73edeb0 Fix compile 306bebf0f15 Move responsiveness check to local terminal service 3a1f4c402b4 Move terminal instance service methods to local terminal service df863f912b3 more context key doc 5ba5f986b92 remove notebook dependency from build edits 128e9b502d2 add frameId to InlineValueContext cb7ad05cb7e Merge pull request #117766 from microsoft/tyriar/remove_flow_control 73fee061714 Update distro 9bf3a06e647 Merge pull request #118118 from microsoft/tyriar/117990 68a3a7bbf9b improve comment 0ef6619a3eb services - use refineServiceDecorator for environment (#117881) 1e0d5009b5d fix exception breakpoint padding 03681b39a50 Update distro fa4c3c6cf1e Show ports badge on view, not view container Fixes #117904 a5c28d0ca06 Merge remote-tracking branch 'origin/main' into tyriar/remove_flow_control ddd6fccfee0 services - use refineServiceDecorator for layout service (#117881) ffa703d4805 Recover on pty host reconnect c0f6549d1cb files - address #118060 on master 94dec183740 Fix simple file picker not opening entered value Fixes #116858 7586d1a0fc2 Fix extra http on some forwarded port addresses Fixes microsoft/vscode-remote-release#4595 fb46801cf2f lock file-changes-action dd14e280254 Don't use an icon on the Port add row c2a2cc2bc3b Allow quick input to show info severity (#118032) 179c89852f7 Change icon for npm scripts view Fixes #118019 3c238e71dbc Add "hasPackageJson" check back to npm view and let it find files in directories Fixes #117950 1d46693af84 fix IThemeService decoration ids. For #117881 31012ea2d4a add refineServiceDecorator, https://github.com/microsoft/vscode/issues/117881 978b0d6ead9 context key doc 16ea2f2894b remove "getter" wrapping for proposed API types (classed, enums). These checks needed to be disabled because of an TS issues f79a0df4dbe api todos, remove long outdated proposal 01d775756c7 todo goes issue b6141474a76 move undo/redo and clipboard support out of notebook service so that it slims down c349764ab2e no graceful, throw errors when trying IO on notebooks that have no provider, move notebook model things together 069da883da5 Merge pull request #117834 from jeanp413/fix-panel-codicon-outline 8025d97ece8 mark `displayOrder` for removal, https://github.com/microsoft/vscode/issues/117684#issuecomment-790019754 73c01a5dd87 Merge pull request #117424 from atscott/dedupereferences f43fcbe6a4e fix https://github.com/microsoft/vscode/issues/118103 62d6a24efb9 revive URI when receiving them, fixes https://github.com/microsoft/vscode/issues/118085 0657df6e82f fix some area labels in extensions and scm 534e2306379 Renaming a folder adds it to history (fix #118080) 2ba67b7b075 Allow ripgrep search provider to work for files backed by file scheme, but not file scheme themselves (vscode-userdata) (#118069) 5f17dc2a596 Ensure that PrefService calls openEditor with a proper options object and add tests Better fix for #117952 54758b7e16d Revert "Ensure that PrefService calls openEditor with a proper options object and add tests" 2ae55bc7164 Ensure that PrefService calls openEditor with a proper options object and add tests Better fix for #117952 16c94f18258 Remove incorrect command a4b2541e379 Mark disposableStore property readonly 584d2338870 Use `_register` for disposable 538931e7906 Make sure context key listeners are disposed of 49d05f998f0 Add `CodeActionTriggerKind` api proposal 20f06e04445 Clarify docs on CodeAction return type 7e18b7006d0 Use generic type for CodeActionProvider ba117e60c20 fix #118043 4bd99a42df0 Fix old markdown preview not being removed on drag 4371e72fb6a Fix potential null exception while dragging cells abf99de040e 💄 aaf70523a8e Bump vscode-emmet-helper, fixes #118008 828f99eff55 Update diff editor with new webview options e56182e67f2 Make the backlayer webview span the full width of the notebook editor (#117948) bfa7822f703 Fix typo in IWorkbenchExtensioManagementService e9533c22fee add basic workspace trust unit test 19b7444ccf0 fixup! fix microsoft/vscode#117095 de-duplicate location results 17f63a649ec testing: update to more proper provider api 2f7438f492f Fix spelling for type 5d5b9dd0a8b Don't label non-editable custom editors as readonly 5f24ec84ac7 Use correct new context name 6949fed6ed2 Update grammars and fix julia update script for Windows 0e94794c9d0 debt - remove unneccessary indirections from notebook service 09149ac0930 Avoid double dispose of pty host client f80f0d7074e More forwarded ports trace logging 65c0eeb03d0 fixes #118006 a24cb4615a1 debug debt: remove unneneded check 341c130b0e9 call stack: get rid of actions, menus everywhere fd948827992 Deprecate editor.accessibilityPageSize setting 79cf4e92ce1 Use Promise instead of event 14fd07d57a2 Workspace trust api feedback 65a9aa17768 Use "(Settings) " as a prefix for userdata paaths in web Closes #114979 c3d7bd2269d Reserve space for recent list to prevent shifting when it loads Fixes #117628 e21f3916af7 Focus first uncompleted category rather than whole document on start Closes #117540 09dae2618ae Disconnect in debug toolbar should dispatch to root session 8c13b011133 debug: simplify registration b6f87905932 💄 comment 4def740615b wrap perf stuff in iife, https://github.com/microsoft/vscode/issues/116546 bc444ac3797 Fix #117869 bede292addb Error on `remoteAuthority` in Local Workspace File. Fixes #118023 6b3313141de make sure local dispoables are disposed and cleared, https://github.com/microsoft/vscode/issues/117675 d13b7ff3641 one class, one variable style, https://github.com/microsoft/vscode/issues/117675 2e9fde23fdd add todo-tag for InlineHint, https://github.com/microsoft/vscode/issues/105690 0a49559a443 Mitigates #118008, better fix TBD a795f49b097 more enforcement of readonly nb doc. 62cfd68c779 absolutely no polish POC feature list d82bb46c445 do not prompt for confirmation in editor ed94b5d7562 allow text selection of description 6979a39169a move webview resolved state internal. c113b806cca re-organize notebook editor widget methods. 1614e28a11c remove notebook editor widget methods not used. c70fb23a27b 📓 move decorations out. 52bce12c25e testing: fix up wording in api 25b5db4d55c testing: make workspace test hierarchy required 94cda08af53 testing: make runTests required 9fbc8811428 testing: make hidden state more clear 2cc1a8061d1 Fix VSCode spacing cf3faa40460 Don't relaunch extension owned terminals (#117987) 6c6caf678fe Don't force kill ptys on Windows on window exit 7b91cd85284 less exclamation 6643b5e520b de-dup: uri. 0eb8c53f90b de-dup, NotebookEditorWidget#willDispose, didScroll. 623741272a2 Add activeCustomEditorId context 08ceea18aa0 rpm-spec: fix the wrong claim about working on EL7 e3829dc2477 Add 'prune' option to fetch in git extension API (#117923) 975dfff6db6 Emmet: Change the type of emmet extensions path (#117946) cc5db258239 testing: fix NaN if 0 tests ran fe353a54240 testing: close error peek view when test run starts 7d1751444b2 testing: fix tree view overflowing container b6251fc0baf testing: fix 'run in current file' running all tests da98cc6e94d testing: fix run at cursor discovering indefinitely 7c1305782b1 testing: adopt new autorun icon 4a6488c6d03 Move kernel/execution code out of NotebookEditorWidget for testability b629d888ca6 Bump Emmet yarn, fixes #117154, fixes #97632 5073e6f1fe5 fixes #117968 f97dd62ece6 Make sure we use the cannonical uri for file move target 1155803d134 Use case-insensitive check for file extensions bb8b693479b Mark properties readonly 20ec5b80085 Reuse generic open with logic for custom editors 75b5207f850 Extract BaseToWebviewMessage interface 4e4c43f30fd Update distro e994e5ab498 Persistent terminal id -> Persistent process id 647773d7e68 Rename terminal id to instance id 88d9e2b46b7 Refactor second task test f8c41a80b0d Refactor first task test c8fc575275d Ignore terminal events not related to task test e62bf133c45 fixes #117575 15c02651811 use one element for focused/active item in actbar fixes #117584 cd9ce538ba5 Add shouldPersist terminal tests c6d6bda7197 Merge pull request #117974 from ko1/patch-1 20096095f19 fix extension readme not rendering img width height (#117961) 2b50ba174f3 refs #117960 5d4377de987 March for API issues 72de8e9be86 add region markers to isTelemetryEnabled proposal, https://github.com/microsoft/vscode/issues/110267 ff225b9fcce add telemetry enablement api (#117944) 4de8cb29073 increase accessibility page size to 2000 9692037daa9 Update vscode.d.ts 9e4520310ed Fix remote terminal reconnect 85cbc2bc7ce cancel parameter hints when editor blurs, https://github.com/microsoft/vscode/issues/115265 44955421ae7 fix https://github.com/microsoft/vscode/issues/117431 7bc94131f17 change anyScore so it repeatedly run fuzzyScore on substrings of the pattern, https://github.com/microsoft/vscode/issues/116683 0018625d00e more details in explain dialog, https://github.com/microsoft/vscode/issues/116683 e2c5ff9db00 do not auto open pasted file 2022aede921 Return early on promise reject. ed1118b27b1 Support empty messages during location import 58ab537f4fc Debt: descriptions/hide context keys (tree, ports, tasks) 66b7ffaabf9 simplify $tryShowNotebookDocument further 65e28321240 use label service to infer name of notebook input 83f40886812 notebook - simplify group/viewColumn handling when opening a notebook editor via API df8763cfff7 api todos for notebook cell be11cb2de00 disable failing test (#117446) f70433a596a fixes #117910 73f9f126fb2 fix tests 932c7e247dc 🆙 distro 8c1bfcb569a services - distinguish environment services (#117881) 5510ee9c51d services - distinguish layout services (#117881) 6c13c8f4ed2 de-deup: getContextFromEditor. 9f7d229461a Extract decorateFileEditorLabel to a common function d7f90c7dbcf re #114554. d9d5e5d9c38 Merge branch 'main' into digitarald/ces e3bc5abc511 Draft for ces survey 400737c5b89 Pass 'data' to completion details request (#117092) 5d6ea08985d fix #116751. 01025340392 Splits clone/docs welcome Allow GitHub Browser entry in the middle 015ca030c4b tests for selections for navigation and hidden ranges. 177e3474c5a consolidate index/handle update api. 1f08b8f9024 wrong use handle/selection 460ebdaaf5b Aggregates welcome view registration by view id 9d071596951 debug: bump js-debug-companion version 811dc8d45a0 Remove authentication provider package.json declaration 8e37e4722ec Fixes #74505 (#117807) 5aeafe2b209 Fix Emmet issue where incorrect abbreviation is displayed in an html document (#117759) b3ade044793 fixes #117924 0c9476a0b6b testing: fix tree not updating if nodes are replaced with same id f18a3400668 Use method instead of event c30e2d46b2a Fix emmet update extensions path issue (#117797) e4a69193d04 Merge pull request #117138 from shskwmt/fix/116822 a13f7ee916b actionBar: home and end should navigate to first and last item respectively 721514f2c1d Merge pull request #117832 from jeanp413/fix-117354 98883cf3b11 remove actionBar.reverse orientation 0bf5569f02c seti: use CONTRIBUTING c3e2c76f762 add failing, skipped test for https://github.com/microsoft/vscode/issues/117899 edadf1c7194 Implement shouldPersist for all terminals processes 884ed1e3f33 Use initial instead of unset b803df2435c Fix top shadow issue 3559e47c08d update gulp-tsb bf894811515 Some Ports view clean up 73112daff11 Remove extra check that is not needed e9166375289 tests - enable color output for integration tests 32b3afadcbe support to make N outline entries from 1 cell, https://github.com/microsoft/vscode/issues/115200 85588252af1 notebook - make outline entries use the heading text has preview text b139c10f9a8 add tests for notebook outline de020f04d13 debt - make withTestNotebook easier to use a04913af757 Merge pull request #117716 from microsoft/tyriar/115396 d5eeb40b557 better focus for select boxes in action bars a2bacaf9fc3 Reverting the top margin to avoid a regression e4e9d1f43b2 Fix grammar 1c4daf4886c Merge pull request #117842 from TranquilMarmot/main 6a864f0b679 Add line height for title ba83910eb76 Remove duplicate tooltip 8baa0ebc750 Fixes title casing 36b0a209a51 backups - consolidate web and desktop strategy for backups when auto save is on b44cc868901 Revisit loose primary group check , use string instead of isPrimaryCheck 12675b4797e missing await 19aee3b6ddf untitled.hint let's go back to the button as the default 6dc076b5c4d debt - tackle an old todo aacafc75b37 debt - use CompletionItem#textLabel in more places f5153bbdacd use CompletionItem#textLabel 3c62a8f898b tabs - track last tab in row for wrapping de50318b48f text files - open an editor that fails to auto save (#115840) b497d17fec9 View: Maximize editor group" doesnt work with dragged file between editors (fix #117686) 3aff1320b81 my work for march b99df4f2b6e don't pass model service to applyEdit but check model version for edit that come from extensions, fixes https://github.com/microsoft/vscode/issues/117683 8fd4a68845f Factor in workspace trust when switching versions (#117774) f84aa806e45 🆙 distro 23dca79e8e9 🆙 nsfwatcher (#117871) 0a7ea106e6e Merge remote-tracking branch 'bpasero/ben/march-debt' f3ec084d542 Update seti-ui icon theme b061ac534cb Fix #117833 f3f4eebecbd Label custom editor as deleted if the backing file is deleted 64db4d5a1a5 Fixes #117354 d89e2e17a5d Allow single line comment after `{` for auto indent 5766526b0b3 Port the desktop iframe webivew focus improvements to the web 8572664c6c7 Enable semantic features (such as error reporting) in JS/TS notebook cells a74ebb17cfe Add helper for tracking active js/ts editor 1f567e10f37 Fixing two more cases for promises in conditionals 3feb2ece1ed Pick up latest TS version for building VS Code 5c7c41fc3d2 Merge pull request #117723 from microsoft/rebornix/reduce-markdown-flickering 91d73da5e42 Only show `infer return type` refactoring when refactorings are requested d596c568451 fix altClickMovesCursor setting description -> markdownDescription (#117793) a4187782439 Merge remote-tracking branch 'origin/main' into tyriar/remove_flow_control d0a46a03279 Merge pull request #117734 from jeanp413/fix-117682 ba9c72b1ff7 Merge pull request #117762 from microsoft/tyriar/remove_ext_host_proc cadb56785ab Merge branch 'main' into tyriar/remove_ext_host_proc e0b4ebc148d Merge remote-tracking branch 'origin/main' into tyriar/remove_flow_control f4c1da9ca64 Update distro ce4bbc7a19e bump version to 1.55 abdf5767046 ipc - allow to configure proxy c41922bf427 chore - cleanup registerSingleton service usages 91a246998c2 Remove flow control setting bd272ea6b74 chore - have a single display change listener 1f0f03e4a03 ipc - adopt utility methods (#114418) df5d7c257df Remove exthost terminal processes 5f234672f57 fix: only use the readonly attribute on the IOS 509cd79dbd6 text file model - drop custom touch method and just go through normal save code 437904db063 file service - add a atomic read option 45f5c4d43f0 Fixes #117682 3d988a6800f Remove focus handling on the xterm element 9a9551b89fc pfs - copy should preserve dangling symbolic links 1e799f5a17e anything quick pick - only restore editor view state in certain cases acea3970993 workspaces - use recursive mkdirSync a469f5eafaa storage - rename storageservice2 => storageservice 2ab5a60c0b8 storage - drop old node based storage service 5fabc0d9dc1 smoke test - remove code only needed for stable january release f5d9bdc8466 fix microsoft/vscode#117095 de-duplicate location results 4cda94b60c1 Remove escaping whitespace characters 495c0e996ad fix cursor position when at the start of RTL syntax tokens 234c7a45fee refactor change to fix fault and reduce diff bf426c250ec structure FilterOptions.textFilter to hold negate flag 03ad36a18b6 Fix negation logic for filterResourceMarkers and filterRelatedInformation 878b0087e06 simplify negate logic in filterMarker 5a6c46fe60a fix #62531 support negation in text filter of Problems 490d7e38da9 Merge branch 'master' into fix-95671 057a47c1b62 Merge branch 'master' into fix-95671 8b73103dedf Merge branch 'master' of https://github.com/matthew-haines/vscode ac89d9ef71f Fixed logic for setCollapseStateForRest and alt-click in editor 9e1b929816d Fixed logic for setCollapseStateForRest 330f6052ebb Added actions for folding/unfolding all regions except selected 8ef113d399c Added collapse surrounding regions with alt-click 3374969a2cb Fixes #95671 REVERT: fd6f3bce670 chore: bump electron@11.3.0 (#118680) REVERT: 305bf142199 Remove icon from input row in ports view (#118649) REVERT: b5af426d34c Properly dispose everything in tunnel view cells (#118546) REVERT: f299ec03c2a Fix extra port icon (#118529) REVERT: 62dbffbfe91 Merge pull request #118177 from microsoft/joh/bump-version REVERT: 062c67a3210 Merge pull request #118491 from microsoft/env-var-recovery REVERT: e11b6a730c9 Fix #117903 (#118492) REVERT: e7936a3e885 prevent env var relaunch from extension owned terminals REVERT: 3be37a725d6 Merge pull request #118438 from microsoft/tyriar/1_54_117990 REVERT: d461d2fd311 Merge pull request #118265 from microsoft/connor4312/candidate/js-debug-1.54.5 REVERT: 88b4d3f9a4e Merge pull request #118448 from microsoft/tyriar/1_54_118321 REVERT: c48a57b6988 Merge pull request #118437 from microsoft/tyriar/1_54_117956 REVERT: d68ab8fc717 Don't force create a terminal on no reconnect REVERT: f9e6b352d1c Recover on pty host reconnect REVERT: b31f6e1afea Don't force kill ptys on Windows on window exit REVERT: bd655647d79 fixes #118214 (#118425) REVERT: 3a6b7f7cbdc editors - fix mergeAllGroups (#118268) (#118406) REVERT: 06c5e24837e FileSystemProvider extension: throwing a FileSystemError in readFile does not report to user (#118173) REVERT: 61feeef2289 Renaming a folder adds it to history (fix #118080) (#118174) REVERT: dd74fb1d885 debug: update js-debug REVERT: 362f7e441ff Pick up TS 4.2.3 (#118261) REVERT: 6b7199812b4 Don't assume uncompleted category exists (#118250) REVERT: 21ea885f455 Merge pull request #118167 from microsoft/connor4312/candidate/js-debug-1.54.4 REVERT: de16aa4bae0 bump version to future 1.54.2 REVERT: 87ff6fb52f1 debug: update js-debug REVERT: f30a9b73e8f bump version (#118144) REVERT: a25525922cd update distro (#118129) REVERT: 42e27fe5cdc Merge pull request #117982 from microsoft/roblou/settingsOpenEditor REVERT: ac575425edc Ensure EditorOptions subclass is passed to openEditor Fix #117952 REVERT: 911868fa126 refs #117960 (#117976) REVERT: 62c69b32bf7 Merge pull request #117972 from microsoft/tyriar/r_1_54_remote_reconnect REVERT: 564f3917935 Fix remote terminal reconnect REVERT: e7989863202 fixes #117924 (#117925) REVERT: c4d7a739c9b Terminal cannot input (#117915) REVERT: 5266d3cc7f3 Merge pull request #117898 from microsoft/tyriar/r1_54_remote_reconnect REVERT: 6f0e457db3f Fix emmet update extensions path issue (#117797) REVERT: 66c7b551727 Implement shouldPersist for all terminals processes REVERT: ae03e39735b Only show `infer return type` refactoring when refactorings are requested (#117800) git-subtree-dir: lib/vscode git-subtree-split: ead2c2ab0f5c93b11e223fd8f4493939be2ee0de
825 lines
26 KiB
TypeScript
825 lines
26 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 { window, Pseudoterminal, EventEmitter, TerminalDimensions, workspace, ConfigurationTarget, Disposable, UIKind, env, EnvironmentVariableMutatorType, EnvironmentVariableMutator, extensions, ExtensionContext, TerminalOptions, ExtensionTerminalOptions, Terminal } from 'vscode';
|
|
import { doesNotThrow, equal, deepEqual, throws, strictEqual } from 'assert';
|
|
import { assertNoRpc } from '../utils';
|
|
|
|
// Disable terminal tests:
|
|
// - Web https://github.com/microsoft/vscode/issues/92826
|
|
(env.uiKind === UIKind.Web ? suite.skip : suite)('vscode API - terminal', () => {
|
|
let extensionContext: ExtensionContext;
|
|
|
|
suiteSetup(async () => {
|
|
// Trigger extension activation and grab the context as some tests depend on it
|
|
await extensions.getExtension('vscode.vscode-api-tests')?.activate();
|
|
extensionContext = (global as any).testExtensionContext;
|
|
|
|
const config = workspace.getConfiguration('terminal.integrated');
|
|
// Disable conpty in integration tests because of https://github.com/microsoft/vscode/issues/76548
|
|
await config.update('windowsEnableConpty', false, ConfigurationTarget.Global);
|
|
// Disable exit alerts as tests may trigger then and we're not testing the notifications
|
|
await config.update('showExitAlert', false, ConfigurationTarget.Global);
|
|
// Canvas may cause problems when running in a container
|
|
await config.update('rendererType', 'dom', ConfigurationTarget.Global);
|
|
// Disable env var relaunch for tests to prevent terminals relaunching themselves
|
|
await config.update('environmentChangesRelaunch', false, ConfigurationTarget.Global);
|
|
});
|
|
|
|
suite('Terminal', () => {
|
|
let disposables: Disposable[] = [];
|
|
|
|
teardown(() => {
|
|
assertNoRpc();
|
|
disposables.forEach(d => d.dispose());
|
|
disposables.length = 0;
|
|
});
|
|
|
|
test('sendText immediately after createTerminal should not throw', async () => {
|
|
const terminal = window.createTerminal();
|
|
const result = await new Promise<Terminal>(r => {
|
|
disposables.push(window.onDidOpenTerminal(t => {
|
|
if (t === terminal) {
|
|
r(t);
|
|
}
|
|
}));
|
|
});
|
|
equal(result, terminal);
|
|
doesNotThrow(terminal.sendText.bind(terminal, 'echo "foo"'));
|
|
await new Promise<void>(r => {
|
|
disposables.push(window.onDidCloseTerminal(t => {
|
|
if (t === terminal) {
|
|
r();
|
|
}
|
|
}));
|
|
terminal.dispose();
|
|
});
|
|
});
|
|
|
|
test('echo works in the default shell', async () => {
|
|
const terminal = await new Promise<Terminal>(r => {
|
|
disposables.push(window.onDidOpenTerminal(t => {
|
|
if (t === terminal) {
|
|
r(terminal);
|
|
}
|
|
}));
|
|
// Use a single character to avoid winpty/conpty issues with injected sequences
|
|
const terminal = window.createTerminal({
|
|
env: { TEST: '`' }
|
|
});
|
|
terminal.show();
|
|
});
|
|
|
|
let data = '';
|
|
await new Promise<void>(r => {
|
|
disposables.push(window.onDidWriteTerminalData(e => {
|
|
if (e.terminal === terminal) {
|
|
data += e.data;
|
|
if (data.indexOf('`') !== 0) {
|
|
r();
|
|
}
|
|
}
|
|
}));
|
|
// Print an environment variable value so the echo statement doesn't get matched
|
|
if (process.platform === 'win32') {
|
|
terminal.sendText(`$env:TEST`);
|
|
} else {
|
|
terminal.sendText(`echo $TEST`);
|
|
}
|
|
});
|
|
|
|
await new Promise<void>(r => {
|
|
terminal.dispose();
|
|
disposables.push(window.onDidCloseTerminal(t => {
|
|
strictEqual(terminal, t);
|
|
r();
|
|
}));
|
|
});
|
|
});
|
|
|
|
test('onDidCloseTerminal event fires when terminal is disposed', async () => {
|
|
const terminal = window.createTerminal();
|
|
const result = await new Promise<Terminal>(r => {
|
|
disposables.push(window.onDidOpenTerminal(t => {
|
|
if (t === terminal) {
|
|
r(t);
|
|
}
|
|
}));
|
|
});
|
|
equal(result, terminal);
|
|
await new Promise<void>(r => {
|
|
disposables.push(window.onDidCloseTerminal(t => {
|
|
if (t === terminal) {
|
|
r();
|
|
}
|
|
}));
|
|
terminal.dispose();
|
|
});
|
|
});
|
|
|
|
test('processId immediately after createTerminal should fetch the pid', async () => {
|
|
const terminal = window.createTerminal();
|
|
const result = await new Promise<Terminal>(r => {
|
|
disposables.push(window.onDidOpenTerminal(t => {
|
|
if (t === terminal) {
|
|
r(t);
|
|
}
|
|
}));
|
|
});
|
|
equal(result, terminal);
|
|
let pid = await result.processId;
|
|
equal(true, pid && pid > 0);
|
|
await new Promise<void>(r => {
|
|
disposables.push(window.onDidCloseTerminal(t => {
|
|
if (t === terminal) {
|
|
r();
|
|
}
|
|
}));
|
|
terminal.dispose();
|
|
});
|
|
});
|
|
|
|
test('name in constructor should set terminal.name', async () => {
|
|
const terminal = window.createTerminal('a');
|
|
const result = await new Promise<Terminal>(r => {
|
|
disposables.push(window.onDidOpenTerminal(t => {
|
|
if (t === terminal) {
|
|
r(t);
|
|
}
|
|
}));
|
|
});
|
|
equal(result, terminal);
|
|
await new Promise<void>(r => {
|
|
disposables.push(window.onDidCloseTerminal(t => {
|
|
if (t === terminal) {
|
|
r();
|
|
}
|
|
}));
|
|
terminal.dispose();
|
|
});
|
|
});
|
|
|
|
test('creationOptions should be set and readonly for TerminalOptions terminals', async () => {
|
|
const options = {
|
|
name: 'foo',
|
|
hideFromUser: true
|
|
};
|
|
const terminal = window.createTerminal(options);
|
|
const terminalOptions = terminal.creationOptions as TerminalOptions;
|
|
const result = await new Promise<Terminal>(r => {
|
|
disposables.push(window.onDidOpenTerminal(t => {
|
|
if (t === terminal) {
|
|
r(t);
|
|
}
|
|
}));
|
|
});
|
|
equal(result, terminal);
|
|
await new Promise<void>(r => {
|
|
disposables.push(window.onDidCloseTerminal(t => {
|
|
if (t === terminal) {
|
|
r();
|
|
}
|
|
}));
|
|
terminal.dispose();
|
|
});
|
|
throws(() => terminalOptions.name = 'bad', 'creationOptions should be readonly at runtime');
|
|
});
|
|
|
|
test('onDidOpenTerminal should fire when a terminal is created', async () => {
|
|
const terminal = window.createTerminal('b');
|
|
const result = await new Promise<Terminal>(r => {
|
|
disposables.push(window.onDidOpenTerminal(t => {
|
|
if (t === terminal) {
|
|
r(t);
|
|
}
|
|
}));
|
|
});
|
|
equal(result, terminal);
|
|
await new Promise<void>(r => {
|
|
disposables.push(window.onDidCloseTerminal(t => {
|
|
if (t === terminal) {
|
|
r();
|
|
}
|
|
}));
|
|
terminal.dispose();
|
|
});
|
|
});
|
|
|
|
test('exitStatus.code should be set to undefined after a terminal is disposed', async () => {
|
|
const terminal = window.createTerminal();
|
|
const result = await new Promise<Terminal>(r => {
|
|
disposables.push(window.onDidOpenTerminal(t => {
|
|
if (t === terminal) {
|
|
r(t);
|
|
}
|
|
}));
|
|
});
|
|
equal(result, terminal);
|
|
await new Promise<void>(r => {
|
|
disposables.push(window.onDidCloseTerminal(t => {
|
|
if (t === terminal) {
|
|
deepEqual(t.exitStatus, { code: undefined });
|
|
r();
|
|
}
|
|
}));
|
|
terminal.dispose();
|
|
});
|
|
});
|
|
|
|
// test('onDidChangeActiveTerminal should fire when new terminals are created', (done) => {
|
|
// const reg1 = window.onDidChangeActiveTerminal((active: Terminal | undefined) => {
|
|
// equal(active, terminal);
|
|
// equal(active, window.activeTerminal);
|
|
// reg1.dispose();
|
|
// const reg2 = window.onDidChangeActiveTerminal((active: Terminal | undefined) => {
|
|
// equal(active, undefined);
|
|
// equal(active, window.activeTerminal);
|
|
// reg2.dispose();
|
|
// done();
|
|
// });
|
|
// terminal.dispose();
|
|
// });
|
|
// const terminal = window.createTerminal();
|
|
// terminal.show();
|
|
// });
|
|
|
|
// test('onDidChangeTerminalDimensions should fire when new terminals are created', (done) => {
|
|
// const reg1 = window.onDidChangeTerminalDimensions(async (event: TerminalDimensionsChangeEvent) => {
|
|
// equal(event.terminal, terminal1);
|
|
// equal(typeof event.dimensions.columns, 'number');
|
|
// equal(typeof event.dimensions.rows, 'number');
|
|
// ok(event.dimensions.columns > 0);
|
|
// ok(event.dimensions.rows > 0);
|
|
// reg1.dispose();
|
|
// let terminal2: Terminal;
|
|
// const reg2 = window.onDidOpenTerminal((newTerminal) => {
|
|
// // This is guarantees to fire before dimensions change event
|
|
// if (newTerminal !== terminal1) {
|
|
// terminal2 = newTerminal;
|
|
// reg2.dispose();
|
|
// }
|
|
// });
|
|
// let firstCalled = false;
|
|
// let secondCalled = false;
|
|
// const reg3 = window.onDidChangeTerminalDimensions((event: TerminalDimensionsChangeEvent) => {
|
|
// if (event.terminal === terminal1) {
|
|
// // The original terminal should fire dimension change after a split
|
|
// firstCalled = true;
|
|
// } else if (event.terminal !== terminal1) {
|
|
// // The new split terminal should fire dimension change
|
|
// secondCalled = true;
|
|
// }
|
|
// if (firstCalled && secondCalled) {
|
|
// let firstDisposed = false;
|
|
// let secondDisposed = false;
|
|
// const reg4 = window.onDidCloseTerminal(term => {
|
|
// if (term === terminal1) {
|
|
// firstDisposed = true;
|
|
// }
|
|
// if (term === terminal2) {
|
|
// secondDisposed = true;
|
|
// }
|
|
// if (firstDisposed && secondDisposed) {
|
|
// reg4.dispose();
|
|
// done();
|
|
// }
|
|
// });
|
|
// terminal1.dispose();
|
|
// terminal2.dispose();
|
|
// reg3.dispose();
|
|
// }
|
|
// });
|
|
// await timeout(500);
|
|
// commands.executeCommand('workbench.action.terminal.split');
|
|
// });
|
|
// const terminal1 = window.createTerminal({ name: 'test' });
|
|
// terminal1.show();
|
|
// });
|
|
|
|
suite('hideFromUser', () => {
|
|
test('should be available to terminals API', async () => {
|
|
const terminal = window.createTerminal({ name: 'bg', hideFromUser: true });
|
|
const result = await new Promise<Terminal>(r => {
|
|
disposables.push(window.onDidOpenTerminal(t => {
|
|
if (t === terminal) {
|
|
r(t);
|
|
}
|
|
}));
|
|
});
|
|
equal(result, terminal);
|
|
equal(true, window.terminals.indexOf(terminal) !== -1);
|
|
await new Promise<void>(r => {
|
|
disposables.push(window.onDidCloseTerminal(t => {
|
|
if (t === terminal) {
|
|
r();
|
|
}
|
|
}));
|
|
terminal.dispose();
|
|
});
|
|
});
|
|
});
|
|
|
|
suite('window.onDidWriteTerminalData', () => {
|
|
test('should listen to all future terminal data events', (done) => {
|
|
const openEvents: string[] = [];
|
|
const dataEvents: { name: string, data: string }[] = [];
|
|
const closeEvents: string[] = [];
|
|
disposables.push(window.onDidOpenTerminal(e => openEvents.push(e.name)));
|
|
|
|
let resolveOnceDataWritten: (() => void) | undefined;
|
|
let resolveOnceClosed: (() => void) | undefined;
|
|
|
|
disposables.push(window.onDidWriteTerminalData(e => {
|
|
dataEvents.push({ name: e.terminal.name, data: e.data });
|
|
|
|
resolveOnceDataWritten!();
|
|
}));
|
|
|
|
disposables.push(window.onDidCloseTerminal(e => {
|
|
closeEvents.push(e.name);
|
|
try {
|
|
if (closeEvents.length === 1) {
|
|
deepEqual(openEvents, ['test1']);
|
|
deepEqual(dataEvents, [{ name: 'test1', data: 'write1' }]);
|
|
deepEqual(closeEvents, ['test1']);
|
|
} else if (closeEvents.length === 2) {
|
|
deepEqual(openEvents, ['test1', 'test2']);
|
|
deepEqual(dataEvents, [{ name: 'test1', data: 'write1' }, { name: 'test2', data: 'write2' }]);
|
|
deepEqual(closeEvents, ['test1', 'test2']);
|
|
}
|
|
resolveOnceClosed!();
|
|
} catch (e) {
|
|
done(e);
|
|
}
|
|
}));
|
|
|
|
const term1Write = new EventEmitter<string>();
|
|
const term1Close = new EventEmitter<void>();
|
|
window.createTerminal({
|
|
name: 'test1', pty: {
|
|
onDidWrite: term1Write.event,
|
|
onDidClose: term1Close.event,
|
|
open: async () => {
|
|
term1Write.fire('write1');
|
|
|
|
// Wait until the data is written
|
|
await new Promise<void>(resolve => { resolveOnceDataWritten = resolve; });
|
|
|
|
term1Close.fire();
|
|
|
|
// Wait until the terminal is closed
|
|
await new Promise<void>(resolve => { resolveOnceClosed = resolve; });
|
|
|
|
const term2Write = new EventEmitter<string>();
|
|
const term2Close = new EventEmitter<void>();
|
|
window.createTerminal({
|
|
name: 'test2', pty: {
|
|
onDidWrite: term2Write.event,
|
|
onDidClose: term2Close.event,
|
|
open: async () => {
|
|
term2Write.fire('write2');
|
|
|
|
// Wait until the data is written
|
|
await new Promise<void>(resolve => { resolveOnceDataWritten = resolve; });
|
|
|
|
term2Close.fire();
|
|
|
|
// Wait until the terminal is closed
|
|
await new Promise<void>(resolve => { resolveOnceClosed = resolve; });
|
|
|
|
done();
|
|
},
|
|
close: () => { }
|
|
}
|
|
});
|
|
},
|
|
close: () => { }
|
|
}
|
|
});
|
|
});
|
|
});
|
|
|
|
suite('Extension pty terminals', () => {
|
|
test('should fire onDidOpenTerminal and onDidCloseTerminal', (done) => {
|
|
disposables.push(window.onDidOpenTerminal(term => {
|
|
try {
|
|
equal(term.name, 'c');
|
|
} catch (e) {
|
|
done(e);
|
|
return;
|
|
}
|
|
disposables.push(window.onDidCloseTerminal(() => done()));
|
|
term.dispose();
|
|
}));
|
|
const pty: Pseudoterminal = {
|
|
onDidWrite: new EventEmitter<string>().event,
|
|
open: () => { },
|
|
close: () => { }
|
|
};
|
|
window.createTerminal({ name: 'c', pty });
|
|
});
|
|
|
|
// The below tests depend on global UI state and each other
|
|
// test('should not provide dimensions on start as the terminal has not been shown yet', (done) => {
|
|
// const reg1 = window.onDidOpenTerminal(term => {
|
|
// equal(terminal, term);
|
|
// reg1.dispose();
|
|
// });
|
|
// const pty: Pseudoterminal = {
|
|
// onDidWrite: new EventEmitter<string>().event,
|
|
// open: (dimensions) => {
|
|
// equal(dimensions, undefined);
|
|
// const reg3 = window.onDidCloseTerminal(() => {
|
|
// reg3.dispose();
|
|
// done();
|
|
// });
|
|
// // Show a terminal and wait a brief period before dispose, this will cause
|
|
// // the panel to init it's dimenisons and be provided to following terminals.
|
|
// // The following test depends on this.
|
|
// terminal.show();
|
|
// setTimeout(() => terminal.dispose(), 200);
|
|
// },
|
|
// close: () => {}
|
|
// };
|
|
// const terminal = window.createTerminal({ name: 'foo', pty });
|
|
// });
|
|
// test('should provide dimensions on start as the terminal has been shown', (done) => {
|
|
// const reg1 = window.onDidOpenTerminal(term => {
|
|
// equal(terminal, term);
|
|
// reg1.dispose();
|
|
// });
|
|
// const pty: Pseudoterminal = {
|
|
// onDidWrite: new EventEmitter<string>().event,
|
|
// open: (dimensions) => {
|
|
// // This test depends on Terminal.show being called some time before such
|
|
// // that the panel dimensions are initialized and cached.
|
|
// ok(dimensions!.columns > 0);
|
|
// ok(dimensions!.rows > 0);
|
|
// const reg3 = window.onDidCloseTerminal(() => {
|
|
// reg3.dispose();
|
|
// done();
|
|
// });
|
|
// terminal.dispose();
|
|
// },
|
|
// close: () => {}
|
|
// };
|
|
// const terminal = window.createTerminal({ name: 'foo', pty });
|
|
// });
|
|
|
|
test('should respect dimension overrides', (done) => {
|
|
disposables.push(window.onDidOpenTerminal(term => {
|
|
try {
|
|
equal(terminal, term);
|
|
} catch (e) {
|
|
done(e);
|
|
return;
|
|
}
|
|
term.show();
|
|
disposables.push(window.onDidChangeTerminalDimensions(e => {
|
|
// The default pty dimensions have a chance to appear here since override
|
|
// dimensions happens after the terminal is created. If so just ignore and
|
|
// wait for the right dimensions
|
|
if (e.dimensions.columns === 10 || e.dimensions.rows === 5) {
|
|
try {
|
|
equal(e.terminal, terminal);
|
|
} catch (e) {
|
|
done(e);
|
|
return;
|
|
}
|
|
disposables.push(window.onDidCloseTerminal(() => done()));
|
|
terminal.dispose();
|
|
}
|
|
}));
|
|
}));
|
|
const writeEmitter = new EventEmitter<string>();
|
|
const overrideDimensionsEmitter = new EventEmitter<TerminalDimensions>();
|
|
const pty: Pseudoterminal = {
|
|
onDidWrite: writeEmitter.event,
|
|
onDidOverrideDimensions: overrideDimensionsEmitter.event,
|
|
open: () => overrideDimensionsEmitter.fire({ columns: 10, rows: 5 }),
|
|
close: () => { }
|
|
};
|
|
const terminal = window.createTerminal({ name: 'foo', pty });
|
|
});
|
|
|
|
test('exitStatus.code should be set to the exit code (undefined)', (done) => {
|
|
disposables.push(window.onDidOpenTerminal(term => {
|
|
try {
|
|
equal(terminal, term);
|
|
equal(terminal.exitStatus, undefined);
|
|
} catch (e) {
|
|
done(e);
|
|
return;
|
|
}
|
|
disposables.push(window.onDidCloseTerminal(t => {
|
|
try {
|
|
equal(terminal, t);
|
|
deepEqual(terminal.exitStatus, { code: undefined });
|
|
} catch (e) {
|
|
done(e);
|
|
return;
|
|
}
|
|
done();
|
|
}));
|
|
}));
|
|
const writeEmitter = new EventEmitter<string>();
|
|
const closeEmitter = new EventEmitter<number | undefined>();
|
|
const pty: Pseudoterminal = {
|
|
onDidWrite: writeEmitter.event,
|
|
onDidClose: closeEmitter.event,
|
|
open: () => closeEmitter.fire(undefined),
|
|
close: () => { }
|
|
};
|
|
const terminal = window.createTerminal({ name: 'foo', pty });
|
|
});
|
|
|
|
test('exitStatus.code should be set to the exit code (zero)', (done) => {
|
|
disposables.push(window.onDidOpenTerminal(term => {
|
|
try {
|
|
equal(terminal, term);
|
|
equal(terminal.exitStatus, undefined);
|
|
} catch (e) {
|
|
done(e);
|
|
return;
|
|
}
|
|
disposables.push(window.onDidCloseTerminal(t => {
|
|
try {
|
|
equal(terminal, t);
|
|
deepEqual(terminal.exitStatus, { code: 0 });
|
|
} catch (e) {
|
|
done(e);
|
|
return;
|
|
}
|
|
done();
|
|
}));
|
|
}));
|
|
const writeEmitter = new EventEmitter<string>();
|
|
const closeEmitter = new EventEmitter<number | undefined>();
|
|
const pty: Pseudoterminal = {
|
|
onDidWrite: writeEmitter.event,
|
|
onDidClose: closeEmitter.event,
|
|
open: () => closeEmitter.fire(0),
|
|
close: () => { }
|
|
};
|
|
const terminal = window.createTerminal({ name: 'foo', pty });
|
|
});
|
|
|
|
test('exitStatus.code should be set to the exit code (non-zero)', (done) => {
|
|
disposables.push(window.onDidOpenTerminal(term => {
|
|
try {
|
|
equal(terminal, term);
|
|
equal(terminal.exitStatus, undefined);
|
|
} catch (e) {
|
|
done(e);
|
|
return;
|
|
}
|
|
disposables.push(window.onDidCloseTerminal(t => {
|
|
try {
|
|
equal(terminal, t);
|
|
deepEqual(terminal.exitStatus, { code: 22 });
|
|
} catch (e) {
|
|
done(e);
|
|
return;
|
|
}
|
|
done();
|
|
}));
|
|
}));
|
|
const writeEmitter = new EventEmitter<string>();
|
|
const closeEmitter = new EventEmitter<number | undefined>();
|
|
const pty: Pseudoterminal = {
|
|
onDidWrite: writeEmitter.event,
|
|
onDidClose: closeEmitter.event,
|
|
open: () => {
|
|
// Wait 500ms as any exits that occur within 500ms of terminal launch are
|
|
// are counted as "exiting during launch" which triggers a notification even
|
|
// when showExitAlerts is true
|
|
setTimeout(() => closeEmitter.fire(22), 500);
|
|
},
|
|
close: () => { }
|
|
};
|
|
const terminal = window.createTerminal({ name: 'foo', pty });
|
|
});
|
|
|
|
test('creationOptions should be set and readonly for ExtensionTerminalOptions terminals', (done) => {
|
|
disposables.push(window.onDidOpenTerminal(term => {
|
|
try {
|
|
equal(terminal, term);
|
|
} catch (e) {
|
|
done(e);
|
|
return;
|
|
}
|
|
terminal.dispose();
|
|
disposables.push(window.onDidCloseTerminal(() => done()));
|
|
}));
|
|
const writeEmitter = new EventEmitter<string>();
|
|
const pty: Pseudoterminal = {
|
|
onDidWrite: writeEmitter.event,
|
|
open: () => { },
|
|
close: () => { }
|
|
};
|
|
const options = { name: 'foo', pty };
|
|
const terminal = window.createTerminal(options);
|
|
try {
|
|
equal(terminal.name, 'foo');
|
|
const terminalOptions = terminal.creationOptions as ExtensionTerminalOptions;
|
|
equal(terminalOptions.name, 'foo');
|
|
equal(terminalOptions.pty, pty);
|
|
throws(() => terminalOptions.name = 'bad', 'creationOptions should be readonly at runtime');
|
|
} catch (e) {
|
|
done(e);
|
|
}
|
|
});
|
|
});
|
|
|
|
suite('environmentVariableCollection', () => {
|
|
test.skip('should have collection variables apply to terminals immediately after setting', (done) => {
|
|
// Text to match on before passing the test
|
|
const expectedText = [
|
|
'~a2~',
|
|
'b1~b2~',
|
|
'~c2~c1'
|
|
];
|
|
disposables.push(window.onDidWriteTerminalData(e => {
|
|
if (terminal !== e.terminal) {
|
|
return;
|
|
}
|
|
// Multiple expected could show up in the same data event
|
|
while (expectedText.length > 0 && e.data.indexOf(expectedText[0]) >= 0) {
|
|
expectedText.shift();
|
|
// Check if all string are found, if so finish the test
|
|
if (expectedText.length === 0) {
|
|
disposables.push(window.onDidCloseTerminal(() => done()));
|
|
terminal.dispose();
|
|
}
|
|
}
|
|
}));
|
|
const collection = extensionContext.environmentVariableCollection;
|
|
disposables.push({ dispose: () => collection.clear() });
|
|
collection.replace('A', '~a2~');
|
|
collection.append('B', '~b2~');
|
|
collection.prepend('C', '~c2~');
|
|
const terminal = window.createTerminal({
|
|
env: {
|
|
A: 'a1',
|
|
B: 'b1',
|
|
C: 'c1'
|
|
}
|
|
});
|
|
// Run both PowerShell and sh commands, errors don't matter we're just looking for
|
|
// the correct output
|
|
terminal.sendText('$env:A');
|
|
terminal.sendText('echo $A');
|
|
terminal.sendText('$env:B');
|
|
terminal.sendText('echo $B');
|
|
terminal.sendText('$env:C');
|
|
terminal.sendText('echo $C');
|
|
});
|
|
|
|
test('should have collection variables apply to environment variables that don\'t exist', (done) => {
|
|
// Text to match on before passing the test
|
|
const expectedText = [
|
|
'~a2~',
|
|
'~b2~',
|
|
'~c2~'
|
|
];
|
|
disposables.push(window.onDidWriteTerminalData(e => {
|
|
if (terminal !== e.terminal) {
|
|
return;
|
|
}
|
|
// Multiple expected could show up in the same data event
|
|
while (expectedText.length > 0 && e.data.indexOf(expectedText[0]) >= 0) {
|
|
expectedText.shift();
|
|
// Check if all string are found, if so finish the test
|
|
if (expectedText.length === 0) {
|
|
disposables.push(window.onDidCloseTerminal(() => done()));
|
|
terminal.dispose();
|
|
}
|
|
}
|
|
}));
|
|
const collection = extensionContext.environmentVariableCollection;
|
|
disposables.push({ dispose: () => collection.clear() });
|
|
collection.replace('A', '~a2~');
|
|
collection.append('B', '~b2~');
|
|
collection.prepend('C', '~c2~');
|
|
const terminal = window.createTerminal({
|
|
env: {
|
|
A: null,
|
|
B: null,
|
|
C: null
|
|
}
|
|
});
|
|
// Run both PowerShell and sh commands, errors don't matter we're just looking for
|
|
// the correct output
|
|
terminal.sendText('$env:A');
|
|
terminal.sendText('echo $A');
|
|
terminal.sendText('$env:B');
|
|
terminal.sendText('echo $B');
|
|
terminal.sendText('$env:C');
|
|
terminal.sendText('echo $C');
|
|
});
|
|
|
|
test('should respect clearing entries', (done) => {
|
|
// Text to match on before passing the test
|
|
const expectedText = [
|
|
'~a1~',
|
|
'~b1~'
|
|
];
|
|
disposables.push(window.onDidWriteTerminalData(e => {
|
|
if (terminal !== e.terminal) {
|
|
return;
|
|
}
|
|
// Multiple expected could show up in the same data event
|
|
while (expectedText.length > 0 && e.data.indexOf(expectedText[0]) >= 0) {
|
|
expectedText.shift();
|
|
// Check if all string are found, if so finish the test
|
|
if (expectedText.length === 0) {
|
|
disposables.push(window.onDidCloseTerminal(() => done()));
|
|
terminal.dispose();
|
|
}
|
|
}
|
|
}));
|
|
const collection = extensionContext.environmentVariableCollection;
|
|
disposables.push({ dispose: () => collection.clear() });
|
|
collection.replace('A', '~a2~');
|
|
collection.replace('B', '~a2~');
|
|
collection.clear();
|
|
const terminal = window.createTerminal({
|
|
env: {
|
|
A: '~a1~',
|
|
B: '~b1~'
|
|
}
|
|
});
|
|
// Run both PowerShell and sh commands, errors don't matter we're just looking for
|
|
// the correct output
|
|
terminal.sendText('$env:A');
|
|
terminal.sendText('echo $A');
|
|
terminal.sendText('$env:B');
|
|
terminal.sendText('echo $B');
|
|
});
|
|
|
|
test('should respect deleting entries', (done) => {
|
|
// Text to match on before passing the test
|
|
const expectedText = [
|
|
'~a1~',
|
|
'~b2~'
|
|
];
|
|
disposables.push(window.onDidWriteTerminalData(e => {
|
|
if (terminal !== e.terminal) {
|
|
return;
|
|
}
|
|
// Multiple expected could show up in the same data event
|
|
while (expectedText.length > 0 && e.data.indexOf(expectedText[0]) >= 0) {
|
|
expectedText.shift();
|
|
// Check if all string are found, if so finish the test
|
|
if (expectedText.length === 0) {
|
|
disposables.push(window.onDidCloseTerminal(() => done()));
|
|
terminal.dispose();
|
|
}
|
|
}
|
|
}));
|
|
const collection = extensionContext.environmentVariableCollection;
|
|
disposables.push({ dispose: () => collection.clear() });
|
|
collection.replace('A', '~a2~');
|
|
collection.replace('B', '~b2~');
|
|
collection.delete('A');
|
|
const terminal = window.createTerminal({
|
|
env: {
|
|
A: '~a1~',
|
|
B: '~b2~'
|
|
}
|
|
});
|
|
// Run both PowerShell and sh commands, errors don't matter we're just looking for
|
|
// the correct output
|
|
terminal.sendText('$env:A');
|
|
terminal.sendText('echo $A');
|
|
terminal.sendText('$env:B');
|
|
terminal.sendText('echo $B');
|
|
});
|
|
|
|
test('get and forEach should work', () => {
|
|
const collection = extensionContext.environmentVariableCollection;
|
|
disposables.push({ dispose: () => collection.clear() });
|
|
collection.replace('A', '~a2~');
|
|
collection.append('B', '~b2~');
|
|
collection.prepend('C', '~c2~');
|
|
|
|
// Verify get
|
|
deepEqual(collection.get('A'), { value: '~a2~', type: EnvironmentVariableMutatorType.Replace });
|
|
deepEqual(collection.get('B'), { value: '~b2~', type: EnvironmentVariableMutatorType.Append });
|
|
deepEqual(collection.get('C'), { value: '~c2~', type: EnvironmentVariableMutatorType.Prepend });
|
|
|
|
// Verify forEach
|
|
const entries: [string, EnvironmentVariableMutator][] = [];
|
|
collection.forEach((v, m) => entries.push([v, m]));
|
|
deepEqual(entries, [
|
|
['A', { value: '~a2~', type: EnvironmentVariableMutatorType.Replace }],
|
|
['B', { value: '~b2~', type: EnvironmentVariableMutatorType.Append }],
|
|
['C', { value: '~c2~', type: EnvironmentVariableMutatorType.Prepend }]
|
|
]);
|
|
});
|
|
});
|
|
});
|
|
});
|