@codingame/monaco-vscode-workbench-service-override 37.5.0 → 37.6.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/package.json +10 -10
- package/session.js +45 -28
- package/vscode/src/vs/sessions/browser/singlePaneWorkbench.d.ts +76 -0
- package/vscode/src/vs/sessions/browser/singlePaneWorkbench.js +320 -0
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/account.contribution.js +42 -42
- package/vscode/src/vs/sessions/contrib/accountMenu/browser/chatPetAchievementBadges.js +11 -11
- package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeView.contribution.js +18 -18
- package/vscode/src/vs/sessions/contrib/aiCustomizationTreeView/browser/aiCustomizationTreeViewViews.js +12 -12
- package/vscode/src/vs/sessions/contrib/applyCommitsToParentRepo/browser/applyChangesToParentRepo.js +7 -7
- package/vscode/src/vs/sessions/contrib/aquarium/browser/aquarium.contribution.js +12 -12
- package/vscode/src/vs/sessions/contrib/aquarium/browser/aquariumOverlay.js +10 -10
- package/vscode/src/vs/sessions/contrib/automations/browser/automationDialog.js +68 -68
- package/vscode/src/vs/sessions/contrib/automations/browser/automationDialogService.js +7 -7
- package/vscode/src/vs/sessions/contrib/automations/browser/automationRunner.js +4 -4
- package/vscode/src/vs/sessions/contrib/automations/browser/automationScheduler.js +2 -2
- package/vscode/src/vs/sessions/contrib/automations/browser/automationTools.js +38 -38
- package/vscode/src/vs/sessions/contrib/automations/browser/automations.contribution.js +2 -2
- package/vscode/src/vs/sessions/contrib/automations/browser/providerAutomationService.js +1 -1
- package/vscode/src/vs/sessions/contrib/changes/browser/changes.contribution.js +6 -6
- package/vscode/src/vs/sessions/contrib/changes/browser/changesActions.js +4 -4
- package/vscode/src/vs/sessions/contrib/changes/browser/changesViewActions.js +20 -20
- package/vscode/src/vs/sessions/contrib/changes/browser/changesetReviewActions.js +1 -1
- package/vscode/src/vs/sessions/contrib/changes/browser/sessionSyncChanges.js +9 -9
- package/vscode/src/vs/sessions/contrib/changes/browser/sessionsChangesAccessibilityHelp.js +17 -17
- package/vscode/src/vs/sessions/contrib/chat/browser/sessionChatInputToolbarDebug.js +17 -17
- package/vscode/src/vs/sessions/contrib/chatDebug/browser/chatDebug.contribution.js +2 -2
- package/vscode/src/vs/sessions/contrib/codeReview/browser/codeReview.contributions.js +2 -2
- package/vscode/src/vs/sessions/contrib/customViewTest/browser/customViewTest.contribution.js +7 -7
- package/vscode/src/vs/sessions/contrib/editor/browser/addTabActions.js +4 -4
- package/vscode/src/vs/sessions/contrib/editor/browser/editor.contribution.js +8 -8
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.contribution.js +1 -1
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditor.js +5 -5
- package/vscode/src/vs/sessions/contrib/editor/browser/emptyFileEditorInput.js +1 -1
- package/vscode/src/vs/sessions/contrib/files/browser/files.contribution.js +7 -7
- package/vscode/src/vs/sessions/contrib/files/browser/filesView.js +1 -1
- package/vscode/src/vs/sessions/contrib/layout/browser/baseSessionLayoutController.js +6 -6
- package/vscode/src/vs/sessions/contrib/layout/browser/sessions.layout.contribution.js +2 -2
- package/vscode/src/vs/sessions/contrib/layout/browser/singlePane/singlePaneExistingSessionStrategy.js +1 -1
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/newSessionViewV3Prompt.js +19 -19
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionTour.js +4 -4
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTour.js +6 -6
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewTourShared.js +2 -2
- package/vscode/src/vs/sessions/contrib/onboardingTours/browser/tours/newSessionViewV2Tour.js +4 -4
- package/vscode/src/vs/sessions/contrib/policyBlocked/browser/sessionsPolicyBlocked.js +24 -24
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostClaudePermissionModePicker.js +3 -3
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostCodexApprovalsPicker.js +3 -3
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostModePicker.js +2 -2
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostPermissionPickerDelegate.js +8 -8
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionBranchActions.js +3 -3
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentHostSessionConfigPicker.js +32 -32
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/agentMergeActions.js +29 -29
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/exportDebugLogsAction.js +1 -1
- package/vscode/src/vs/sessions/contrib/providers/agentHost/browser/mobile/mobileChatInputConfigPicker.js +3 -3
- package/vscode/src/vs/sessions/contrib/providers/remoteAgentHost/browser/devContainerAgentHostService.js +6 -6
- package/vscode/src/vs/sessions/contrib/search/browser/search.contribution.js +3 -3
- package/vscode/src/vs/sessions/contrib/search/browser/searchEditorEmptyState.contribution.js +1 -1
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsIndicatorModel.js +4 -4
- package/vscode/src/vs/sessions/contrib/sessions/browser/blockedSessionsList.js +5 -5
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionDetailsAction.js +2 -2
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessions.contribution.js +8 -8
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsActions.js +58 -58
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsTitleBarWidget.js +8 -8
- package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsWindowNotifier.js +5 -5
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationTemplates.js +10 -10
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsAccessibility.js +38 -38
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/automationsView.js +118 -118
- package/vscode/src/vs/sessions/contrib/sessions/browser/views/sessionsViewActions.js +53 -53
- package/vscode/src/vs/sessions/contrib/terminal/browser/agentHostSessionTaskRunner.js +1 -1
- package/vscode/src/vs/sessions/contrib/terminal/browser/sessionsTerminalContribution.js +2 -2
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsManagementService.js +2 -2
- package/vscode/src/vs/sessions/services/sessions/browser/sessionsService.js +2 -2
- package/vscode/src/vs/workbench/browser/layout.js +1 -1
|
@@ -22,28 +22,28 @@ class SessionsChangesAccessibilityHelp {
|
|
|
22
22
|
return (new AccessibleContentProvider(AccessibleViewProviderId.SessionsChanges, {
|
|
23
23
|
type: AccessibleViewType.Help
|
|
24
24
|
}, () => [( localize(
|
|
25
|
-
|
|
25
|
+
3555,
|
|
26
26
|
"You are in the Create Pull Request form. Title and description are generated in the background. Each field shows a loading indicator and reports a busy state until generation finishes. You may start editing immediately; generated text never replaces your edits."
|
|
27
27
|
)), ( localize(
|
|
28
|
-
|
|
28
|
+
3556,
|
|
29
29
|
"The header identifies the repository, followed by the base branch on the left and source branch on the right. The arrow points toward the base branch that will receive the changes."
|
|
30
30
|
)), ( localize(
|
|
31
|
-
|
|
31
|
+
3557,
|
|
32
32
|
"Use Tab and Shift+Tab to move between fields and buttons. Use arrow keys to choose a merge option and Space to toggle Create as Draft."
|
|
33
33
|
)), ( localize(
|
|
34
|
-
|
|
34
|
+
3558,
|
|
35
35
|
"Create as Draft keeps the pull request in draft until it is ready for review."
|
|
36
36
|
)), ( localize(
|
|
37
|
-
|
|
37
|
+
3559,
|
|
38
38
|
"Merge Manually leaves merging to you. Selecting Agent Merge reveals checkboxes for addressing reviews, fixing CI failures, and resolving conflicts or behind branches. Merge Pull Request lets you turn merging off, merge only if Agent Merge made no changes, or merge when ready. Session settings are changed only on submission, not when opening or cancelling the form. Auto-Merge asks GitHub to merge when requirements pass and lets you choose an allowed merge method. GitHub auto-merge is not available for drafts."
|
|
39
39
|
)), ( localize(
|
|
40
|
-
|
|
40
|
+
3560,
|
|
41
41
|
"Draft, merge options, and the last-used submission action are remembered across sessions in this profile, even if you cancel. Title, description, repository, and branches are not remembered. Unavailable options are not applied, but your preferences are kept for repositories and hosts that support them."
|
|
42
42
|
)), ( localize(
|
|
43
|
-
|
|
43
|
+
3561,
|
|
44
44
|
"Each Agent Merge checkbox has a description explaining what it does and when it acts. Focus a checkbox to hear its description, or hover over the info icon after its label to read it. Press Space to toggle it."
|
|
45
45
|
)), ( localize(
|
|
46
|
-
|
|
46
|
+
3562,
|
|
47
47
|
"Create PR commits and pushes your changes and creates the pull request directly. When available, Tab to Pull Request Actions and press Enter or Space to open the dropdown. Choose Send Create PR Message to send the form details and options to this session's chat instead. The last-used action becomes the primary button. Control+Enter on Windows and Linux, or Command+Enter on macOS, runs that primary action. Press Escape to dismiss the dropdown, or Escape in the form or Cancel to close without submitting."
|
|
48
48
|
))].join("\n"), () => focusedElement.focus(), AccessibilityVerbositySettingId.SessionsChanges));
|
|
49
49
|
}
|
|
@@ -51,41 +51,41 @@ class SessionsChangesAccessibilityHelp {
|
|
|
51
51
|
const layoutService = accessor.get(IAgentWorkbenchLayoutService);
|
|
52
52
|
const content = [];
|
|
53
53
|
content.push(( localize(
|
|
54
|
-
|
|
54
|
+
3563,
|
|
55
55
|
"You are in the Changes view. It shows the files changed by the current session as a tree, followed by a collapsible Checks section."
|
|
56
56
|
)));
|
|
57
57
|
content.push(( localize(
|
|
58
|
-
|
|
58
|
+
3564,
|
|
59
59
|
"Use the up and down arrow keys to move between changed files, and the left and right arrow keys to collapse or expand folders. Press Enter to open the selected file's diff."
|
|
60
60
|
)));
|
|
61
61
|
content.push(( localize(
|
|
62
|
-
|
|
62
|
+
3565,
|
|
63
63
|
"The Checks section lists the continuous integration checks for the session's pull request. Its header is a button: press Enter or Space to collapse or expand it{0}.",
|
|
64
64
|
"<keybinding:sessions.action.revealCIChecks>"
|
|
65
65
|
)));
|
|
66
66
|
content.push(( localize(
|
|
67
|
-
|
|
67
|
+
3566,
|
|
68
68
|
"The Changes view can show files as a tree or a flat list. Use the view's toolbar actions to switch between Tree and List modes."
|
|
69
69
|
)));
|
|
70
70
|
content.push(( localize(
|
|
71
|
-
|
|
71
|
+
3567,
|
|
72
72
|
"When available, the Changes toolbar or editor title bar also provides actions to commit, merge, sync, or create a pull request. When Agent Merge is the primary action, activate it to toggle Agent Merge and use its dropdown to configure it. Use Tab and Shift+Tab to move between the file list and toolbar actions."
|
|
73
73
|
)));
|
|
74
74
|
content.push(( localize(
|
|
75
|
-
|
|
75
|
+
3568,
|
|
76
76
|
"For Agent Host sessions, Create PR opens a form with generated, editable title and description, a draft checkbox, and merge options. The form appears while generation is in progress and preserves anything you type. Use Tab to navigate and Escape to cancel."
|
|
77
77
|
)));
|
|
78
78
|
content.push(layoutService.isSinglePaneLayoutEnabled ? ( localize(
|
|
79
|
-
|
|
79
|
+
3569,
|
|
80
80
|
"Use Diff View in the editor title area's More Actions menu to select inline, side-by-side, or automatic layout. The Toggle Preferred Diff View command switches between inline and automatic layout{0}.",
|
|
81
81
|
"<keybinding:toggle.diff.renderSideBySide>"
|
|
82
82
|
)) : ( localize(
|
|
83
|
-
|
|
83
|
+
3570,
|
|
84
84
|
"Use Diff View in the editor title area's More Actions menu to select inline, side-by-side, or automatic layout. The Toggle Preferred Diff View command switches between inline and automatic layout{0}.",
|
|
85
85
|
"<keybinding:toggle.diff.renderSideBySide>"
|
|
86
86
|
)));
|
|
87
87
|
content.push(( localize(
|
|
88
|
-
|
|
88
|
+
3571,
|
|
89
89
|
"Use Word Wrap in the editor title area's More Actions menu to control word wrapping independently for code and multi-diff editors in the Agents window."
|
|
90
90
|
)));
|
|
91
91
|
return ( new AccessibleContentProvider(AccessibleViewProviderId.SessionsChanges, {
|
|
@@ -27,7 +27,7 @@ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/obse
|
|
|
27
27
|
registerCss(sessionChatInputToolbarDebug, 1);
|
|
28
28
|
const $ = $$1;
|
|
29
29
|
const SessionChatPillsDebugAvailableContext = new RawContextKey("sessionsChatPillsDebugAvailable", false, ( localize(
|
|
30
|
-
|
|
30
|
+
3892,
|
|
31
31
|
"Whether a session chat view is active and can show fake status pills"
|
|
32
32
|
)));
|
|
33
33
|
const SHOW_SESSION_CHAT_PILLS_DEBUG_COMMAND_ID = "sessions.debug.showFakeChatPills";
|
|
@@ -62,7 +62,7 @@ let SessionChatPillsDebugService = class SessionChatPillsDebugService extends Di
|
|
|
62
62
|
constructor() {
|
|
63
63
|
super({
|
|
64
64
|
id: SHOW_SESSION_CHAT_PILLS_DEBUG_COMMAND_ID,
|
|
65
|
-
title: ( localize2(
|
|
65
|
+
title: ( localize2(3893, "Configure Fake Session Chat UI")),
|
|
66
66
|
category: Categories.Developer,
|
|
67
67
|
precondition: SessionChatPillsDebugAvailableContext,
|
|
68
68
|
menu: [{
|
|
@@ -121,7 +121,7 @@ let SessionChatPillsDebugService = class SessionChatPillsDebugService extends Di
|
|
|
121
121
|
let applyButton;
|
|
122
122
|
let numericInputs = [];
|
|
123
123
|
let revalidate = () => {};
|
|
124
|
-
const dialog = disposables.add(( new Dialog(this._layoutService.activeContainer, ( localize(
|
|
124
|
+
const dialog = disposables.add(( new Dialog(this._layoutService.activeContainer, ( localize(3894, "Fake Session Chat UI")), [( localize(3895, "Apply")), ( localize(3896, "Clear")), ( localize(3897, "Cancel"))], createWorkbenchDialogOptions({
|
|
125
125
|
type: "none",
|
|
126
126
|
extraClasses: ["session-chat-pills-debug-dialog"],
|
|
127
127
|
cancelId: 2,
|
|
@@ -137,16 +137,16 @@ let SessionChatPillsDebugService = class SessionChatPillsDebugService extends Di
|
|
|
137
137
|
append(
|
|
138
138
|
form,
|
|
139
139
|
$("p.session-chat-pills-debug-description", undefined, ( localize(
|
|
140
|
-
|
|
140
|
+
3898,
|
|
141
141
|
"Configure the values shown by status pills and input banners. Separate multiple names with commas or new lines."
|
|
142
142
|
)))
|
|
143
143
|
);
|
|
144
144
|
const stats = append(form, $(".session-chat-pills-debug-stats"));
|
|
145
|
-
const files = this._createInput(stats, disposables, ( localize(
|
|
146
|
-
const insertions = this._createInput(stats, disposables, ( localize(
|
|
147
|
-
const deletions = this._createInput(stats, disposables, ( localize(
|
|
145
|
+
const files = this._createInput(stats, disposables, ( localize(3899, "Files")), state.files, value => state.files = value, true, () => revalidate());
|
|
146
|
+
const insertions = this._createInput(stats, disposables, ( localize(3900, "Insertions")), state.insertions, value => state.insertions = value, true, () => revalidate());
|
|
147
|
+
const deletions = this._createInput(stats, disposables, ( localize(3901, "Deletions")), state.deletions, value => state.deletions = value, true, () => revalidate());
|
|
148
148
|
numericInputs = [files, insertions, deletions];
|
|
149
|
-
const autoIncrementLabel = ( localize(
|
|
149
|
+
const autoIncrementLabel = ( localize(3902, "Automatically increase insertions and deletions every 2 seconds"));
|
|
150
150
|
const autoIncrementRow = append(form, $(".session-chat-pills-debug-checkbox-row"));
|
|
151
151
|
const autoIncrementCheckbox = disposables.add(( new Checkbox(autoIncrementLabel, state.autoIncrementChanges, defaultCheckboxStyles)));
|
|
152
152
|
append(autoIncrementRow, autoIncrementCheckbox.domNode);
|
|
@@ -167,15 +167,15 @@ let SessionChatPillsDebugService = class SessionChatPillsDebugService extends Di
|
|
|
167
167
|
EventType.CLICK,
|
|
168
168
|
() => setAutoIncrement(!autoIncrementCheckbox.checked)
|
|
169
169
|
));
|
|
170
|
-
this._createInput(form, disposables, ( localize(
|
|
171
|
-
this._createInput(form, disposables, ( localize(
|
|
172
|
-
this._createInput(form, disposables, ( localize(
|
|
173
|
-
append(form, $("h3.session-chat-pills-debug-heading", undefined, ( localize(
|
|
170
|
+
this._createInput(form, disposables, ( localize(3903, "Artifact File Names")), state.markdownFiles, value => state.markdownFiles = value);
|
|
171
|
+
this._createInput(form, disposables, ( localize(3904, "Subagent Names")), state.subagents, value => state.subagents = value);
|
|
172
|
+
this._createInput(form, disposables, ( localize(3905, "Browser Labels")), state.browsers, value => state.browsers = value);
|
|
173
|
+
append(form, $("h3.session-chat-pills-debug-heading", undefined, ( localize(3906, "Input Banners"))));
|
|
174
174
|
const bannerStats = append(form, $(".session-chat-pills-debug-banner-stats"));
|
|
175
|
-
const ciFailed = this._createInput(bannerStats, disposables, ( localize(
|
|
176
|
-
const ciPending = this._createInput(bannerStats, disposables, ( localize(
|
|
177
|
-
const prFeedback = this._createInput(bannerStats, disposables, ( localize(
|
|
178
|
-
const agentFeedback = this._createInput(bannerStats, disposables, ( localize(
|
|
175
|
+
const ciFailed = this._createInput(bannerStats, disposables, ( localize(3907, "Failed CI Checks")), state.ciFailed, value => state.ciFailed = value, true, () => revalidate());
|
|
176
|
+
const ciPending = this._createInput(bannerStats, disposables, ( localize(3908, "Pending CI Checks")), state.ciPending, value => state.ciPending = value, true, () => revalidate());
|
|
177
|
+
const prFeedback = this._createInput(bannerStats, disposables, ( localize(3909, "PR Feedback to Address")), state.prFeedback, value => state.prFeedback = value, true, () => revalidate());
|
|
178
|
+
const agentFeedback = this._createInput(bannerStats, disposables, ( localize(3910, "Agent Feedback to Address")), state.agentFeedback, value => state.agentFeedback = value, true, () => revalidate());
|
|
179
179
|
numericInputs = [...numericInputs, ciFailed, ciPending, prFeedback, agentFeedback];
|
|
180
180
|
revalidate = () => {
|
|
181
181
|
const valid = numericInputs.every(input => input.validate() !== MessageType.ERROR);
|
|
@@ -240,7 +240,7 @@ let SessionChatPillsDebugService = class SessionChatPillsDebugService extends Di
|
|
|
240
240
|
validationOptions: numeric ? {
|
|
241
241
|
validation: raw => {
|
|
242
242
|
return isNonNegativeIntegerInput(raw) ? null : {
|
|
243
|
-
content: ( localize(
|
|
243
|
+
content: ( localize(3911, "Enter a whole number greater than or equal to 0.")),
|
|
244
244
|
type: MessageType.ERROR
|
|
245
245
|
};
|
|
246
246
|
}
|
|
@@ -14,7 +14,7 @@ import { Extensions, WindowEnablement, ViewContainerLocation } from '@codingame/
|
|
|
14
14
|
const COPILOT_CHAT_VIEW_CONTAINER_ID = "workbench.view.extension.copilot-chat";
|
|
15
15
|
const COPILOT_CHAT_VIEW_ID = "copilot-chat";
|
|
16
16
|
const SESSIONS_CHAT_DEBUG_CONTAINER_ID = "workbench.sessions.panel.chatDebugContainer";
|
|
17
|
-
const chatDebugViewIcon = registerIcon("sessions-chat-debug-view-icon", Codicon.debug, ( localize(
|
|
17
|
+
const chatDebugViewIcon = registerIcon("sessions-chat-debug-view-icon", Codicon.debug, ( localize(4034, "View icon of the chat debug view in the sessions window.")));
|
|
18
18
|
let RegisterChatDebugViewContribution = class RegisterChatDebugViewContribution extends Disposable {
|
|
19
19
|
static {
|
|
20
20
|
this.ID = "sessions.registerChatDebugView";
|
|
@@ -55,7 +55,7 @@ let RegisterChatDebugViewContribution = class RegisterChatDebugViewContribution
|
|
|
55
55
|
viewContainerRegistry.deregisterViewContainer(viewContainer);
|
|
56
56
|
const chatDebugViewContainer = viewContainerRegistry.registerViewContainer({
|
|
57
57
|
id: SESSIONS_CHAT_DEBUG_CONTAINER_ID,
|
|
58
|
-
title: ( localize2(
|
|
58
|
+
title: ( localize2(4035, "Chat Debug")),
|
|
59
59
|
icon: chatDebugViewIcon,
|
|
60
60
|
order: 3,
|
|
61
61
|
ctorDescriptor: ( new SyncDescriptor(ViewPaneContainer, [SESSIONS_CHAT_DEBUG_CONTAINER_ID, {
|
|
@@ -31,8 +31,8 @@ class RunSessionCodeReviewAction extends Action2 {
|
|
|
31
31
|
constructor() {
|
|
32
32
|
super({
|
|
33
33
|
id: RunSessionCodeReviewAction.ID,
|
|
34
|
-
title: ( localize2(
|
|
35
|
-
tooltip: ( localize(
|
|
34
|
+
title: ( localize2(4036, "Run Code Review")),
|
|
35
|
+
tooltip: ( localize(4037, "Run Code Review")),
|
|
36
36
|
category: CHAT_CATEGORY,
|
|
37
37
|
icon: Codicon.codeReview,
|
|
38
38
|
precondition: ( ContextKeyExpr.or(ChatContextKeys.hasAgentSessionChanges, SessionHasChangesContext)),
|
package/vscode/src/vs/sessions/contrib/customViewTest/browser/customViewTest.contribution.js
CHANGED
|
@@ -23,9 +23,9 @@ const TEST_CUSTOM_VIEW_ID = "sessions.customView.test";
|
|
|
23
23
|
class TestCustomView extends AbstractCustomView {
|
|
24
24
|
constructor() {
|
|
25
25
|
super(...arguments);
|
|
26
|
-
this.title = constObservable(( localize(
|
|
26
|
+
this.title = constObservable(( localize(4038, "Test Custom View")));
|
|
27
27
|
this.description = constObservable(( localize(
|
|
28
|
-
|
|
28
|
+
4039,
|
|
29
29
|
"A placeholder view used to verify the custom view grid layout, header and scrolling."
|
|
30
30
|
)));
|
|
31
31
|
}
|
|
@@ -34,7 +34,7 @@ class TestCustomView extends AbstractCustomView {
|
|
|
34
34
|
}
|
|
35
35
|
render(container) {
|
|
36
36
|
for (let i = 0; i < TestCustomView.ITEM_COUNT; i++) {
|
|
37
|
-
container.appendChild($(".custom-view-test-item", undefined, ( localize(
|
|
37
|
+
container.appendChild($(".custom-view-test-item", undefined, ( localize(4040, "Item {0}", i + 1))));
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
layout(_width, _height) {}
|
|
@@ -65,7 +65,7 @@ class ShowTestCustomViewAction extends Action2 {
|
|
|
65
65
|
constructor() {
|
|
66
66
|
super({
|
|
67
67
|
id: "sessions.customView.showTestView",
|
|
68
|
-
title: ( localize2(
|
|
68
|
+
title: ( localize2(4041, "Show Test Custom View")),
|
|
69
69
|
category: Categories.Developer,
|
|
70
70
|
f1: true,
|
|
71
71
|
precondition: IsDevelopmentContext
|
|
@@ -79,7 +79,7 @@ class HideTestCustomViewAction extends Action2 {
|
|
|
79
79
|
constructor() {
|
|
80
80
|
super({
|
|
81
81
|
id: "sessions.customView.hideTestView",
|
|
82
|
-
title: ( localize2(
|
|
82
|
+
title: ( localize2(4042, "Hide Test Custom View")),
|
|
83
83
|
category: Categories.Developer,
|
|
84
84
|
f1: true,
|
|
85
85
|
precondition: IsDevelopmentContext
|
|
@@ -93,7 +93,7 @@ class TestCustomViewPingAction extends Action2 {
|
|
|
93
93
|
constructor() {
|
|
94
94
|
super({
|
|
95
95
|
id: "sessions.customView.testView.ping",
|
|
96
|
-
title: ( localize2(
|
|
96
|
+
title: ( localize2(4043, "Ping Test Custom View")),
|
|
97
97
|
icon: Codicon.debugAlt,
|
|
98
98
|
menu: [{
|
|
99
99
|
id: Menus.CustomViewTest,
|
|
@@ -103,7 +103,7 @@ class TestCustomViewPingAction extends Action2 {
|
|
|
103
103
|
});
|
|
104
104
|
}
|
|
105
105
|
run(accessor) {
|
|
106
|
-
accessor.get(INotificationService).info(( localize(
|
|
106
|
+
accessor.get(INotificationService).info(( localize(4044, "Test custom view action ran.")));
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
registerAction2(ShowTestCustomViewAction);
|
|
@@ -35,7 +35,7 @@ class NewFileTabAction extends Action2 {
|
|
|
35
35
|
constructor() {
|
|
36
36
|
super({
|
|
37
37
|
id: NEW_FILE_TAB_COMMAND_ID,
|
|
38
|
-
title: ( localize2(
|
|
38
|
+
title: ( localize2(4045, "Files")),
|
|
39
39
|
category: SessionsCategories.Sessions,
|
|
40
40
|
icon: Codicon.newFile,
|
|
41
41
|
f1: true,
|
|
@@ -70,7 +70,7 @@ class NewBrowserTabAction extends Action2 {
|
|
|
70
70
|
constructor() {
|
|
71
71
|
super({
|
|
72
72
|
id: NEW_BROWSER_TAB_COMMAND_ID,
|
|
73
|
-
title: ( localize2(
|
|
73
|
+
title: ( localize2(4046, "Browser")),
|
|
74
74
|
category: SessionsCategories.Sessions,
|
|
75
75
|
icon: Codicon.globe,
|
|
76
76
|
f1: true,
|
|
@@ -103,7 +103,7 @@ class NewSearchTabAction extends Action2 {
|
|
|
103
103
|
constructor() {
|
|
104
104
|
super({
|
|
105
105
|
id: NEW_SEARCH_TAB_COMMAND_ID,
|
|
106
|
-
title: ( localize2(
|
|
106
|
+
title: ( localize2(4047, "Search")),
|
|
107
107
|
category: SessionsCategories.Sessions,
|
|
108
108
|
icon: Codicon.search,
|
|
109
109
|
f1: true,
|
|
@@ -132,7 +132,7 @@ class NewChangesTabAction extends Action2 {
|
|
|
132
132
|
constructor() {
|
|
133
133
|
super({
|
|
134
134
|
id: NEW_CHANGES_TAB_COMMAND_ID,
|
|
135
|
-
title: ( localize2(
|
|
135
|
+
title: ( localize2(4048, "Changes")),
|
|
136
136
|
category: SessionsCategories.Sessions,
|
|
137
137
|
icon: Codicon.gitCompare,
|
|
138
138
|
f1: false,
|
|
@@ -79,7 +79,7 @@ class MaximizeMainEditorPartAction extends Action2 {
|
|
|
79
79
|
constructor() {
|
|
80
80
|
super({
|
|
81
81
|
id: MaximizeMainEditorPartAction.ID,
|
|
82
|
-
title: ( localize2(
|
|
82
|
+
title: ( localize2(4057, "Maximize Editor Area")),
|
|
83
83
|
icon: Codicon.screenFull,
|
|
84
84
|
f1: false,
|
|
85
85
|
keybinding: {
|
|
@@ -124,7 +124,7 @@ class RestoreMainEditorPartAction extends Action2 {
|
|
|
124
124
|
constructor() {
|
|
125
125
|
super({
|
|
126
126
|
id: RestoreMainEditorPartAction.ID,
|
|
127
|
-
title: ( localize2(
|
|
127
|
+
title: ( localize2(4058, "Restore Editor Area")),
|
|
128
128
|
icon: Codicon.screenNormal,
|
|
129
129
|
f1: false,
|
|
130
130
|
toggled: EditorMaximizedContext,
|
|
@@ -169,7 +169,7 @@ class HideMainEditorPartAction extends Action2 {
|
|
|
169
169
|
constructor() {
|
|
170
170
|
super({
|
|
171
171
|
id: HideMainEditorPartAction.ID,
|
|
172
|
-
title: ( localize2(
|
|
172
|
+
title: ( localize2(4059, "Hide Editor")),
|
|
173
173
|
icon: Codicon.rightPanelHide,
|
|
174
174
|
f1: false,
|
|
175
175
|
menu: {
|
|
@@ -195,7 +195,7 @@ class ShowMainEditorPartAction extends Action2 {
|
|
|
195
195
|
constructor() {
|
|
196
196
|
super({
|
|
197
197
|
id: ShowMainEditorPartAction.ID,
|
|
198
|
-
title: ( localize2(
|
|
198
|
+
title: ( localize2(4060, "Show Editor")),
|
|
199
199
|
icon: Codicon.rightPanelShow,
|
|
200
200
|
f1: false,
|
|
201
201
|
menu: {
|
|
@@ -221,7 +221,7 @@ class CloseMainEditorPartAction extends Action2 {
|
|
|
221
221
|
constructor() {
|
|
222
222
|
super({
|
|
223
223
|
id: CloseMainEditorPartAction.ID,
|
|
224
|
-
title: ( localize2(
|
|
224
|
+
title: ( localize2(4061, "Close Editor Area")),
|
|
225
225
|
icon: Codicon.close,
|
|
226
226
|
f1: false,
|
|
227
227
|
menu: {
|
|
@@ -245,7 +245,7 @@ class OpenEditorInModalEditorAction extends Action2 {
|
|
|
245
245
|
constructor() {
|
|
246
246
|
super({
|
|
247
247
|
id: OpenEditorInModalEditorAction.ID,
|
|
248
|
-
title: ( localize2(
|
|
248
|
+
title: ( localize2(4062, "Open in Modal Editor")),
|
|
249
249
|
icon: Codicon.openInWindow,
|
|
250
250
|
f1: false,
|
|
251
251
|
menu: {
|
|
@@ -287,7 +287,7 @@ class OpenModalEditorInEditorAction extends Action2 {
|
|
|
287
287
|
constructor() {
|
|
288
288
|
super({
|
|
289
289
|
id: OpenModalEditorInEditorAction.ID,
|
|
290
|
-
title: ( localize2(
|
|
290
|
+
title: ( localize2(4063, "Open in Editor Area")),
|
|
291
291
|
icon: Codicon.openInWindow,
|
|
292
292
|
f1: false,
|
|
293
293
|
precondition: ( CustomViewVisibleContext.negate()),
|
|
@@ -341,7 +341,7 @@ class AddFileAsContextAction extends Action2 {
|
|
|
341
341
|
const precondition = ( ContextKeyExpr.and(IsSessionsWindowContext, ( IsAuxiliaryWindowContext.toNegated()), ( ActiveEditorContext.isEqualTo(TEXT_FILE_EDITOR_ID))));
|
|
342
342
|
super({
|
|
343
343
|
id: AddFileAsContextAction.ID,
|
|
344
|
-
title: ( localize2(
|
|
344
|
+
title: ( localize2(4064, "Add File as Context")),
|
|
345
345
|
category: SessionsCategories.Sessions,
|
|
346
346
|
icon: Codicon.attach,
|
|
347
347
|
f1: true,
|
|
@@ -21,7 +21,7 @@ let SinglePaneEmptyFileEditorContribution = class SinglePaneEmptyFileEditorContr
|
|
|
21
21
|
return;
|
|
22
22
|
}
|
|
23
23
|
this._register(( Registry.as(EditorExtensions.EditorPane)).registerEditorPane(
|
|
24
|
-
EditorPaneDescriptor.create(EmptyFileEditor, EmptyFileEditor.ID, ( localize(
|
|
24
|
+
EditorPaneDescriptor.create(EmptyFileEditor, EmptyFileEditor.ID, ( localize(4065, "File"))),
|
|
25
25
|
[( new SyncDescriptor(EmptyFileEditorInput))]
|
|
26
26
|
));
|
|
27
27
|
this._register(( Registry.as(EditorExtensions.EditorFactory)).registerEditorSerializer(EmptyFileEditorInput.ID, EmptyFileEditorSerializer));
|
|
@@ -23,13 +23,13 @@ class SearchFilesActionViewItem extends CompactButtonActionViewItem {
|
|
|
23
23
|
return QUICK_OPEN_COMMAND_ID;
|
|
24
24
|
}
|
|
25
25
|
get label() {
|
|
26
|
-
return localize(
|
|
26
|
+
return localize(4066, "Search Files");
|
|
27
27
|
}
|
|
28
28
|
getHoverContent(keybindingLabel) {
|
|
29
|
-
return keybindingLabel ? ( localize(
|
|
29
|
+
return keybindingLabel ? ( localize(4067, "Search Files ({0})", keybindingLabel)) : ( localize(4068, "Search Files"));
|
|
30
30
|
}
|
|
31
31
|
getAriaLabel(keybindingAriaLabel) {
|
|
32
|
-
return keybindingAriaLabel ? ( localize(
|
|
32
|
+
return keybindingAriaLabel ? ( localize(4069, "Search Files ({0})", keybindingAriaLabel)) : ( localize(4070, "Search Files"));
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
let EmptyFileEditor = class EmptyFileEditor extends EditorPane {
|
|
@@ -60,7 +60,7 @@ let EmptyFileEditor = class EmptyFileEditor extends EditorPane {
|
|
|
60
60
|
createEditor(parent) {
|
|
61
61
|
const container = append(parent, $(".empty-file-editor"));
|
|
62
62
|
const content = append(container, $(".empty-file-editor-content"));
|
|
63
|
-
renderSessionsEmptyState(content, ( localize(
|
|
63
|
+
renderSessionsEmptyState(content, ( localize(4071, "Files")), ( localize(4072, "Select a file from the Files view")));
|
|
64
64
|
const actions = append(content, $(".empty-file-editor-actions"));
|
|
65
65
|
const action = this._register(this.createSearchAction());
|
|
66
66
|
const actionViewItem = this._register(
|
|
@@ -71,7 +71,7 @@ let EmptyFileEditor = class EmptyFileEditor extends EditorPane {
|
|
|
71
71
|
createSearchAction() {
|
|
72
72
|
return (new Action(
|
|
73
73
|
QUICK_OPEN_COMMAND_ID,
|
|
74
|
-
localize(
|
|
74
|
+
localize(4066, "Search Files"),
|
|
75
75
|
undefined,
|
|
76
76
|
true,
|
|
77
77
|
() => this.commandService.executeCommand(QUICK_OPEN_COMMAND_ID, "")
|
|
@@ -56,7 +56,7 @@ let EmptyFileEditorInput = class EmptyFileEditorInput extends DockedEditorInput
|
|
|
56
56
|
return this.layoutService.isVisible(Parts.EDITOR_PART, mainWindow) ? capabilities : capabilities | EditorInputCapabilities.CannotClose;
|
|
57
57
|
}
|
|
58
58
|
getName() {
|
|
59
|
-
return localize(
|
|
59
|
+
return localize(4073, "Files");
|
|
60
60
|
}
|
|
61
61
|
getIcon() {
|
|
62
62
|
return EmptyFileEditorInput_1.ICON;
|
|
@@ -16,11 +16,11 @@ import { KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/com
|
|
|
16
16
|
import { IsPhoneLayoutContext, SessionHasWorkspaceContext, SinglePaneLayoutEnabledContext, IsQuickChatSessionContext } from '@codingame/monaco-vscode-api/vscode/vs/sessions/common/contextkeys';
|
|
17
17
|
|
|
18
18
|
const SESSIONS_FILES_CONTAINER_ID = "workbench.sessions.auxiliaryBar.filesContainer";
|
|
19
|
-
const filesViewIcon = registerIcon("sessions-files-view-icon", Codicon.files, ( localize2(
|
|
19
|
+
const filesViewIcon = registerIcon("sessions-files-view-icon", Codicon.files, ( localize2(4076, "View icon of the files view in the sessions window.")).value);
|
|
20
20
|
const viewContainerRegistry = ( Registry.as(Extensions.ViewContainersRegistry));
|
|
21
21
|
const filesViewContainer = viewContainerRegistry.registerViewContainer({
|
|
22
22
|
id: SESSIONS_FILES_CONTAINER_ID,
|
|
23
|
-
title: ( localize2(
|
|
23
|
+
title: ( localize2(4077, "Files")),
|
|
24
24
|
icon: filesViewIcon,
|
|
25
25
|
order: 11,
|
|
26
26
|
ctorDescriptor: ( new SyncDescriptor(ViewPaneContainer, [SESSIONS_FILES_CONTAINER_ID, {
|
|
@@ -30,8 +30,8 @@ const filesViewContainer = viewContainerRegistry.registerViewContainer({
|
|
|
30
30
|
hideIfEmpty: true,
|
|
31
31
|
openCommandActionDescriptor: {
|
|
32
32
|
id: SESSIONS_FILES_CONTAINER_ID,
|
|
33
|
-
title: ( localize2(
|
|
34
|
-
mnemonicTitle: ( localize(
|
|
33
|
+
title: ( localize2(4078, "Explorer")),
|
|
34
|
+
mnemonicTitle: ( localize(4079, "Fil&&es")),
|
|
35
35
|
keybindings: {
|
|
36
36
|
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KeyE
|
|
37
37
|
},
|
|
@@ -49,7 +49,7 @@ class RegisterFilesViewContribution {
|
|
|
49
49
|
const viewsRegistry = ( Registry.as(Extensions.ViewsRegistry));
|
|
50
50
|
viewsRegistry.registerViews([{
|
|
51
51
|
id: SESSIONS_FILES_VIEW_ID,
|
|
52
|
-
name: ( localize2(
|
|
52
|
+
name: ( localize2(4077, "Files")),
|
|
53
53
|
containerIcon: filesViewIcon,
|
|
54
54
|
ctorDescriptor: ( new SyncDescriptor(SessionsExplorerView)),
|
|
55
55
|
canToggleVisibility: false,
|
|
@@ -59,7 +59,7 @@ class RegisterFilesViewContribution {
|
|
|
59
59
|
}], filesViewContainer);
|
|
60
60
|
viewsRegistry.registerViews([{
|
|
61
61
|
id: SESSIONS_FILES_EMPTY_VIEW_ID,
|
|
62
|
-
name: ( localize2(
|
|
62
|
+
name: ( localize2(4077, "Files")),
|
|
63
63
|
containerIcon: filesViewIcon,
|
|
64
64
|
ctorDescriptor: ( new SyncDescriptor(SessionsExplorerEmptyView)),
|
|
65
65
|
canToggleVisibility: false,
|
|
@@ -78,7 +78,7 @@ registerAction2(class extends Action2 {
|
|
|
78
78
|
constructor() {
|
|
79
79
|
super({
|
|
80
80
|
id: "sessions.files.action.collapseExplorerFolders",
|
|
81
|
-
title: ( localize2(
|
|
81
|
+
title: ( localize2(4080, "Collapse Folders in Explorer")),
|
|
82
82
|
icon: Codicon.collapseAll,
|
|
83
83
|
menu: {
|
|
84
84
|
id: MenuId.ViewTitle,
|
|
@@ -68,7 +68,7 @@ let SessionsExplorerEmptyView = class SessionsExplorerEmptyView extends ViewPane
|
|
|
68
68
|
const bodyContainer = append(container, $(".files-empty-view-body"));
|
|
69
69
|
const welcomeContainer = append(bodyContainer, $(".files-empty-welcome"));
|
|
70
70
|
const welcomeMessage = append(welcomeContainer, $(".files-empty-welcome-message"));
|
|
71
|
-
welcomeMessage.textContent = ( localize(
|
|
71
|
+
welcomeMessage.textContent = ( localize(4081, "Folders and files will appear here."));
|
|
72
72
|
}
|
|
73
73
|
};
|
|
74
74
|
SessionsExplorerEmptyView = ( __decorate([( __param(1, IKeybindingService)), ( __param(2, IContextMenuService)), ( __param(3, IConfigurationService)), ( __param(4, IContextKeyService)), ( __param(5, IViewDescriptorService)), ( __param(6, IInstantiationService)), ( __param(7, IOpenerService)), ( __param(8, IThemeService)), ( __param(9, IHoverService))], SessionsExplorerEmptyView));
|
|
@@ -56,12 +56,12 @@ import { ISessionChangesService } from '@codingame/monaco-vscode-api/vscode/vs/s
|
|
|
56
56
|
const secondarySidebarToggleClosedIcon = registerIcon(
|
|
57
57
|
"agent-secondary-sidebar-toggle-closed",
|
|
58
58
|
Codicon.layoutSidebarRightOff,
|
|
59
|
-
( localize(
|
|
59
|
+
( localize(4113, "Icon for the sessions secondary sidebar when closed."))
|
|
60
60
|
);
|
|
61
61
|
const secondarySidebarToggleOpenIcon = registerIcon(
|
|
62
62
|
"agent-secondary-sidebar-toggle-open",
|
|
63
63
|
Codicon.layoutSidebarRight,
|
|
64
|
-
( localize(
|
|
64
|
+
( localize(4114, "Icon for the sessions secondary sidebar when open."))
|
|
65
65
|
);
|
|
66
66
|
const SESSION_LAYOUT_STATE_KEY = "sessions.layoutState";
|
|
67
67
|
const WORKING_SETS_STORAGE_KEY = "sessions.workingSets";
|
|
@@ -73,7 +73,7 @@ const EMPTY_WORKING_SET_SETTING = "sessions.layout.useEmptyWorkingSetForNewSessi
|
|
|
73
73
|
type: "boolean",
|
|
74
74
|
default: true,
|
|
75
75
|
description: ( localize(
|
|
76
|
-
|
|
76
|
+
4115,
|
|
77
77
|
"Use en empty working set for new session. If false, keep the current working set."
|
|
78
78
|
))
|
|
79
79
|
}
|
|
@@ -312,7 +312,7 @@ let BaseLayoutController = class BaseLayoutController extends Disposable {
|
|
|
312
312
|
constructor() {
|
|
313
313
|
super({
|
|
314
314
|
id: "workbench.action.agentToggleSidePanel",
|
|
315
|
-
title: ( localize2(
|
|
315
|
+
title: ( localize2(4116, "Toggle Side Panel")),
|
|
316
316
|
icon: secondarySidebarToggleClosedIcon,
|
|
317
317
|
toggled: {
|
|
318
318
|
condition: ( ContextKeyExpr.or(AuxiliaryBarVisibleContext, MainEditorAreaVisibleContext)),
|
|
@@ -320,7 +320,7 @@ let BaseLayoutController = class BaseLayoutController extends Disposable {
|
|
|
320
320
|
},
|
|
321
321
|
metadata: {
|
|
322
322
|
description: ( localize(
|
|
323
|
-
|
|
323
|
+
4117,
|
|
324
324
|
"Open/Show and Close/Hide the Side Panel (editor area and auxiliary bar)"
|
|
325
325
|
))
|
|
326
326
|
},
|
|
@@ -342,7 +342,7 @@ let BaseLayoutController = class BaseLayoutController extends Disposable {
|
|
|
342
342
|
run(accessor) {
|
|
343
343
|
const nowVisible = accessor.get(IAgentWorkbenchLayoutService).toggleSidePane();
|
|
344
344
|
logSidePanelToggle(accessor.get(ITelemetryService), nowVisible);
|
|
345
|
-
alert(nowVisible ? ( localize(
|
|
345
|
+
alert(nowVisible ? ( localize(4118, "Side Panel shown")) : ( localize(4119, "Side Panel hidden")));
|
|
346
346
|
}
|
|
347
347
|
});
|
|
348
348
|
}
|
|
@@ -43,7 +43,7 @@ registerWorkbenchContribution2(
|
|
|
43
43
|
[RESPONSIVE_SIDEBAR_SETTING]: {
|
|
44
44
|
type: "boolean",
|
|
45
45
|
markdownDescription: ( localize(
|
|
46
|
-
|
|
46
|
+
4120,
|
|
47
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
48
|
)),
|
|
49
49
|
default: product.quality !== "stable",
|
|
@@ -55,7 +55,7 @@ registerWorkbenchContribution2(
|
|
|
55
55
|
[DOCK_DETAIL_PANEL_SETTING]: {
|
|
56
56
|
type: "boolean",
|
|
57
57
|
markdownDescription: ( localize(
|
|
58
|
-
|
|
58
|
+
4121,
|
|
59
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
60
|
)),
|
|
61
61
|
default: true,
|
|
@@ -407,7 +407,7 @@ let SinglePaneExistingSessionStrategy = class SinglePaneExistingSessionStrategy
|
|
|
407
407
|
constructor() {
|
|
408
408
|
super({
|
|
409
409
|
id: TOGGLE_DETAILS_COMMAND_ID,
|
|
410
|
-
title: ( localize2(
|
|
410
|
+
title: ( localize2(4122, "Toggle Details")),
|
|
411
411
|
icon: Codicon.listSelection,
|
|
412
412
|
f1: false,
|
|
413
413
|
toggled: AuxiliaryBarVisibleContext,
|