58ce849223
631dbe250bc Merge pull request #122730 from microsoft/tyriar/121282 166d7fe44d9 Ensure inline action applies to terminal out of selection 921203d98a5 Revert "Use a menu instead of hard coding actions in tabsWidget (#122461)" 1ed6862c3ea more insights when execution integration tests fail e1a46ca69b5 fix #122699 (#122712) 6449b6b7253 Fixes #122714: Guard against negative numbers around indentation f2878212f72 Listen for workspace trust when upgrading tasks Fixes #122535 42cf2286c7a fixes microsoft/vscode-remote-release#4970 de6424abd01 remove workbench-web*html a348d103d12 debug: update companion version 2a9f903edef Fix #122257 c67711fdde3 Fix #120112 f375f7e0aa2 Bumps RemoteHub version 74454818fe9 Use single quotes instead of double quotes (#122703) 78577aa18da Merge branch 'notebook/dev' into main dd58b1fe2bf fix #121647 502ebdb1930 bump builtin modules a7dcfd1e2c3 fix #122608 (#122616) 14a3cec0d4a Fix #122360 33a9b2adb7d Add missing scope to settings 24ea8408c3d testing: propoagate timeout option for unit tests 8dcc489fa1b Re-enables Git extension for virtual workspaces 03393445797 pass configuration in from processManager -> remoteTerminalService e7c0af1137f Revert "Revert "Merge pull request #122540 from microsoft/tyriar/122104"" 024251c2be2 fix #120848. f0394ca9663 Updates endgame notebook repos 160b5509d2b re #120545 f9901cea702 Fix markdown cell folding issue Fix #122675 bdb2324c9da revert change to hide condition 5d5d7389888 fix #122334 ed52d777ef6 fix integration tests 1846aeaf8c7 testing: fix welcome view being shown if tests were synchronously available 62b609670ed Clear lastRunSuccess when clearing output Fix #122645 f5bef964648 change wording back to kernel, https://github.com/microsoft/vscode/issues/122415#issuecomment-829329529 6102a7d2636 Fix running 19c6d913ca9 Add noop command (fixes #122518) df7aae61657 Add flag on whether a contribution can support a resource (#122658) de6057e397e fixes #122656 439ec79e6be Fix #122637 3d6f88eb925 fixes #120828 2eb378324d0 fixes #121392 b2d6cab9985 Revert "chore: bump electron@12.0.5" 4b06c752c6a fixes #121425 ae82935e448 fixes #121503 7d51e0b1eb6 fixes #122289 d295d140849 fixes #122353 83c7bc3dbf1 allow controller picker with single item, https://github.com/microsoft/vscode/issues/122415 1cc7abafb0d Drive users to picker when having multiple potential notebook controllers, https://github.com/microsoft/vscode/issues/122415 ed5d4a1329a Revert "do not auto open pasted file" 3bb2d0c3a21 fixes #122354 7fa8cdf44ef fixes #122079 677be5b44b0 change vs select wording tweaks, https://github.com/microsoft/vscode/issues/122415 3162eac1f9b update distro e6b871d094d show placeholder text for kernel picker, https://github.com/microsoft/vscode/issues/122415 eeceecef81e update doc 780eb163b7a Improve capabilities.untrustedWorkspaces contribution (#122603) 5682823e663 improve virtual workspace disablement wording 0123d26aaa3 tweak setting config 2f915a24b40 Don't label custom editors are readonly if the editor is not editable 28a1bc2f35e Revert "Merge pull request #122540 from microsoft/tyriar/122104" 3915fcfe493 Add some links and small cleanup for JS/TS settings e8eb44523ef Improve auto-fetch setting display a4fdb2c3ad0 Make adding overrides an preferred quick fix 9064c909d70 chore: bump electron@12.0.5 7adfba6262f Remove no implicit override task 60f46f2f7a8 Adding JS and PY Azure SDK packages (#122468) f15ac1527ff fix unit tests for web 75f4c87a854 fix #122548. c56f5ea118b fix #122359. 2858d5f3a75 remove trust from web 6a841dd8d5a Remove extra padding on h1s in markdown cells 40e0a578a80 Merge pull request #122505 from joyceerhl/dev/joyceerhl/markdown-cell-padding 033f6aac860 Fix missed Previewer.plain call due to adjacent @ts-expect-error (#121975) f17e1ce19d0 Update distro f8033ad59a2 xterm@4.12.0-beta26 3719898cb81 Merge branch 'notebook/dev' into main bf7d8da5f0f Fix #122360 2f5e355bea7 fix #122329 (#122576) 968d6702663 testing: fix welcome view being shown incorrectly 7770708545c Reapply markup renderers change c8c96aae9d5 Fixes # 122567: regex included .git in capture 5082e72921d Avoid cell execution icon flickering due to rerendering spinner 201063aa2ef Fix missing cell execution icon d89a35b91fb API TODO 107351bc206 debug: use category instead of tag for search 82399e71c2d Even more port forwarding logging 29b49a03928 fixes #122520 fixes #122393 26ce0255947 fixes #122310 1bd250ca513 Set tunnel factory earlier (#122557) a8a1b0f6db1 fix #122452 3b1b002b039 testing: mark runs complete if trust is not given 606bf316c73 Fix #122544 6f6b8156506 Call cell statusbar providers after changes are sent to the EH Fix #122341 99f8682e29a Fix inherited split cwd 5728f84b8c3 Merge pull request #122399 from solomatov/ext-host-hang 24faa3733fb Resolve profile environment when launching default 13d3c0e7575 Add explicit dispose calls for `DiskFileSystemProvider` in tests (#121857) e2eb2ec0d75 Add enum descriptions to tabs settings 398a23805b3 Fix #122311 06694a8e577 Merge pull request #122540 from microsoft/tyriar/122104 36fe84236dc Rename hideForSingle to hideCondition 1e9c0a643e4 Fix notebook cell collapse action Fix #122318 935fb2b33c1 Merge remote-tracking branch 'origin/main' into tyriar/122104 1f913a81b16 Revert "better fix for https://github.com/microsoft/vscode/issues/119943" 134f551f210 Revert "remove unused code after changes for https://github.com/microsoft/vscode/issues/119943" 3ea6e11841a requiresTrust -> restricted a9ad5d9eacc Reinstall sash listener after view swap b3292e6fff7 Merge branch 'main' into tyriar/122104 85ed0a54d12 Fix #122543 aa1b82bf134 Fix #122477 05658fe91ea remove unused code after changes for https://github.com/microsoft/vscode/issues/119943 0877dc2131f better fix for https://github.com/microsoft/vscode/issues/119943 01a6c000ce4 Fix compile 10a5077e0b9 Bring back workspace shells via setting c76579365d1 Fix #122533 5f9336443fb Task upgrade requires trust Fixes #122535 d0fceb64b42 fix disposal of extension-triggered document references when file is deleted, https://github.com/microsoft/vscode/issues/119943 8f45bda14f1 Enable some upgrade of tasks with global os config Fixes #122435 0be4e2958f9 Fix #122488 b98c1dd7eb6 Remove no longer relevant comment d0d615d1e4c Improve plural language in task upgrade notification Fixes #122437 dc5219000dc Fixes #122333 636583b1cd7 Use schema version as task upgrade trigger Fixes #122442 a613882bbdb Task upgrade shouldn't stop if tasks.json.old exists Fixes #122439 e2044db595d Don't include empty arrays in task upgrade Fixes #122445 8420e94d8d2 fix https://github.com/microsoft/vscode/issues/122270 5688d75ef95 update jsdoc for NotebookController#viewType 232b10fb540 more jsdoc for supportedLanguages, fixes https://github.com/microsoft/vscode/issues/122372 5ba42fcf94d fix #122510 811416a13c1 Merge branch 'main' into notebook/dev f608a090a6a make sure to return options from override handler (or existing options) https://github.com/microsoft/vscode/issues/122480 a6ec48d1597 fix #118423 84ef3183736 Add missing padding-bottom 08605e882e2 Fix #122256 38831ba3626 Fix typo 13f1afffab0 Make sure empty cells clear previous rendered contents 8d1794e91d5 Register config 5ce4e7ca8f3 Bumps RemoteHub version f727e50c1a8 Use a menu instead of hard coding actions in tabsWidget (#122461) 1f165beac40 Fix unreliable status bar indicator Fix #121194 27b39a13a00 fixes #122310 75615b76275 Fix potential cell statusbar issue 779434d2d11 fixes #122306 ae1c315aa7b tweak wording for disabled extensions fixes #122394 bf7c1f53d94 use label service to provide tooltip fixes #122411 df3ebcc5ef2 use authors always fixes #122382 bea80413c2e add setting to configure trust prompt fixes #122304 782ec1356c0 Add build extension media tasks b08c521660a Fix #122385 e8c5b7bb8bf Fix #122429 04e57de7248 Fix #122425 eb6a45ae94f Align single tab status size with tabs aa454714b70 Fix status icon blurriness db5a53958e0 Fix error message in case of activation failure 051c38cf0f1 testing: trigger relayout on welcome view visibility change a50793147e6 Fix #122440 d93abcd3d97 Fix #122430 e106db06194 fix #122218 541063725ce update distro f1c66b6f9bf Set aria label and include split number/total 40983b6a142 fix #122340 283c3035a49 fixes #121148 f4ab7e822f9 Fixes #122361 and 122360 19cda32aafc Another asWebviewUri fix, use the authority of the root that we found the file in. c193a1ca383 Ensure an invalid icon ID is not used f637c8fda56 fix #122150. 138be779f34 Terminate in case of ext host IPC timeout a065a9458d0 Task name updates 912e8aff9c4 fix https://github.com/microsoft/vscode/issues/122328 3a8aefc8006 Use markdownDeprecationMessage d3d2d113917 Add deprecation message to shell and shellArgs settings 0d5eb683ab7 Ensure tab rerender happens after layout 724172d1349 Show keybindings in inline actions 11a7f9565ea text files - automatically save when reopening with encoding (#122301) b26b993dafa Make inline actions multi-select aware 87a33e998d8 disable edu telemetry on nocors b9147d80e5a Set active and focus new terminal on double click c50ab1e89f6 adopt editorOverrideService for compare (#121668) 3e1a7dc6551 Don't cache the text editor as it doesn't require the ext host 83581ff2b9e Merge pull request #121186 from microsoft/tyriar/ptyhost f28947fb35f Fix compile 33be8b82f70 Merge remote-tracking branch 'origin/main' into tyriar/ptyhost a6591d45e04 Add telemetry events for pty host 40c385c4498 web: use tmp as inmemory scheme f92821bfa34 update distro aac4cce13e6 Set focus/selection to new term on dbl click 4c24caf5d90 Add ... to rename and change icon faf54e77e61 Remove console.log in test dbb1a584992 Hide terminal tab hover on mousein, unless actions eb141a80257 Use the latest LSIF version for indexing f247d234d7c Use terminal groups for build Fixes https://github.com/microsoft/vscode/issues/122287 4550c3b454d can change enablement when disabled by trust c9e8dff24c4 window.title ${remoteName} seems to be "vscode-remote" when not in a remote (fix #122213) 6ef53c31d9c shared process - also log lifecycle state when window errors d417ef3e79f update distro d74baa17185 log when using in memory data provider e2e0d915729 Merge branch 'main' into notebook/dev 1f8e11079ea Revert "Comment out failing integration tests (#122269)" 0317e056bbb Merge branch 'main' into notebook/dev 26cf2a5d624 fix https://github.com/microsoft/vscode/issues/122269 2250b7aa3c0 :chore: allow to use node.js 16 for developing vscode 5346ab1bc3a Merge branch 'main' into notebook/dev 9a4d524f909 Comment out failing integration tests (#122269) 0cbc7217096 Bumps RemoteHub version f88202aa46f Fix missing cell execution icon 8b22dff166d Updates endgame query e3476ac1865 API TODO fe7c5aba015 Revert "Better notebook markup renderer api (#121882)" 4a0a1f2f6f1 Fix replacement for script after it has been optimized e95ce0a810b do not block webview creation for fetch errors. fef89de135f remove open editor on startup 9b328b27396 NotebookKernel test, another attempt 98fdb8a9a06 add skipped test for lcs diff. b1569995f9d testing: allow waiting for server before running unit tests fc90674374e use parent folder instead of folder name 4cb27d2ec76 Better notebook markup renderer api (#121882) 495d162a4ef minheight 4f6b0a1b7c7 swap button and text 2be7cd82b0d cleanup styling and wording in editor 5c8ab73c2fb Build using newer TS nightly bf339ba787e testing: allow contributing to test welcome view 6014c7781e3 testing: allow following running test 480f3c0b351 Return undefined if dialog is cancelled (#122234) 8b15a01d8eb [json] update service 5d4454709a3 Fix #122218 82520584efd remove unneeded logic b466147ca4b fix #122161 e1845803d30 Add telemetry event for failed extension activation 2f946f7d803 fix test. @jrieken. bf94540cc88 Merge branch 'notebook/dev' into main 893d29c487e Bumps RemoteHub version 553d92817ba Word selection is incomplete for C++ identifiers containing certain allowed characters. Fixes #121343 4f37102dc0a Fix issue with cancelling the dialog ba7c9491645 web: drop authority usage 51b2521eef6 use prominent status bar theme color fixes #120455 cb7b2e8c375 fixes #120500 37d967e30d9 testing: rename testRunTask to testRun b9b6a11be76 fix #118073 f6f81128192 Merge pull request #121938 from microsoft/alex/change-default-enable-builtin-extensions 5080d21c0b5 Fix typo 7b0a8177fac Implement workaround for jupyter in codespaces for asWebviewUri issue #121981 aed088f7016 fix #119678 Co-authored-by: Daniel Imms <daimms@microsoft.com> 7971891fa17 Merge pull request #122100 from microsoft/ben/search-editor-backups c15cb13a383 Add js doc comments 7329a207e09 Merge branch 'main' into notebook/dev 8fa05403b6b Add a cache to the editor override service to allow awaiting ext host (#122067) 08e29e6e890 fix #121317 141c4274d90 update distro b7e57b93f8f No longer force showing input box for screenreader (#122054) 205a366f1c1 Fix file location pattern in eslint-stylish problem matcher (#117576) 693e3a4aebe browser: register inmemory fs provider f3cb718a800 more renamed 9a43ef93f70 extract INotebookKernelMatchInfo db7b52abdc1 Undo task queue change 7135d9d5ea6 Bump ssri from 8.0.0 to 8.0.1 efa9e692e34 Fix narrow terminal tab alignment 25b4a53f67b Fix bad tilda handling in simple file picker Part of #121280 289d46f960d update distro 4212c6f9234 Remove unnecessary entries c95aaf71a8c Add keybinding for split in tabs 91c41b04db2 Add keybinding for delete terminal tab b57a9d16c93 Clean up IEditorInput#copy 25787c9584f Add focusMode tab setting 8fac1535178 💄 renames 7a5031487a6 Remove short description for terminal split/kill 5bf77b350f1 Set selection to what is right clicked if outside selection 50b10894ce4 Merge pull request #122179 from microsoft/sandy081/custommHover acc4bcebcff Adjust active instance in tab on dispose 5d77401e475 debug: restart should be sent to parent session 61472da358d Render tabs on tab widget create 42754baf3a0 relax uniqueness requirement for controller ids, must only be unique per extension, not globally, https://github.com/microsoft/vscode/issues/121902 57f1aa9ae66 update distro 0489b546826 OSS Tool d90814dab4e make sure alternative goto-command is also a goto-command 5623111a12e correct remoteAuthority description in workspace files. Fixes #119858 0c4663383db Merge remote-tracking branch 'origin/main' into alex/change-default-enable-builtin-extensions dcd5eaa0b56 remove todo 9129f217050 Merge branch 'main' into notebook/dev ad372e2f94a more test fixture adoption 6c5613e6972 add test and fixes for https://github.com/microsoft/vscode/issues/121904 16423fad0b5 file working copy - actually use elevated file service a2656e12606 add doc ad16e7c2123 round pointer poistion 7c10c7e1e28 Fix remote explorer dropdown alignment Fixes microsoft/vscode-remote-release#4945 975e8ba2845 web api - move log level into new dev options f52952332d1 :chore: some ReadOnlyArray => readonly 974d87948b4 Merge branch 'main' into sandy081/custommHover 7d13ce88e7f improve hover position logic b8c9fbe5918 store associated notebook by uri _and_ type, send unselect event on kernel- or notebook-remove but keep the memento untouched, https://github.com/microsoft/vscode/issues/121904 f85e69f55d8 file working copy - write elevated support 594b7b07a6a make sure "Open With..." actually works..., maybe https://github.com/microsoft/vscode/issues/121974 or maybe https://github.com/microsoft/vscode/issues/121904 94daaf715a4 win/linux: alt+f4 to close window (#54492) 2cfe0d79121 fix notebook type bindings 5053c82843e adopt api changes a15a6237c2f Merge branch 'main' into ben/search-editor-backups d505f37758f file working copy - provide "Save As" support and address some issues 633562da380 Remove some finniky logic causing rendering glitches 2023dd3ce83 Fix #122090 0eccb45395c Fix #122091 7950d3e6210 Support multi select split/ kill in terminal tabs (#122148) 9e9ad5b905f notebook.navigation.allowNavigateToSurroundingCells 08d37a85a3f turn markdown cell into preview mode after hiding find. 27388ab7cf4 fix output edit sequence. 25d716f9006 [html/css/json] update dependencies cb6e7b383bb fix #122099 6c8875d8bb8 working copy backup - adress some issues before endgame c2041ceed35 💄 editor extension export 1a46de24eab Improve terminal text shifting when icon is resolved late fd610ca54bb Improve rendering of very long collapesed titles Ref #119766 c67ea42a683 Restrict space that can be taken up by extremely long contributed items Closes #119765 Closes #119766 6ef0f2f1bd4 tabs.enable -> enabled 42851ddb80e Hide description in narrow tab view 7aab1c1714b Update tab sash reset to play nicely with new changes 8251c67121e Merge pull request #122076 from microsoft/tyriar/122010 cec1401b9b9 Fix compile d7df6a7be04 Support new description in tasks 2c7604e4ad9 Add terminal description to single tab 14919db24dc Remove local title appending 2e191b55ae4 Add terminal local description/initial text 8a426385aef Close #120122 51ea16cd700 No more mr nice guy 47b7fd91d6b [Getting Started] Naming: tasks/items => steps Ref #120049 49ea5ccc13b Fixes #121873 (#121874) a1d60dcb3bd return terminal icon if one isn't resolved a87db274dac Make sure we build extension media for integration tests d690b2d7e21 Fix notebook tests 3faf47d16ee debug: bump js-debug version b126d45af96 Allow x64 macOS builds to be triggered alone af58ea10fc1 Show trust dialog when running a notebook cell #118584 013521dd1e6 Accept uid=501(daimms) gid=20(staff) groups=20(staff),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),701(com.apple.sharepoint.group.1),33(_appstore),100(_lpoperator),204(_developer),250(_analyticsusers),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh),400(com.apple.access_remote_ae) icon format only be42b4b655a Don't autofocus search box in settings on ipad - #122044 3efe6bb4f94 Allow markdown content in getting started (#121960) afaa4944045 remote indicator menu: cache action groups aa219c8eb0a Merge branch 'notebook/dev' into main a0804b66d3a fix #122049 (#122056) b2c250faeb3 fix build f0c8fea098d Tweak "switch to insiders" message 6d56e69ba93 fix #121954 b272df7ade8 fix #122051 a729f709a32 Refresh tabs on hideForSingle change 1fcbe3d71d2 update edit mode with source 9c6f4c194f7 notebook find with match count. 5c7d17bf267 Move service registration 3418b95ac34 Introduce copy concept to editor inputs Fix #121429 3b18aed03e7 fix #122039 6c747e75dad Workspace Trust Prop Changes (#121779) ee3812f51cd fix #122038 d879960af3d send event when affinities change so that status bar can update, fixes https://github.com/microsoft/vscode/issues/122028 80b5eca3c1b add unit test to assert, https://github.com/microsoft/vscode/issues/122028 558b08e7905 fix #122031 fc19fba5ae1 Have single tab act like a dropdown 3cba3d9c4df Merge pull request #122032 from microsoft/tyriar/121601 838b1131985 Have single tab focus the terminal b9f5e85bc07 Add context menu for single terminal tab ef64d205b95 Fix missing cell statusbar icon color 89451c134d0 Remove todo 760b84e09f8 Namespace tabs settings 31c946b97ab Catch showTabs = true legacy case c8807577d4c Hook up new showTabs enum 876dd2782a2 Don't allow multiple tasks runs to start at once Fixes #118238 803d0d62464 Add new settings to control visibility of active terminal 2a384630932 Merge remote-tracking branch 'origin/main' into tyriar/121601 9a978d2f31b working copy - implement backup restore in tracker and keep non restored backups (#117873) 338afacb02d Add additional height to term tabs for dbl click 25cecbe4be9 Fix launching terminal profile via dropdown 4827b266951 Initial single tab view 64f72f290a1 Bump distro 66f0c29ddb3 Fix spelling error a8755553a71 show selected controller in picker, don't say kernel in the UI 0ee8f4efeda Update my endgame notebook 912259262bd fix build d95f4c4d8b5 Workspace trust - multi-root workspace file (#121765) 5685e22ba3e Remove soft notification from extension enablement e51f5015b29 fixes #111350 18c4196f82f Remove soft notification badge 122eac1d743 naming 💄 118c41150c5 Move extension settings for workspace trust fa0da8322c7 Further improve pasting into simple file picker Fixes #121280 a14e4d060a5 working copy - first cut of a backup restorer that works on new working copy editor service (#117873) 6a16dcf5867 Ensure tabs don't get another split added f46cebe4666 sandbox - fix running in sandbox mode cfb866ac533 Show tab actions on focus/selected d40139dd638 Make typescript problem matcher even more general Fixes #121672 f37cda267a9 show in tooltip if controller was auto picked or not 4106ff45187 Localize empty tabs context menu labels 88e2f94a9d7 Add show tabs dropdown entry, remove others 43247e86159 Add the globe back to the Ports view b8e2b1b7889 Merge branch 'main' into notebook/dev 68ddcf50e86 Remove bad } from terminal title 97814d10877 node-pty@0.10.1 cf603f67f05 Remove tasks from workbench.desktop.main.ts Part of https://github.com/microsoft/vscode/issues/118201 ef521cc5403 remove bad instanceof check 2437313ca46 Fixes #121535 ca36916a61a update distro 8e0e2199b16 working copy - drop TestWorkingCopyService abe5e414e70 add onDidCreateNotebookDocument in addition to onDidAdd. d1b0a469b12 remove kernelProviderAssociations but add a notebook-type 2 kernel association as shared/sync'd memento 05e0899ffd1 working copy - more readonly arrays 52ef3b65268 Pass correct URI to opener service fallback Fixes microsoft/vscode-remote-release#4920 31536dd690c editors - make findEditors more powerful c32f1cc4632 update ref viewlet ac151b40a57 enable virtual workspace capability 77ac0dc1a5c Merge pull request #119040 from jeanp413/fix-103631 9701c057ef7 refine prompts: using warning when file is too large for formatting, use model for installing formatter, https://github.com/microsoft/vscode/issues/119463#issuecomment-825434820 a668bed63ae add skipped/failing test for https://github.com/microsoft/vscode/issues/121994 abc6cf94729 text file tracker - fix regression with untitled not being tracked 666f3ac3e06 file working copy - provide some basic save error handling (#117873) 0310f02dc5d reset key on focus out and set focus if there was one 4853ea69eb4 Add command and keybinding to focus terminal tabs view (#121978) 66fd0cba91b Enable noImplicitOverride 36591a96a02 Rename cd9a6a48201 Add telemetry for rendering of markdown path 1ea93521feb fix #121816 (#121957) afdd217b3bd Create new terminal from profile in multi-root workspace (#121958) 7bf7774d8a6 Add custom editor telemetry b0b4b814d0a Fix #121793 1b1fa411580 💄 test 274565432ce Merge branch 'notebook/dev' into main 94f28728f76 remoteIndicator menu point: double digit order number. For #121180 c141ca66619 testing: show load errors in tree view 214a1581b7e Make window indicator menu contribution point stable. Fixes #121180 484c5c87338 Fix tests 8e51485f45f Debounce cell output edits from EH Fix #119832 ddbc369b115 Fix cell output append edits showing up in reverse #119832 2f077172cb0 Add `php.validate.executablePath` to restrictedConfigurations dfd1b65fce9 debug config manager: dynamic providers fix 894f50d5443 debug: make sure to not show dialog when launch config content is being created b1ca80cf60a re #121140. 2d12c84be75 fix #121723. 1f75a0331bf Make narrow tabs show status color icon aebef8cf5b7 Fix statusbar items with wrong width in new cell 7c17ed4680f Fix #121927 Remove new inner span in statusbar items, also switch to just codicon syntax ab9a916272c some 💄 and a tricky todo 426f1b7d80c Fix layer issue b6ff982121d Merge branch 'main' into sandy081/custommHover 9f43daf9028 use DAP 1.47.0 df42794a6c8 node-debug@1.44.27 5460fcfc4ea Support relaunch hover action 2130042ca4c disable github extension in virtual workspace as it depends on git e1bfeec6b1a Show relaunch needed details in hover f38f90dfe16 Improve package.json file check Fixes #120279 f68a7e77788 add NotebookDocument to executeHandler 690c76c1051 Fix statuses getting stuck, integrate decoration title 5fc245f2d74 refs #120675 a217409e38f include silent for notifications:actionExecuted f6c4607367b Incorporate task upgrade feedback 68bed019705 adopt virtual workspaces - not supported d4033de1f1d update distro ed16789225e localise workspace trust strings for exts 97344537a59 Use affinity over priority 1305c61d823 Merge remote-tracking branch 'origin/main' into alex/change-default-enable-builtin-extensions a385ea15bdd todos about affinity vs priority 5390ec0e7c3 remove isPreferred as instance property, replace selector with only viewType, allow controller to set a notebook priority instead 5c39e705cc7 Add tooltips to terminal statuses b14455b318e Provide label formatter for terminal URIs daab26c2e71 Merge pull request #121853 from microsoft/capabilities 70c5e1e00c5 fix compilation 07505af8c9e update distro 793cdaea1f7 Removed unused code 7ac3721a4d0 Hook visual bell up to enableBell setting e90519d1cce Rever awaiting for ext host on open 1eb45d72c8a Delay terminal bell shortly after creation 3ebd601face Change default for enable builtin extensions 0cca69109c4 Ensure primary status event fires when status is removed 436725c584e Use Application scope for `keyboard.dispatch` c95c0cbae49 Add tab view empty context menu 6779f853214 add comment 371b3de4367 Fix right click pasting in tab view 03a3abf6daa Use constant for dblclick b64f1aa2358 Support double click to create new term 522062daf57 Expand terminal tabs to whole width 9fb92f0f705 mark property readonly dab0e063bcd mark supportedLanguages as optional, some todos 166efae3664 Fix `--noImplicitOverride` problems (#120675) 6a781878370 Remove deprecated sync methods from configuration resolver Part of #108804 87eac45476d Support defaultProfile in selection default profile command 253fee71631 assert that executing a cell send selection event, https://github.com/microsoft/vscode/issues/121904 90c5c7a0d2f Merge branch 'main' into capabilities 56acb0b1d25 Throttle calls to spawn/kill under conpty bceab04077b debug issues should get auto assigned to me 12741ed7d88 add notebook instance to interrupt handler, https://github.com/microsoft/vscode/issues/121912 b96d65b9be4 Finish adoption of IShellEnvironmentService in terminal 5c904937545 Fix case issue on Windows with variable resolving Fixes #121847 2a6703463d9 Update distro 5a78d3377f3 Merge pull request #121918 from microsoft/tyriar/120328 7bd176faa1b Adopt bash terminal icon 4ae4ca97598 Move dropdown with primary to base 1df9d8902c1 send controller selection event when selection knowledge is restored from memento, https://github.com/microsoft/vscode/issues/121904 e86fdc6728e Merge pull request #121732 from microsoft/tyriar/121657 22d2f01347b Fix compile fd709cc79fa Reduce calls to getShellEnvironment eaf3a5dcda4 Move off deprecated resolve function ae50493e894 Only dispose on middle click 29ade591f55 Remove old prompt from tasks service Part of #119463 dc589f540ab Merge remote-tracking branch 'origin/main' into tyriar/121657 00e8e6459d2 fix UntrustedWorkspaces type 5d8f09d2708 adopt to new capabilities api proposal f5b31e9a331 use UriComponents for extensionTestsPath. For #121734 af76d0cf137 export IDevelopmentOptions 79033ef7a19 Adds code lens on vfs files 46a25f25e87 update distro 8ce16487193 Merge pull request #121734 from microsoft/aeschli/testsInWebEH 71b23eb39d8 Merge branch 'main' into aeschli/testsInWebEH b3151c10ce7 fix compile error, fyi @rebornix a18d061b009 Merge branch 'main' into notebook/dev 2e0214b3645 rename ExecutionHandler to ExecuteHandler 7ce1499d954 More removed unused 60af02d7582 fix #121807. 27675a99be1 Remove unused services 49924bbab74 Remove notification ref #119463 4a8e9493472 consolidate tabActions code f547ada6eeb Allow text search providers to give messages (#121528) 159d5d2799b move separator inside a536ece09f7 add hide tabs panel to context menu 807ae1e167d fix #121744 79a5cd28cae re #121252. Add actions to toggle cell position. c638290c09a add setting for specifying cell toolbar position per view type. fix #121252. 6c48db1730a testing: fix test failures 883424c4e37 testing: betterify view 57d4e39aebc Fix issue with tabbing out of outputs with iframe webviews enabled #119727 7c83a16e724 Fix tabbing into statusbar, #119727 a689b7ec842 Remove underline from h1s in notebooks 15110d66f0d Bump fallback version for webview contents 7e8193bee0d adjust hover position for panel d2b7b09d716 show panel hover on top fbfe0154989 remove NotebookTextModel._mapping. 9e29a9caf53 align left and right positions 61364b04926 introduce hover position and align hover and pointer 306f32b7ce5 re #121869. dd2aefcd7cc fix #121818 and make terminalService manager/updater of available profiles (#121837) 264ccd16d4f Merge branch 'notebook/dev' into main 2a718949839 update distro 0867628480e Merge pull request #121836 from microsoft/tyriar/plus_style 2ae89029880 Update Codicons: update "copy" 951612b9339 Remove deps from dropdown with primary 6344624354d Await extension registration fixes #116259 cc66860c669 Add styles to dropdown.css 39c0b817706 Update Codicons - Add "wand" - Add "debug-line-by-line" a509be4c994 Update Codicons: Add "filter-filled" |
||
---|---|---|
.. | ||
.vscode | ||
bin | ||
src | ||
test | ||
.npmignore | ||
extension-browser.webpack.config.js | ||
extension.webpack.config.js | ||
package.json | ||
README.md | ||
tsconfig.json | ||
yarn.lock |
VSCode JSON Language Server
The JSON Language server provides language-specific smarts for editing, validating and understanding JSON documents. It runs as a separate executable and implements the language server protocol to be connected by any code editor or IDE.
Capabilities
Server capabilities
The JSON language server supports requests on documents of language id json
and jsonc
.
json
documents are parsed and validated following the JSON specification.jsonc
documents additionally accept single line (//
) and multi-line comments (/* ... */
). JSONC is a VSCode specific file format, intended for VSCode configuration files, without any aspirations to define a new common file format.
The server implements the following capabilities of the language server protocol:
- Code completion for JSON properties and values based on the document's JSON schema or based on existing properties and values used at other places in the document. JSON schemas are configured through the server configuration options.
- Hover for values based on descriptions in the document's JSON schema.
- Document Symbols for quick navigation to properties in the document.
- Document Colors for showing color decorators on values representing colors and Color Presentation for color presentation information to support color pickers. The location of colors is defined by the document's JSON schema. All values marked with
"format": "color-hex"
(VSCode specific, non-standard JSON Schema extension) are considered color values. The supported color formats are#rgb[a]
and#rrggbb[aa]
. - Code Formatting supporting ranges and formatting the whole document.
- Folding Ranges for all folding ranges in the document.
- Semantic Selection for semantic selection for one or multiple cursor positions.
- Goto Definition for $ref references in JSON schemas
- Diagnostics (Validation) are pushed for all open documents
- syntax errors
- structural validation based on the document's JSON schema.
In order to load JSON schemas, the JSON server uses NodeJS http
and fs
modules. For all other features, the JSON server only relies on the documents and settings provided by the client through the LSP.
Client requirements:
The JSON language server expects the client to only send requests and notifications for documents of language id json
and jsonc
.
The JSON language server has the following dependencies on the client's capabilities:
- Code completion requires that the client capability has snippetSupport. If not supported by the client, the server will not offer the completion capability.
- Formatting support requires the client to support dynamicRegistration for rangeFormatting. If not supported by the client, the server will not offer the format capability.
Configuration
Initialization options
The client can send the following initialization options to the server:
provideFormatter: boolean | undefined
. If defined, the value defines whether the server provides thedocumentRangeFormattingProvider
capability on initialization. If undefined, the settingjson.format.enable
is used to determine whether formatting is provided. The formatter will then be registered through dynamic registration. If the client does not support dynamic registration, no formatter will be available.handledSchemaProtocols
: The URI schemas handles by the server. See sectionSchema configuration
below.customCapabilities
: Additional non-LSP client capabilities:rangeFormatting: { editLimit: x } }
: For performance reasons, limit the number of edits returned by the range formatter tox
.
Settings
Clients may send a workspace/didChangeConfiguration
notification to notify the server of settings changes.
The server supports the following settings:
-
http
proxy
: The URL of the proxy server to use when fetching schema. When undefined or empty, no proxy is used.proxyStrictSSL
: Whether the proxy server certificate should be verified against the list of supplied CAs.
-
json
format
enable
: Whether the server should register the formatting support. This option is only applicable if the client supports dynamicRegistration for rangeFormatting andinitializationOptions.provideFormatter
is not defined.
schemas
: Configures association of file names to schema URL or schemas and/or associations of schema URL to schema content.fileMatch
: an array of file names or paths (separated by/
).*
can be used as a wildcard. Exclusion patterns can also be defined and start with '!'. A file matches when there is at least one matching pattern and the last matching pattern is not an exclusion pattern.url
: The URL of the schema, optional when also a schema is provided.schema
: The schema content.
resultLimit
: The max number folding ranges and outline symbols to be computed (for performance reasons)
{
"http": {
"proxy": "",
"proxyStrictSSL": true
},
"json": {
"format": {
"enable": true
},
"schemas": [
{
"fileMatch": [
"foo.json",
"*.superfoo.json"
],
"url": "http://json.schemastore.org/foo",
"schema": {
"type": "array"
}
}
]
}
}
Schema configuration and custom schema content delivery
JSON schemas are essential for code assist, hovers, color decorators to work and are required for structural validation.
To find the schema for a given JSON document, the server uses the following mechanisms:
- JSON documents can define the schema URL using a
$schema
property - The settings define a schema association based on the documents URL. Settings can either associate a schema URL to a file or path pattern, and they can directly provide a schema.
- Additionally, schema associations can also be provided by a custom 'schemaAssociations' configuration call.
Schemas are identified by URLs. To load the content of a schema, the JSON language server either tries to load from that URI or path itself or delegates to the client.
The initializationOptions.handledSchemaProtocols
initialization option defines which URLs are handled by the server. Requests for all other URIs are sent to the client.
handledSchemaProtocols
is part of the initialization options and can't be changed while the server is running.
let clientOptions: LanguageClientOptions = {
initializationOptions: {
handledSchemaProtocols: ['file'] // language server should only try to load file URLs
}
...
}
If handledSchemaProtocols
is not set, the JSON language server will load the following URLs itself:
http
,https
: Loaded using NodeJS's HTTP support. Proxies can be configured through the settings.file
: Loaded using NodeJS'sfs
support.
Schema content request
Requests for schemas with URLs not handled by the server are forwarded to the client through an LSP request. This request is a JSON language server-specific, non-standardized, extension to the LSP.
Request:
- method: 'vscode/content'
- params:
string
- The schema URL to request. - response:
string
- The content of the schema with the given URL
Schema content change notification
When the client is aware that a schema content has changed, it will notify the server through a notification. This notification is a JSON language server-specific, non-standardized, extension to the LSP. The server will, as a response, clear the schema content from the cache and reload the schema content when required again.
Schema associations notification
In addition to the settings, schemas associations can also be provided through a notification from the client to the server. This notification is a JSON language server-specific, non-standardized, extension to the LSP.
Notification:
- method: 'json/schemaAssociations'
- params:
ISchemaAssociations
orISchemaAssociation[]
defined as follows
interface ISchemaAssociations {
/**
* An object where:
* - keys are file names or file paths (using `/` as path separator). `*` can be used as a wildcard.
* - values are an arrays of schema URIs
*/
[pattern: string]: string[];
}
interface ISchemaAssociation {
/**
* The URI of the schema, which is also the identifier of the schema.
*/
uri: string;
/**
* A list of file path patterns that are associated to the schema. The '*' wildcard can be used. Exclusion patterns starting with '!'.
* For example '*.schema.json', 'package.json', '!foo*.schema.json'.
* A match succeeds when there is at least one pattern matching and last matching pattern does not start with '!'.
*/
fileMatch: string[];
/*
* The schema for the given URI.
* If no schema is provided, the schema will be fetched with the schema request service (if available).
*/
schema?: JSONSchema;
}
ISchemaAssociations
- keys: a file names or file path (separated by
/
).*
can be used as a wildcard. - values: An array of schema URLs
Notification:
- method: 'json/schemaContent'
- params:
string
the URL of the schema that has changed.
Item Limit
If the setting resultLimit
is set, the JSON language server will limit the number of folding ranges and document symbols computed.
When the limit is reached, a notification json/resultLimitReached
is sent that can be shown that can be shown to the user.
Notification:
- method: 'json/resultLimitReached'
- params: a human readable string to show to the user.
Try
The JSON language server is shipped with Visual Studio Code as part of the built-in VSCode extension json-language-features
. The server is started when the first JSON file is opened. The VSCode JSON documentation for detailed information on the user experience and has more information on how to configure the language support.
Integrate
If you plan to integrate the JSON language server into an editor and IDE, check out this page if there's already an LSP client integration available.
You can also launch the language server as a command and connect to it.
For that, install the vscode-json-languageserver
npm module:
npm install -g vscode-json-languageserver
Start the language server with the vscode-json-languageserver
command. Use a command line argument to specify the preferred communication channel:
vscode-json-languageserver --node-ipc
vscode-json-languageserver --stdio
vscode-json-languageserver --socket=<port>
To connect to the server from NodeJS, see Remy Suen's great write-up on how to communicate with the server through the available communication channels.
Participate
The source code of the JSON language server can be found in the VSCode repository at extensions/json-language-features/server.
File issues and pull requests in the VSCode GitHub Issues. See the document How to Contribute on how to build and run from source.
Most of the functionality of the server is located in libraries:
- jsonc-parser contains the JSON parser and scanner.
- vscode-json-languageservice contains the implementation of all features as a re-usable library.
- vscode-languageserver-node contains the implementation of language server for NodeJS.
Help on any of these projects is very welcome.
Code of Conduct
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
License
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the MIT License.