@codingame/monaco-vscode-workbench-service-override 37.1.0 → 37.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common.d.ts +3 -0
- package/common.js +29 -0
- package/index.d.ts +1 -1
- package/index.js +25 -32
- package/package.json +18 -8
- package/session.d.ts +4 -0
- package/session.js +260 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostLocationPreferenceService.d.ts +24 -0
- package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostLocationPreferenceService.js +71 -0
- package/vscode/src/vs/platform/agentHost/common/remoteAgentHostLocationPreference.d.ts +7 -0
- package/vscode/src/vs/platform/agentHost/common/remoteAgentHostLocationPreference.js +7 -0
- package/vscode/src/vs/sessions/browser/dockedAuxiliaryBarController.d.ts +50 -0
- package/vscode/src/vs/sessions/browser/dockedAuxiliaryBarController.js +120 -0
- package/vscode/src/vs/sessions/browser/media/sessions-logo-dark.svg +6 -0
- package/vscode/src/vs/sessions/browser/media/sessions-logo-light.svg +6 -0
- package/vscode/src/vs/sessions/browser/media/sessionsSetUp.css +72 -0
- package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.d.ts +116 -0
- package/vscode/src/vs/sessions/browser/parts/chatCompositeBar.js +566 -0
- package/vscode/src/vs/sessions/browser/parts/chatGroupDropTarget.d.ts +43 -0
- package/vscode/src/vs/sessions/browser/parts/chatGroupDropTarget.js +308 -0
- package/vscode/src/vs/sessions/browser/parts/chatGroupView.d.ts +108 -0
- package/vscode/src/vs/sessions/browser/parts/chatGroupView.js +324 -0
- package/vscode/src/vs/sessions/browser/parts/chatGroupsView.d.ts +136 -0
- package/vscode/src/vs/sessions/browser/parts/chatGroupsView.js +771 -0
- package/vscode/src/vs/sessions/browser/parts/customViewGridPart.d.ts +43 -0
- package/vscode/src/vs/sessions/browser/parts/customViewGridPart.js +113 -0
- package/vscode/src/vs/sessions/browser/parts/customViewGridParts.d.ts +17 -0
- package/vscode/src/vs/sessions/browser/parts/customViewGridParts.js +31 -0
- package/vscode/src/vs/sessions/browser/parts/customViewNode.d.ts +24 -0
- package/vscode/src/vs/sessions/browser/parts/customViewNode.js +131 -0
- package/vscode/src/vs/sessions/browser/parts/editorPart.d.ts +11 -0
- package/vscode/src/vs/sessions/browser/parts/editorPart.js +36 -0
- package/vscode/src/vs/sessions/browser/parts/editorParts.d.ts +12 -0
- package/vscode/src/vs/sessions/browser/parts/editorParts.js +45 -0
- package/vscode/src/vs/sessions/browser/parts/media/chatCompositeBar.css +559 -0
- package/vscode/src/vs/sessions/browser/parts/media/chatGroupDropTarget.css +27 -0
- package/vscode/src/vs/sessions/browser/parts/media/chatGroupsView.css +60 -0
- package/vscode/src/vs/sessions/browser/parts/media/customViewGridPart.css +108 -0
- package/vscode/src/vs/sessions/browser/parts/media/editorPart.css +210 -0
- package/vscode/src/vs/sessions/browser/parts/media/remoteHostUnavailableEmptyState.css +81 -0
- package/vscode/src/vs/sessions/browser/parts/media/sessionDropTarget.css +31 -0
- package/vscode/src/vs/sessions/browser/parts/media/sessionReadOnlyBanner.css +87 -0
- package/vscode/src/vs/sessions/browser/parts/media/sessionView.css +107 -0
- package/vscode/src/vs/sessions/browser/parts/media/sessionsPart.css +134 -0
- package/vscode/src/vs/sessions/browser/parts/menubar.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/browser/parts/menubar.contribution.js +79 -0
- package/vscode/src/vs/sessions/browser/parts/mobile/mobileCustomViewGridPart.d.ts +13 -0
- package/vscode/src/vs/sessions/browser/parts/mobile/mobileCustomViewGridPart.js +33 -0
- package/vscode/src/vs/sessions/browser/parts/mobile/mobileSessionsPart.d.ts +14 -0
- package/vscode/src/vs/sessions/browser/parts/mobile/mobileSessionsPart.js +34 -0
- package/vscode/src/vs/sessions/browser/parts/remoteHostUnavailableEmptyState.d.ts +39 -0
- package/vscode/src/vs/sessions/browser/parts/remoteHostUnavailableEmptyState.js +136 -0
- package/vscode/src/vs/sessions/browser/parts/sessionBarStyles.d.ts +9 -0
- package/vscode/src/vs/sessions/browser/parts/sessionBarStyles.js +62 -0
- package/vscode/src/vs/sessions/browser/parts/sessionDropTarget.d.ts +39 -0
- package/vscode/src/vs/sessions/browser/parts/sessionDropTarget.js +261 -0
- package/vscode/src/vs/sessions/browser/parts/sessionHeader.d.ts +97 -0
- package/vscode/src/vs/sessions/browser/parts/sessionHeader.js +345 -0
- package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.d.ts +43 -0
- package/vscode/src/vs/sessions/browser/parts/sessionReadOnlyBanner.js +69 -0
- package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.d.ts +79 -0
- package/vscode/src/vs/sessions/browser/parts/sessionRemoteConnection.js +363 -0
- package/vscode/src/vs/sessions/browser/parts/sessionView.d.ts +125 -0
- package/vscode/src/vs/sessions/browser/parts/sessionView.js +300 -0
- package/vscode/src/vs/sessions/browser/parts/sessionsPart.d.ts +124 -0
- package/vscode/src/vs/sessions/browser/parts/sessionsPart.js +336 -0
- package/vscode/src/vs/sessions/browser/parts/sessionsParts.d.ts +33 -0
- package/vscode/src/vs/sessions/browser/parts/sessionsParts.js +62 -0
- package/vscode/src/vs/sessions/browser/parts/singlePaneAuxiliaryBarPart.d.ts +13 -0
- package/vscode/src/vs/sessions/browser/parts/singlePaneAuxiliaryBarPart.js +36 -0
- package/vscode/src/vs/sessions/browser/parts/singlePaneEditorPart.d.ts +65 -0
- package/vscode/src/vs/sessions/browser/parts/singlePaneEditorPart.js +178 -0
- package/vscode/src/vs/sessions/browser/sessionWorkspace.d.ts +12 -0
- package/vscode/src/vs/sessions/browser/sessionWorkspace.js +19 -0
- package/vscode/src/vs/sessions/browser/sessionsSetUpService.d.ts +24 -0
- package/vscode/src/vs/sessions/browser/sessionsSetUpService.js +598 -0
- package/vscode/src/vs/sessions/browser/sessionsSignInDialog.d.ts +25 -0
- package/vscode/src/vs/sessions/browser/sessionsSignInDialog.js +91 -0
- package/vscode/src/vs/sessions/common/welcome.d.ts +1 -0
- package/vscode/src/vs/sessions/common/welcome.js +5 -0
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.d.ts +11 -0
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.js +1052 -0
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.d.ts +23 -0
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.js +168 -0
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/media/accountTitleBarWidget.css +646 -0
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/media/accountWidget.css +231 -0
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/media/chatPetAchievementBadges.css +120 -0
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/nullAgentFeedbackService.contribution.d.ts +53 -0
- package/vscode/src/vs/sessions/contrib/agentFeedback/browser/nullAgentFeedbackService.contribution.js +99 -0
- package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.contribution.js +270 -0
- package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeViewViews.d.ts +62 -0
- package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeViewViews.js +606 -0
- package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/media/aiCustomizationTreeView.css +116 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/aquarium.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/aquarium.contribution.js +97 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/aquariumOverlay.d.ts +72 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/aquariumOverlay.js +776 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/fish.d.ts +68 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/fish.js +153 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/fishFeedingStreak.d.ts +58 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/fishFeedingStreak.js +172 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/media/aquarium.css +316 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/vscodeLogoPath.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/aquarium/browser/vscodeLogoPath.js +5 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.d.ts +173 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.js +1589 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.d.ts +32 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.js +396 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationInputCompletions.d.ts +33 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationInputCompletions.js +216 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationLeaderElection.d.ts +37 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationLeaderElection.js +126 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.d.ts +21 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.js +294 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.d.ts +59 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.js +232 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationStorageService.d.ts +13 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationStorageService.js +22 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.d.ts +60 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.js +1256 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automations.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/automations.contribution.js +88 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/media/automationDialog.css +746 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.d.ts +62 -0
- package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.js +493 -0
- package/vscode/src/vs/sessions/contrib/automations/common/isolationGroupModel.d.ts +38 -0
- package/vscode/src/vs/sessions/contrib/automations/common/isolationGroupModel.js +123 -0
- package/vscode/src/vs/sessions/contrib/blockedSessions/browser/blockedSessions.d.ts +45 -0
- package/vscode/src/vs/sessions/contrib/blockedSessions/browser/blockedSessions.js +110 -0
- package/vscode/src/vs/sessions/contrib/browserView/browser/sessionBrowserView.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/browserView/browser/sessionBrowserView.contribution.js +5 -0
- package/vscode/src/vs/sessions/contrib/browserView/browser/sessionBrowserView.d.ts +31 -0
- package/vscode/src/vs/sessions/contrib/browserView/browser/sessionBrowserView.js +137 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/changes.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/changes.contribution.js +130 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.d.ts +8 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.js +385 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/changesMultiDiffSourceResolver.d.ts +28 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/changesMultiDiffSourceResolver.js +76 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/changesViewActions.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/changesViewActions.js +509 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/changesetReviewActions.d.ts +6 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/changesetReviewActions.js +58 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/media/changesActions.css +11 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/sessionSyncChanges.d.ts +24 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/sessionSyncChanges.js +188 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/sessionsChangesAccessibilityHelp.d.ts +15 -0
- package/vscode/src/vs/sessions/contrib/changes/browser/sessionsChangesAccessibilityHelp.js +100 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/chatViewStateService.d.ts +9 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/chatViewStateService.js +18 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/media/sessionChatInputToolbarDebug.css +59 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbarDebug.d.ts +47 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbarDebug.js +306 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionTaskRunner.d.ts +41 -0
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionTaskRunner.js +31 -0
- package/vscode/src/vs/sessions/contrib/chatDebug/browser/chatDebug.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/chatDebug/browser/chatDebug.contribution.js +84 -0
- package/vscode/src/vs/sessions/contrib/customViewTest/browser/customViewTest.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/customViewTest/browser/customViewTest.contribution.js +111 -0
- package/vscode/src/vs/sessions/contrib/customViewTest/browser/media/customViewTest.css +9 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/addTabActions.d.ts +21 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/addTabActions.js +170 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.d.ts +14 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.js +425 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.contribution.js +35 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.d.ts +18 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.js +85 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditorInput.d.ts +31 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditorInput.js +125 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/media/editorBreadcrumbs.css +66 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/media/editorHeader.css +113 -0
- package/vscode/src/vs/sessions/contrib/editor/browser/media/emptyFileEditor.css +30 -0
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/fileTreeView.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/fileTreeView.contribution.js +25 -0
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.d.ts +66 -0
- package/vscode/src/vs/sessions/contrib/fileTreeView/browser/githubFileSystemProvider.js +274 -0
- package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.d.ts +6 -0
- package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.js +100 -0
- package/vscode/src/vs/sessions/contrib/files/browser/filesView.d.ts +21 -0
- package/vscode/src/vs/sessions/contrib/files/browser/filesView.js +76 -0
- package/vscode/src/vs/sessions/contrib/files/browser/media/filesView.css +29 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.d.ts +211 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.js +587 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/desktopSessionLayoutController.d.ts +112 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/desktopSessionLayoutController.js +444 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/mobileSessionLayoutController.d.ts +13 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/mobileSessionLayoutController.js +8 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.js +68 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDetailPanelCoordinator.d.ts +32 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDetailPanelCoordinator.js +81 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDockedTabsCoordinator.d.ts +111 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDockedTabsCoordinator.js +513 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDraftSessionStrategy.d.ts +44 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneDraftSessionStrategy.js +423 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneExistingSessionStrategy.d.ts +62 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneExistingSessionStrategy.js +435 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneLayoutStrategy.d.ts +46 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneLayoutStrategy.js +11 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneSharedHelpers.d.ts +11 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneSharedHelpers.js +43 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneVisibilityProfileStore.d.ts +21 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneVisibilityProfileStore.js +77 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePaneLayoutController.d.ts +55 -0
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePaneLayoutController.js +91 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/agentHostReadinessContext.d.ts +11 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/agentHostReadinessContext.js +39 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionTourContribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionTourContribution.js +109 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourContribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourContribution.js +123 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourTrigger.d.ts +24 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewTourTrigger.js +67 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourContribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV2TourContribution.js +47 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3Prompt.d.ts +79 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3Prompt.js +1277 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3TourContribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3TourContribution.js +75 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionTour.d.ts +34 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionTour.js +53 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTour.d.ts +40 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTour.js +69 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.d.ts +4 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.js +38 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.d.ts +6 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.js +63 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV3Tour.d.ts +15 -0
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV3Tour.js +49 -0
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/media/sessionsPolicyBlocked.css +125 -0
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/policyBlocked.contribution.d.ts +20 -0
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/policyBlocked.contribution.js +98 -0
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.d.ts +39 -0
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.js +218 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.d.ts +53 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.js +496 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.d.ts +27 -0
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/remoteAgentHostConnectionCustomization.js +26 -0
- package/vscode/src/vs/sessions/contrib/search/browser/media/searchEditorEmptyState.css +15 -0
- package/vscode/src/vs/sessions/contrib/search/browser/search.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/search/browser/search.contribution.js +79 -0
- package/vscode/src/vs/sessions/contrib/search/browser/searchEditorEmptyState.contribution.d.ts +7 -0
- package/vscode/src/vs/sessions/contrib/search/browser/searchEditorEmptyState.contribution.js +57 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsCIFixModel.d.ts +39 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsCIFixModel.js +155 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.d.ts +117 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.js +320 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsList.d.ts +65 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsList.js +129 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/media/automationsCards.css +624 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/media/blockedSessionsList.css +111 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/media/newSessionActionViewItem.css +112 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/media/sessionsTitleBarWidget.css +159 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionActionFeedback.d.ts +26 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionActionFeedback.js +26 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.d.ts +2 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.js +77 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.js +162 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.d.ts +111 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.js +1550 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsMouseNavigation.d.ts +13 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsMouseNavigation.js +69 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsPicker.d.ts +10 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsPicker.js +33 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTelemetry.contribution.d.ts +126 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTelemetry.contribution.js +724 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.d.ts +150 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.js +526 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTypedCharactersTracker.d.ts +64 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTypedCharactersTracker.js +99 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.d.ts +37 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.js +160 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationTemplates.d.ts +19 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationTemplates.js +74 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.d.ts +4 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.js +228 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.d.ts +53 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.js +2143 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.d.ts +12 -0
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.js +1270 -0
- package/vscode/src/vs/sessions/contrib/workspace/browser/workspace.contribution.d.ts +1 -0
- package/vscode/src/vs/sessions/contrib/workspace/browser/workspace.contribution.js +5 -0
- package/vscode/src/vs/sessions/contrib/workspace/browser/workspaceFolderManagement.d.ts +28 -0
- package/vscode/src/vs/sessions/contrib/workspace/browser/workspaceFolderManagement.js +95 -0
- package/vscode/src/vs/sessions/services/agentHostFilter/browser/agentHostFilterService.d.ts +79 -0
- package/vscode/src/vs/sessions/services/agentHostFilter/browser/agentHostFilterService.js +259 -0
- package/vscode/src/vs/sessions/services/customView/browser/customView.d.ts +42 -0
- package/vscode/src/vs/sessions/services/customView/browser/customView.js +15 -0
- package/vscode/src/vs/sessions/services/customView/browser/customViewService.d.ts +21 -0
- package/vscode/src/vs/sessions/services/customView/browser/customViewService.js +68 -0
- package/vscode/src/vs/sessions/services/sessions/browser/closedItemHistory.d.ts +72 -0
- package/vscode/src/vs/sessions/services/sessions/browser/closedItemHistory.js +115 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionGroupsService.d.ts +77 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionGroupsService.js +330 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionNavigation.d.ts +67 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionNavigation.js +157 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionOpenTelemetryService.d.ts +32 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionOpenTelemetryService.js +162 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionSectionOrderService.d.ts +40 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionSectionOrderService.js +170 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsListModelService.d.ts +63 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsListModelService.js +419 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.d.ts +229 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.js +1212 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsProvidersService.d.ts +22 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsProvidersService.js +42 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecencyHistory.d.ts +43 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsRecencyHistory.js +103 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.d.ts +243 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.js +1121 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsWindowUsageService.d.ts +8 -0
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsWindowUsageService.js +24 -0
- package/vscode/src/vs/sessions/services/sessions/browser/visibleSessions.d.ts +321 -0
- package/vscode/src/vs/sessions/services/sessions/browser/visibleSessions.js +729 -0
- package/vscode/src/vs/sessions/services/sessions/browser/worktreeTrust.d.ts +23 -0
- package/vscode/src/vs/sessions/services/sessions/browser/worktreeTrust.js +23 -0
- package/vscode/src/vs/sessions/services/sessions/common/sessionContextKeys.d.ts +32 -0
- package/vscode/src/vs/sessions/services/sessions/common/sessionContextKeys.js +103 -0
- package/vscode/src/vs/sessions/services/workspaceFolderLabel/browser/workspaceFolderLabelService.d.ts +16 -0
- package/vscode/src/vs/sessions/services/workspaceFolderLabel/browser/workspaceFolderLabelService.js +41 -0
- package/vscode/src/vs/workbench/browser/layout.js +7 -7
- package/vscode/src/vs/workbench/browser/workbench.js +3 -3
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
|
|
2
|
+
import { ISession } from "@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session";
|
|
3
|
+
import { BaseLayoutController } from "./baseSessionLayoutController.js";
|
|
4
|
+
/** [D7] Experimental setting gating the responsive sessions sidebar. */
|
|
5
|
+
export declare const RESPONSIVE_SIDEBAR_SETTING = "sessions.layout.autoCollapseSessionsSidebar";
|
|
6
|
+
/**
|
|
7
|
+
* Full layout controller used on desktop and on the web desktop layout. In
|
|
8
|
+
* addition to the shared panel / working-set / state management of
|
|
9
|
+
* {@link BaseLayoutController}, it manages the per-session auxiliary bar
|
|
10
|
+
* visibility and active view container.
|
|
11
|
+
*
|
|
12
|
+
* Its behaviour is enumerated as rules **D1-D11** in
|
|
13
|
+
* [desktopSessionLayoutController.md](./desktopSessionLayoutController.md).
|
|
14
|
+
*/
|
|
15
|
+
export declare class LayoutController extends BaseLayoutController {
|
|
16
|
+
static readonly ID = "workbench.contrib.sessionsLayoutController";
|
|
17
|
+
/**
|
|
18
|
+
* Shared layout state for the new-session view, persisted across reloads.
|
|
19
|
+
* `undefined` means no explicit choice yet (aux bar defaults to visible).
|
|
20
|
+
*/
|
|
21
|
+
private _newSessionViewState;
|
|
22
|
+
/** [D7] `true` while the sidebar is hidden because the controller auto-hid it; only such hides are auto-reverted. */
|
|
23
|
+
protected _sidebarAutoHidden: boolean;
|
|
24
|
+
/** [D7] Guards the manual-toggle listener while the controller itself toggles the sidebar. */
|
|
25
|
+
protected _applyingAutoSidebar: boolean;
|
|
26
|
+
/** [D7] Last computed space-constrained state, so the autorun only acts on real transitions. */
|
|
27
|
+
private _previousSpaceConstrained;
|
|
28
|
+
/** [D2/D8] `true` while the controller hides the side pane to restore a session's remembered state, so the hide isn't captured as a user choice. */
|
|
29
|
+
private _hidingAuxiliaryBarForRestore;
|
|
30
|
+
protected _registerViewStateManagement(): void;
|
|
31
|
+
protected _registerChangesAutoReveal(): void;
|
|
32
|
+
protected _registerNewSessionRules(): void;
|
|
33
|
+
protected _onSessionReplaced(from: ISession, to: ISession): void;
|
|
34
|
+
/**
|
|
35
|
+
* [D10] Keep the auxiliary-bar part hidden when it has no active view
|
|
36
|
+
* containers (e.g. a workspace-less quick chat where Changes+Files are gated
|
|
37
|
+
* off), so an empty column is never shown. Re-checks on container add/remove,
|
|
38
|
+
* location moves, active-view-descriptor changes (the gating signal), and
|
|
39
|
+
* aux-bar visibility changes. Only ever hides — reveals stay with [D3]/[D8].
|
|
40
|
+
*/
|
|
41
|
+
private _registerAuxiliaryBarPartVisibility;
|
|
42
|
+
/** [D10] Hide the aux-bar part when it has no active view containers; never reveals it. */
|
|
43
|
+
private _syncAuxiliaryBarPartVisibility;
|
|
44
|
+
/**
|
|
45
|
+
* [D8] When a Changes (multi-diff) editor is opened (becomes active, or its
|
|
46
|
+
* editor part is re-revealed) for an existing session, show the Changes view
|
|
47
|
+
* in the side pane unless the user explicitly hid the aux bar for that
|
|
48
|
+
* session. This reveals it the first time (no remembered choice) and again
|
|
49
|
+
* after the whole side pane was closed (D9, which keeps the remembered choice
|
|
50
|
+
* "open"), but respects an explicit aux-bar-hidden choice. The reveal is
|
|
51
|
+
* captured by [D2]. Skipped while a side-pane toggle is in progress (so the
|
|
52
|
+
* toggle restores exactly the remembered parts, D9), while the editor is
|
|
53
|
+
* maximized (D5) or while multiple sessions are visible, where the side pane
|
|
54
|
+
* is managed by other rules.
|
|
55
|
+
*/
|
|
56
|
+
private _revealChangesViewOnFirstOpen;
|
|
57
|
+
/**
|
|
58
|
+
* On a small window, auto-hide the sessions sidebar while both the editor and
|
|
59
|
+
* auxiliary bar are open and auto-show it again once either closes — unless the
|
|
60
|
+
* user closed the sidebar themselves. Disabled while multiple sessions are
|
|
61
|
+
* visible and never triggered by session navigation. Gated by the experimental
|
|
62
|
+
* `sessions.layout.autoCollapseSessionsSidebar` setting.
|
|
63
|
+
*/
|
|
64
|
+
protected _registerResponsiveSidebar(): void;
|
|
65
|
+
/** Returns `true` when the sidebar visibility was actually changed. */
|
|
66
|
+
protected _setSidebarAutoHidden(hidden: boolean): boolean;
|
|
67
|
+
protected _captureActiveSessionViewState(sessionResource: URI): void;
|
|
68
|
+
/**
|
|
69
|
+
* [D9b] Records a whole-side-pane toggle for the active session. For an
|
|
70
|
+
* uncreated session it updates the shared new-session choice. For a created
|
|
71
|
+
* session, only a full collapse of a previously-visible aux bar is marked as a
|
|
72
|
+
* collapse-driven hide (so opening Changes later re-reveals it); any other
|
|
73
|
+
* outcome just captures the resulting state, preserving an explicit aux-bar
|
|
74
|
+
* hide. See `desktopSessionLayoutController.md`.
|
|
75
|
+
*/
|
|
76
|
+
protected _onSidePaneToggled(collapsed: boolean, previousAuxiliaryBarVisible: boolean, auxiliaryBarVisible: boolean): void;
|
|
77
|
+
private _captureViewState;
|
|
78
|
+
private _setNewSessionViewState;
|
|
79
|
+
/**
|
|
80
|
+
* [D4] When a new (uncreated) session is submitted it becomes a real session
|
|
81
|
+
* while staying active. Keep the auxiliary bar exactly as the user left it: if
|
|
82
|
+
* open, keep it open on the container it is already showing; if closed, keep it
|
|
83
|
+
* closed and record no container so opening the side pane later picks the
|
|
84
|
+
* default for the session's change state at that time ([D3d]). The resulting
|
|
85
|
+
* state is persisted so later syncs don't fall back to hidden.
|
|
86
|
+
*/
|
|
87
|
+
private _onNewSessionSubmitted;
|
|
88
|
+
private _syncAuxiliaryBarVisibility;
|
|
89
|
+
/**
|
|
90
|
+
* [D3d] The container the side pane defaults to for the active session:
|
|
91
|
+
* Changes once the session has produced at least one change (in any of its
|
|
92
|
+
* chats), Files until then. Falls back to Changes when the user has unpinned
|
|
93
|
+
* the Files pane, since there is nothing else to show.
|
|
94
|
+
*
|
|
95
|
+
* Read untracked on purpose: the default is evaluated at the moment the side
|
|
96
|
+
* pane is opened, so a change landing later never switches a pane the user is
|
|
97
|
+
* already looking at.
|
|
98
|
+
*/
|
|
99
|
+
private _defaultAuxiliaryBarContainerId;
|
|
100
|
+
/** [D3d] Opens the container chosen by {@link _defaultAuxiliaryBarContainerId}. */
|
|
101
|
+
private _openDefaultAuxiliaryBarContainer;
|
|
102
|
+
private _restoreSavedAuxiliaryBarContainerOnReveal;
|
|
103
|
+
/**
|
|
104
|
+
* [D2/D8] Hide the side pane as part of restoring a session's remembered
|
|
105
|
+
* state. The synchronous guard makes the [D2] listener ignore the resulting
|
|
106
|
+
* visibility change so a restore-driven hide is never recorded as a new
|
|
107
|
+
* per-session choice.
|
|
108
|
+
*/
|
|
109
|
+
private _hideAuxiliaryBarForRestore;
|
|
110
|
+
private _isAuxiliaryBarContainerPinned;
|
|
111
|
+
private _loadNewSessionViewState;
|
|
112
|
+
}
|
|
@@ -0,0 +1,444 @@
|
|
|
1
|
+
|
|
2
|
+
import { mainWindow } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/window';
|
|
3
|
+
import { DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
4
|
+
import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
|
|
5
|
+
import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
|
|
6
|
+
import { observableConfigValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/observable/common/platformObservableUtils';
|
|
7
|
+
import product from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/product';
|
|
8
|
+
import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
|
|
9
|
+
import { ViewContainerLocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/views';
|
|
10
|
+
import { Parts } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/layout/browser/layoutService';
|
|
11
|
+
import { sessionHasChanges } from '@codingame/monaco-vscode-api/vscode/vs/sessions/services/sessions/common/session';
|
|
12
|
+
import { CHANGES_VIEW_ID, CHANGES_VIEW_CONTAINER_ID } from '@codingame/monaco-vscode-api/vscode/vs/sessions/contrib/changes/common/changes';
|
|
13
|
+
import { SESSIONS_FILES_CONTAINER_ID } from '../../files/browser/files.contribution.js';
|
|
14
|
+
import { BaseLayoutController } from './baseSessionLayoutController.js';
|
|
15
|
+
import { derived } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
|
|
16
|
+
import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
|
|
17
|
+
import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
|
|
18
|
+
|
|
19
|
+
const NEW_SESSION_VIEW_STATE_KEY = "sessions.newSessionViewState";
|
|
20
|
+
const SMALL_WINDOW_MAX_WIDTH = 1800;
|
|
21
|
+
const RESPONSIVE_SIDEBAR_SETTING = "sessions.layout.autoCollapseSessionsSidebar";
|
|
22
|
+
class LayoutController extends BaseLayoutController {
|
|
23
|
+
constructor() {
|
|
24
|
+
super(...arguments);
|
|
25
|
+
this._sidebarAutoHidden = false;
|
|
26
|
+
this._applyingAutoSidebar = false;
|
|
27
|
+
this._previousSpaceConstrained = false;
|
|
28
|
+
this._hidingAuxiliaryBarForRestore = false;
|
|
29
|
+
}
|
|
30
|
+
static {
|
|
31
|
+
this.ID = "workbench.contrib.sessionsLayoutController";
|
|
32
|
+
}
|
|
33
|
+
_registerViewStateManagement() {
|
|
34
|
+
this._loadNewSessionViewState();
|
|
35
|
+
const activeSessionIsCreatedObs = derived(reader => {
|
|
36
|
+
const activeSession = this._sessionsService.activeSession.read(reader);
|
|
37
|
+
return activeSession?.isCreated.read(reader) ?? false;
|
|
38
|
+
});
|
|
39
|
+
const activeSessionHasWorkspaceObs = derived(reader => {
|
|
40
|
+
const activeSession = this._sessionsService.activeSession.read(reader);
|
|
41
|
+
return activeSession?.workspace.read(reader)?.folders?.[0]?.root !== undefined;
|
|
42
|
+
});
|
|
43
|
+
const editorMaximizedObs = observableFromEvent(
|
|
44
|
+
this,
|
|
45
|
+
this._layoutService.onDidChangeEditorMaximized,
|
|
46
|
+
() => this._layoutService.isEditorMaximized()
|
|
47
|
+
);
|
|
48
|
+
let previousSessionResource;
|
|
49
|
+
let previousIsCreated = false;
|
|
50
|
+
this._register(autorun(reader => {
|
|
51
|
+
const editorMaximized = editorMaximizedObs.read(reader);
|
|
52
|
+
const activeSessionResource = this.activeSessionResourceObs.read(reader);
|
|
53
|
+
const isCreated = activeSessionIsCreatedObs.read(reader);
|
|
54
|
+
if (editorMaximized) {
|
|
55
|
+
previousSessionResource = activeSessionResource;
|
|
56
|
+
previousIsCreated = isCreated;
|
|
57
|
+
void this._viewsService.openView(CHANGES_VIEW_ID, false);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const activeSessionHasWorkspace = activeSessionHasWorkspaceObs.read(reader);
|
|
61
|
+
const multipleVisible = this.multipleSessionsVisibleObs.read(reader);
|
|
62
|
+
if (multipleVisible) {
|
|
63
|
+
previousSessionResource = activeSessionResource;
|
|
64
|
+
previousIsCreated = isCreated;
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const isSessionSwitch = previousSessionResource !== undefined && !isEqual(previousSessionResource, activeSessionResource);
|
|
68
|
+
if (isSessionSwitch) {
|
|
69
|
+
this._captureViewState(previousSessionResource);
|
|
70
|
+
}
|
|
71
|
+
const isSubmit = previousSessionResource !== undefined && !isSessionSwitch && !previousIsCreated && isCreated && activeSessionResource !== undefined;
|
|
72
|
+
previousSessionResource = activeSessionResource;
|
|
73
|
+
previousIsCreated = isCreated;
|
|
74
|
+
if (isSubmit) {
|
|
75
|
+
this._withSessionLayoutRestore(() => this._onNewSessionSubmitted(activeSessionResource));
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
this._withSessionLayoutRestore(
|
|
79
|
+
() => this._syncAuxiliaryBarVisibility(activeSessionResource, activeSessionHasWorkspace, isCreated)
|
|
80
|
+
);
|
|
81
|
+
}));
|
|
82
|
+
this._register(this._layoutService.onDidChangePartVisibility(e => {
|
|
83
|
+
if (e.partId !== Parts.AUXILIARYBAR_PART) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (this._togglingSidePane) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
if (this._hidingAuxiliaryBarForRestore) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (this._isRestoringSessionLayout) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (this.multipleSessionsVisibleObs.get()) {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
if (this._layoutService.isEditorMaximized()) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const activeSession = this._sessionsService.activeSession.get();
|
|
102
|
+
if (!activeSession) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
if (!activeSession.isCreated.get()) {
|
|
106
|
+
this._setNewSessionViewState({
|
|
107
|
+
auxiliaryBarVisible: e.visible
|
|
108
|
+
});
|
|
109
|
+
} else {
|
|
110
|
+
if (e.visible && this._restoreSavedAuxiliaryBarContainerOnReveal(activeSession.resource)) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
this._captureViewState(activeSession.resource);
|
|
114
|
+
}
|
|
115
|
+
}));
|
|
116
|
+
this._registerChangesAutoReveal();
|
|
117
|
+
this._registerResponsiveSidebar();
|
|
118
|
+
this._registerAuxiliaryBarPartVisibility();
|
|
119
|
+
this._registerNewSessionRules();
|
|
120
|
+
}
|
|
121
|
+
_registerChangesAutoReveal() {
|
|
122
|
+
this._register(
|
|
123
|
+
this._editorService.onDidActiveEditorChange(() => this._revealChangesViewOnFirstOpen())
|
|
124
|
+
);
|
|
125
|
+
this._register(this._layoutService.onDidChangePartVisibility(e => {
|
|
126
|
+
if (e.partId === Parts.EDITOR_PART && e.visible) {
|
|
127
|
+
this._revealChangesViewOnFirstOpen();
|
|
128
|
+
}
|
|
129
|
+
}));
|
|
130
|
+
}
|
|
131
|
+
_registerNewSessionRules() {}
|
|
132
|
+
_onSessionReplaced(from, to) {
|
|
133
|
+
super._onSessionReplaced(from, to);
|
|
134
|
+
const activeSession = this._sessionsService.activeSession.get();
|
|
135
|
+
const replacedSessionIsActive = isEqual(activeSession?.resource, from.resource) || isEqual(activeSession?.resource, to.resource);
|
|
136
|
+
const auxiliaryBarVisible = replacedSessionIsActive ? this._layoutService.isVisible(Parts.AUXILIARYBAR_PART) : this._newSessionViewState?.auxiliaryBarVisible;
|
|
137
|
+
if (auxiliaryBarVisible === undefined) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
this._viewStateBySession.set(to.resource, {
|
|
141
|
+
auxiliaryBarVisible,
|
|
142
|
+
auxiliaryBarActiveViewContainerId: replacedSessionIsActive && auxiliaryBarVisible ? this._paneCompositePartService.getActivePaneComposite(ViewContainerLocation.AuxiliaryBar)?.getId() : undefined
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
_registerAuxiliaryBarPartVisibility() {
|
|
146
|
+
const modelListeners = this._register(( new DisposableStore()));
|
|
147
|
+
const rewire = () => {
|
|
148
|
+
modelListeners.clear();
|
|
149
|
+
for (const container of this._viewDescriptorService.getViewContainersByLocation(ViewContainerLocation.AuxiliaryBar)) {
|
|
150
|
+
modelListeners.add(
|
|
151
|
+
this._viewDescriptorService.getViewContainerModel(container).onDidChangeActiveViewDescriptors(() => this._syncAuxiliaryBarPartVisibility())
|
|
152
|
+
);
|
|
153
|
+
}
|
|
154
|
+
this._syncAuxiliaryBarPartVisibility();
|
|
155
|
+
};
|
|
156
|
+
this._register(this._viewDescriptorService.onDidChangeViewContainers(rewire));
|
|
157
|
+
this._register(this._viewDescriptorService.onDidChangeContainerLocation(rewire));
|
|
158
|
+
this._register(this._viewsService.onDidChangeViewContainerVisibility(e => {
|
|
159
|
+
if (e.location === ViewContainerLocation.AuxiliaryBar) {
|
|
160
|
+
this._syncAuxiliaryBarPartVisibility();
|
|
161
|
+
}
|
|
162
|
+
}));
|
|
163
|
+
this._register(this._layoutService.onDidChangePartVisibility(e => {
|
|
164
|
+
if (e.partId === Parts.AUXILIARYBAR_PART && e.visible) {
|
|
165
|
+
this._syncAuxiliaryBarPartVisibility();
|
|
166
|
+
}
|
|
167
|
+
}));
|
|
168
|
+
rewire();
|
|
169
|
+
}
|
|
170
|
+
_syncAuxiliaryBarPartVisibility() {
|
|
171
|
+
if (this._layoutService.isSinglePaneLayoutEnabled) {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
if (this._hasActiveAuxViewContainers()) {
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
const activeSession = this._sessionsService.activeSession.get();
|
|
178
|
+
if (activeSession?.isQuickChat?.get() !== true) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
if (this._layoutService.isVisible(Parts.AUXILIARYBAR_PART)) {
|
|
182
|
+
const suppression = this._layoutService.suppressEditorPartAutoVisibility();
|
|
183
|
+
try {
|
|
184
|
+
this._hideAuxiliaryBarForRestore();
|
|
185
|
+
} finally {
|
|
186
|
+
suppression.dispose();
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
_revealChangesViewOnFirstOpen() {
|
|
191
|
+
if (this._togglingSidePane) {
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
const activeEditorResource = this._editorService.activeEditor?.resource;
|
|
195
|
+
if (!activeEditorResource) {
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
const changesSessionResource = this._sessionChangesService.getSessionResource(activeEditorResource);
|
|
199
|
+
if (!changesSessionResource) {
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
if (this.multipleSessionsVisibleObs.get() || this._layoutService.isEditorMaximized()) {
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
const activeSession = this._sessionsService.activeSession.get();
|
|
206
|
+
if (!activeSession || !isEqual(activeSession.resource, changesSessionResource)) {
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
if (!activeSession.isCreated.get()) {
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
if (!this._layoutService.isVisible(Parts.EDITOR_PART, mainWindow)) {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
const savedState = this._viewStateBySession.get(changesSessionResource);
|
|
216
|
+
if (savedState) {
|
|
217
|
+
if (this._layoutService.isVisible(Parts.AUXILIARYBAR_PART)) {
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
if (!savedState.auxiliaryBarVisible && !savedState.auxiliaryBarHiddenByCollapse) {
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
void this._viewsService.openView(CHANGES_VIEW_ID, false);
|
|
225
|
+
}
|
|
226
|
+
_registerResponsiveSidebar() {
|
|
227
|
+
const enabledObs = observableConfigValue(
|
|
228
|
+
RESPONSIVE_SIDEBAR_SETTING,
|
|
229
|
+
product.quality !== "stable",
|
|
230
|
+
this._configurationService
|
|
231
|
+
);
|
|
232
|
+
const smallWindowObs = observableFromEvent(
|
|
233
|
+
this,
|
|
234
|
+
this._layoutService.onDidLayoutMainContainer,
|
|
235
|
+
() => this._layoutService.mainContainerDimension.width <= SMALL_WINDOW_MAX_WIDTH
|
|
236
|
+
);
|
|
237
|
+
const editorVisibleObs = observableFromEvent(
|
|
238
|
+
this,
|
|
239
|
+
this._layoutService.onDidChangePartVisibility,
|
|
240
|
+
() => this._layoutService.isVisible(Parts.EDITOR_PART, mainWindow)
|
|
241
|
+
);
|
|
242
|
+
const auxiliaryBarVisibleObs = observableFromEvent(
|
|
243
|
+
this,
|
|
244
|
+
this._layoutService.onDidChangePartVisibility,
|
|
245
|
+
() => this._layoutService.isVisible(Parts.AUXILIARYBAR_PART)
|
|
246
|
+
);
|
|
247
|
+
const editorMaximizedObs = observableFromEvent(
|
|
248
|
+
this,
|
|
249
|
+
this._layoutService.onDidChangeEditorMaximized,
|
|
250
|
+
() => this._layoutService.isEditorMaximized()
|
|
251
|
+
);
|
|
252
|
+
const spaceConstrainedObs = derived(
|
|
253
|
+
reader => enabledObs.read(reader) && !this.multipleSessionsVisibleObs.read(reader) && smallWindowObs.read(reader) && editorVisibleObs.read(reader) && auxiliaryBarVisibleObs.read(reader)
|
|
254
|
+
);
|
|
255
|
+
this._previousSpaceConstrained = spaceConstrainedObs.get();
|
|
256
|
+
this._register(autorun(reader => {
|
|
257
|
+
if (editorMaximizedObs.read(reader)) {
|
|
258
|
+
return;
|
|
259
|
+
}
|
|
260
|
+
const constrained = spaceConstrainedObs.read(reader);
|
|
261
|
+
if (this._isRestoringSessionLayout) {
|
|
262
|
+
this._previousSpaceConstrained = constrained;
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
if (constrained === this._previousSpaceConstrained) {
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
this._previousSpaceConstrained = constrained;
|
|
269
|
+
if (constrained) {
|
|
270
|
+
if (this._setSidebarAutoHidden(true)) {
|
|
271
|
+
this._sidebarAutoHidden = true;
|
|
272
|
+
}
|
|
273
|
+
} else if (this._sidebarAutoHidden) {
|
|
274
|
+
this._setSidebarAutoHidden(false);
|
|
275
|
+
this._sidebarAutoHidden = false;
|
|
276
|
+
}
|
|
277
|
+
}));
|
|
278
|
+
this._register(this._layoutService.onDidChangePartVisibility(e => {
|
|
279
|
+
if (e.partId !== Parts.SIDEBAR_PART || this._applyingAutoSidebar) {
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
this._sidebarAutoHidden = false;
|
|
283
|
+
}));
|
|
284
|
+
}
|
|
285
|
+
_setSidebarAutoHidden(hidden) {
|
|
286
|
+
if (this._layoutService.isVisible(Parts.SIDEBAR_PART) === !hidden) {
|
|
287
|
+
return false;
|
|
288
|
+
}
|
|
289
|
+
this._applyingAutoSidebar = true;
|
|
290
|
+
try {
|
|
291
|
+
this._layoutService.setPartHidden(hidden, Parts.SIDEBAR_PART);
|
|
292
|
+
} finally {
|
|
293
|
+
this._applyingAutoSidebar = false;
|
|
294
|
+
}
|
|
295
|
+
return true;
|
|
296
|
+
}
|
|
297
|
+
_captureActiveSessionViewState(sessionResource) {
|
|
298
|
+
this._captureViewState(sessionResource);
|
|
299
|
+
}
|
|
300
|
+
_onSidePaneToggled(collapsed, previousAuxiliaryBarVisible, auxiliaryBarVisible) {
|
|
301
|
+
if (this.multipleSessionsVisibleObs.get()) {
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
304
|
+
const activeSession = this._sessionsService.activeSession.get();
|
|
305
|
+
if (!activeSession) {
|
|
306
|
+
return;
|
|
307
|
+
}
|
|
308
|
+
if (!activeSession.isCreated.get()) {
|
|
309
|
+
this._setNewSessionViewState({
|
|
310
|
+
auxiliaryBarVisible
|
|
311
|
+
});
|
|
312
|
+
return;
|
|
313
|
+
}
|
|
314
|
+
if (collapsed && previousAuxiliaryBarVisible) {
|
|
315
|
+
const activeViewContainerId = this._paneCompositePartService.getActivePaneComposite(ViewContainerLocation.AuxiliaryBar)?.getId();
|
|
316
|
+
this._viewStateBySession.set(activeSession.resource, {
|
|
317
|
+
auxiliaryBarVisible: false,
|
|
318
|
+
auxiliaryBarActiveViewContainerId: activeViewContainerId,
|
|
319
|
+
auxiliaryBarHiddenByCollapse: true
|
|
320
|
+
});
|
|
321
|
+
return;
|
|
322
|
+
}
|
|
323
|
+
this._captureViewState(activeSession.resource);
|
|
324
|
+
}
|
|
325
|
+
_captureViewState(sessionResource) {
|
|
326
|
+
const auxiliaryBarVisible = this._layoutService.isVisible(Parts.AUXILIARYBAR_PART);
|
|
327
|
+
const activeViewContainerId = this._paneCompositePartService.getActivePaneComposite(ViewContainerLocation.AuxiliaryBar)?.getId();
|
|
328
|
+
const previous = this._viewStateBySession.get(sessionResource);
|
|
329
|
+
const auxiliaryBarHiddenByCollapse = !auxiliaryBarVisible && previous?.auxiliaryBarHiddenByCollapse === true;
|
|
330
|
+
this._viewStateBySession.set(sessionResource, {
|
|
331
|
+
auxiliaryBarVisible,
|
|
332
|
+
auxiliaryBarActiveViewContainerId: activeViewContainerId,
|
|
333
|
+
...(auxiliaryBarHiddenByCollapse ? {
|
|
334
|
+
auxiliaryBarHiddenByCollapse: true
|
|
335
|
+
} : {})
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
_setNewSessionViewState(state) {
|
|
339
|
+
this._newSessionViewState = state;
|
|
340
|
+
this._storageService.store(
|
|
341
|
+
NEW_SESSION_VIEW_STATE_KEY,
|
|
342
|
+
JSON.stringify(state),
|
|
343
|
+
StorageScope.WORKSPACE,
|
|
344
|
+
StorageTarget.MACHINE
|
|
345
|
+
);
|
|
346
|
+
}
|
|
347
|
+
_onNewSessionSubmitted(sessionResource) {
|
|
348
|
+
const auxiliaryBarVisible = this._layoutService.isVisible(Parts.AUXILIARYBAR_PART);
|
|
349
|
+
this._viewStateBySession.set(sessionResource, {
|
|
350
|
+
auxiliaryBarVisible,
|
|
351
|
+
auxiliaryBarActiveViewContainerId: auxiliaryBarVisible ? this._paneCompositePartService.getActivePaneComposite(ViewContainerLocation.AuxiliaryBar)?.getId() : undefined
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
_syncAuxiliaryBarVisibility(sessionResource, hasWorkspace, isCreated) {
|
|
355
|
+
if (!sessionResource || !hasWorkspace) {
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
358
|
+
if (!isCreated) {
|
|
359
|
+
if (this._newSessionViewState && !this._newSessionViewState.auxiliaryBarVisible) {
|
|
360
|
+
this._hideAuxiliaryBarForRestore();
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
363
|
+
void this._openDefaultAuxiliaryBarContainer();
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
366
|
+
const savedState = this._viewStateBySession.get(sessionResource);
|
|
367
|
+
if (!savedState || !savedState.auxiliaryBarVisible) {
|
|
368
|
+
this._hideAuxiliaryBarForRestore();
|
|
369
|
+
return;
|
|
370
|
+
}
|
|
371
|
+
const savedContainerId = savedState.auxiliaryBarActiveViewContainerId;
|
|
372
|
+
if (savedContainerId && this._isAuxiliaryBarContainerPinned(savedContainerId)) {
|
|
373
|
+
void this._viewsService.openViewContainer(savedContainerId, false);
|
|
374
|
+
return;
|
|
375
|
+
}
|
|
376
|
+
void this._openDefaultAuxiliaryBarContainer();
|
|
377
|
+
}
|
|
378
|
+
_defaultAuxiliaryBarContainerId() {
|
|
379
|
+
if (!this._isAuxiliaryBarContainerPinned(SESSIONS_FILES_CONTAINER_ID)) {
|
|
380
|
+
return CHANGES_VIEW_CONTAINER_ID;
|
|
381
|
+
}
|
|
382
|
+
const activeSession = this._sessionsService.activeSession.get();
|
|
383
|
+
return activeSession && sessionHasChanges(activeSession, undefined) ? CHANGES_VIEW_CONTAINER_ID : SESSIONS_FILES_CONTAINER_ID;
|
|
384
|
+
}
|
|
385
|
+
_openDefaultAuxiliaryBarContainer(containerId = this._defaultAuxiliaryBarContainerId()) {
|
|
386
|
+
if (containerId === CHANGES_VIEW_CONTAINER_ID) {
|
|
387
|
+
return this._viewsService.openView(CHANGES_VIEW_ID, false);
|
|
388
|
+
}
|
|
389
|
+
return this._viewsService.openViewContainer(containerId, false);
|
|
390
|
+
}
|
|
391
|
+
_restoreSavedAuxiliaryBarContainerOnReveal(sessionResource) {
|
|
392
|
+
const savedState = this._viewStateBySession.get(sessionResource);
|
|
393
|
+
if (!savedState || savedState.auxiliaryBarVisible) {
|
|
394
|
+
return false;
|
|
395
|
+
}
|
|
396
|
+
const savedContainerId = savedState.auxiliaryBarActiveViewContainerId;
|
|
397
|
+
if (savedContainerId && this._isAuxiliaryBarContainerPinned(savedContainerId)) {
|
|
398
|
+
this._viewStateBySession.set(sessionResource, {
|
|
399
|
+
...savedState,
|
|
400
|
+
auxiliaryBarVisible: true
|
|
401
|
+
});
|
|
402
|
+
void this._viewsService.openViewContainer(savedContainerId, false);
|
|
403
|
+
} else {
|
|
404
|
+
const defaultContainerId = this._defaultAuxiliaryBarContainerId();
|
|
405
|
+
this._viewStateBySession.set(sessionResource, {
|
|
406
|
+
auxiliaryBarVisible: true,
|
|
407
|
+
auxiliaryBarActiveViewContainerId: defaultContainerId
|
|
408
|
+
});
|
|
409
|
+
void this._openDefaultAuxiliaryBarContainer(defaultContainerId);
|
|
410
|
+
}
|
|
411
|
+
return true;
|
|
412
|
+
}
|
|
413
|
+
_hideAuxiliaryBarForRestore() {
|
|
414
|
+
this._hidingAuxiliaryBarForRestore = true;
|
|
415
|
+
try {
|
|
416
|
+
this._layoutService.setPartHidden(true, Parts.AUXILIARYBAR_PART);
|
|
417
|
+
} finally {
|
|
418
|
+
this._hidingAuxiliaryBarForRestore = false;
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
_isAuxiliaryBarContainerPinned(containerId) {
|
|
422
|
+
return this._paneCompositePartService.getPinnedPaneCompositeIds(ViewContainerLocation.AuxiliaryBar).includes(containerId);
|
|
423
|
+
}
|
|
424
|
+
_loadNewSessionViewState() {
|
|
425
|
+
const newSessionRaw = this._storageService.get(NEW_SESSION_VIEW_STATE_KEY, StorageScope.WORKSPACE);
|
|
426
|
+
if (!newSessionRaw) {
|
|
427
|
+
return;
|
|
428
|
+
}
|
|
429
|
+
try {
|
|
430
|
+
const parsed = JSON.parse(newSessionRaw);
|
|
431
|
+
if (parsed && typeof parsed.auxiliaryBarVisible === "boolean") {
|
|
432
|
+
this._newSessionViewState = {
|
|
433
|
+
auxiliaryBarVisible: parsed.auxiliaryBarVisible
|
|
434
|
+
};
|
|
435
|
+
} else {
|
|
436
|
+
this._storageService.remove(NEW_SESSION_VIEW_STATE_KEY, StorageScope.WORKSPACE);
|
|
437
|
+
}
|
|
438
|
+
} catch {
|
|
439
|
+
this._storageService.remove(NEW_SESSION_VIEW_STATE_KEY, StorageScope.WORKSPACE);
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
export { LayoutController, RESPONSIVE_SIDEBAR_SETTING };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseLayoutController } from "./baseSessionLayoutController.js";
|
|
2
|
+
/**
|
|
3
|
+
* Reduced layout controller used on the web phone layout. It keeps the shared
|
|
4
|
+
* panel / working-set / state management of {@link BaseLayoutController} but
|
|
5
|
+
* deliberately omits the auxiliary bar visibility management, which would cause
|
|
6
|
+
* disruptive auto-expand on narrow viewports.
|
|
7
|
+
*
|
|
8
|
+
* Its behaviour is enumerated as rules **M1-M2** in
|
|
9
|
+
* [mobileSessionLayoutController.md](./mobileSessionLayoutController.md).
|
|
10
|
+
*/
|
|
11
|
+
export declare class MobileLayoutController extends BaseLayoutController {
|
|
12
|
+
static readonly ID = "workbench.contrib.sessionsMobileLayoutController";
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
|
|
2
|
+
import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
|
|
3
|
+
import { isWeb, isMobile } from '@codingame/monaco-vscode-api/vscode/vs/base/common/platform';
|
|
4
|
+
import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
|
|
5
|
+
import { Extensions } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configurationRegistry';
|
|
6
|
+
import product from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/product';
|
|
7
|
+
import { Registry } from '@codingame/monaco-vscode-api/vscode/vs/platform/registry/common/platform';
|
|
8
|
+
import { registerWorkbenchContribution2, WorkbenchPhase } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions';
|
|
9
|
+
import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
|
|
10
|
+
import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
|
|
11
|
+
import { LayoutController, RESPONSIVE_SIDEBAR_SETTING } from './desktopSessionLayoutController.js';
|
|
12
|
+
import { MobileLayoutController } from './mobileSessionLayoutController.js';
|
|
13
|
+
import { DOCK_DETAIL_PANEL_SETTING } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/sessionConfig';
|
|
14
|
+
import { IAgentWorkbenchLayoutService } from '@codingame/monaco-vscode-api/vscode/vs/sessions/browser/workbench.service';
|
|
15
|
+
import { SinglePaneLayoutController } from './singlePaneLayoutController.js';
|
|
16
|
+
|
|
17
|
+
let SessionsLayoutContribution = class SessionsLayoutContribution extends Disposable {
|
|
18
|
+
static {
|
|
19
|
+
this.ID = "workbench.contrib.sessionsLayoutContribution";
|
|
20
|
+
}
|
|
21
|
+
constructor(instantiationService, layoutService) {
|
|
22
|
+
super();
|
|
23
|
+
if (layoutService.isSinglePaneLayoutEnabled) {
|
|
24
|
+
this._register(instantiationService.createInstance(SinglePaneLayoutController));
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (isWeb && isMobile) {
|
|
28
|
+
this._register(instantiationService.createInstance(MobileLayoutController));
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
this._register(instantiationService.createInstance(LayoutController));
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
SessionsLayoutContribution = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IAgentWorkbenchLayoutService))], SessionsLayoutContribution));
|
|
35
|
+
registerWorkbenchContribution2(
|
|
36
|
+
SessionsLayoutContribution.ID,
|
|
37
|
+
SessionsLayoutContribution,
|
|
38
|
+
WorkbenchPhase.BlockRestore
|
|
39
|
+
);
|
|
40
|
+
( Registry.as(Extensions.Configuration)).registerConfiguration({
|
|
41
|
+
id: "sessions",
|
|
42
|
+
properties: {
|
|
43
|
+
[RESPONSIVE_SIDEBAR_SETTING]: {
|
|
44
|
+
type: "boolean",
|
|
45
|
+
markdownDescription: ( localize(
|
|
46
|
+
4092,
|
|
47
|
+
"Controls whether the sessions sidebar is automatically collapsed in a narrow Agents window while both the editor and the side panel are open, and shown again once either of them closes."
|
|
48
|
+
)),
|
|
49
|
+
default: product.quality !== "stable",
|
|
50
|
+
tags: ["experimental"],
|
|
51
|
+
experiment: {
|
|
52
|
+
mode: "auto"
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
[DOCK_DETAIL_PANEL_SETTING]: {
|
|
56
|
+
type: "boolean",
|
|
57
|
+
markdownDescription: ( localize(
|
|
58
|
+
4093,
|
|
59
|
+
"Controls whether the Agents window docks the detail panel inside the editor so a single editor tab bar spans across the editor and the detail panel. Requires a window reload to take effect."
|
|
60
|
+
)),
|
|
61
|
+
default: true,
|
|
62
|
+
tags: ["experimental"],
|
|
63
|
+
experiment: {
|
|
64
|
+
mode: "startup"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
});
|