@codingame/monaco-vscode-views-service-override 1.83.2 → 1.83.3
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 +2 -2
- package/vscode/src/vs/base/browser/ui/tree/treeDefaults.js +1 -1
- package/vscode/src/vs/workbench/api/browser/viewsExtensionPoint.js +50 -179
- package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarActions.js +44 -21
- package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +12 -12
- package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/compositeBar.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/compositePart.js +4 -4
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +24 -18
- package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +2 -6
- package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +5 -5
- package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +12 -18
- package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +3 -3
- package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +5 -2
- package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +16 -8
- package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +2 -2
- package/vscode/src/vs/workbench/browser/parts/views/treeView.js +20 -28
- package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +20 -24
- package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.js +6 -6
- package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyTree.js +4 -4
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +10 -15
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsOutline.js +4 -2
- package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsTree.js +4 -9
- package/vscode/src/vs/workbench/contrib/customEditor/common/contributedCustomEditors.js +1 -1
- package/vscode/src/vs/workbench/contrib/customEditor/common/extensionPoint.js +8 -29
- package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +2 -2
- package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +12 -19
- package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +17 -55
- package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +110 -38
- package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +6 -11
- package/vscode/src/vs/workbench/contrib/files/browser/files.contribution2.js +463 -3
- package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +5 -11
- package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +4 -1
- package/vscode/src/vs/workbench/contrib/languageDetection/browser/languageDetection.contribution.js +6 -6
- package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +31 -23
- package/vscode/src/vs/workbench/contrib/outline/browser/outline.contribution.js +37 -76
- package/vscode/src/vs/workbench/contrib/outline/browser/outlinePane.js +4 -4
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +5 -21
- package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +17 -23
- package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +62 -117
- package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchy.contribution.js +18 -16
- package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +6 -6
- package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyTree.js +4 -4
- package/vscode/src/vs/workbench/contrib/webview/browser/webviewElement.js +2 -2
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewCommands.js +5 -5
- package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewPanel.contribution.js +2 -2
- package/vscode/src/vs/workbench/services/editor/browser/editorResolverService.js +10 -25
- package/vscode/src/vs/workbench/services/history/browser/historyService.js +37 -28
- package/vscode/src/vs/workbench/services/hover/browser/hoverWidget.js +2 -2
- package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +2 -2
- package/vscode/src/vs/workbench/services/views/browser/viewDescriptorService.js +3 -3
- package/vscode/src/vs/workbench/services/views/common/viewContainerModel.js +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-views-service-override",
|
|
3
|
-
"version": "1.83.
|
|
3
|
+
"version": "1.83.3",
|
|
4
4
|
"keywords": [],
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "CodinGame",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"module": "index.js",
|
|
19
19
|
"types": "index.d.ts",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"vscode": "npm:@codingame/monaco-vscode-api@1.83.
|
|
21
|
+
"vscode": "npm:@codingame/monaco-vscode-api@1.83.3",
|
|
22
22
|
"monaco-editor": "0.44.0"
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -3,7 +3,7 @@ import * as nls from 'monaco-editor/esm/vs/nls.js';
|
|
|
3
3
|
|
|
4
4
|
class CollapseAllAction extends Action {
|
|
5
5
|
constructor(viewer, enabled) {
|
|
6
|
-
super('vs.tree.collapse',
|
|
6
|
+
super('vs.tree.collapse', nls.localizeWithPath('vs/base/browser/ui/tree/treeDefaults', 'collapse all', "Collapse All"), 'collapse-all', enabled);
|
|
7
7
|
this.viewer = viewer;
|
|
8
8
|
}
|
|
9
9
|
async run() {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
|
|
2
2
|
import * as resources from 'monaco-editor/esm/vs/base/common/resources.js';
|
|
3
3
|
import { isFalsyOrWhitespace } from 'monaco-editor/esm/vs/base/common/strings.js';
|
|
4
|
-
import {
|
|
4
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
5
5
|
import { ContextKeyExpr } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
|
|
6
6
|
import { ExtensionIdentifierSet, ExtensionIdentifier } from 'monaco-editor/esm/vs/platform/extensions/common/extensions.js';
|
|
7
7
|
import { SyncDescriptor } from 'monaco-editor/esm/vs/platform/instantiation/common/descriptors.js';
|
|
@@ -33,47 +33,32 @@ const viewsContainerSchema = {
|
|
|
33
33
|
type: 'object',
|
|
34
34
|
properties: {
|
|
35
35
|
id: {
|
|
36
|
-
description: (
|
|
37
|
-
{ key: 'vscode.extension.contributes.views.containers.id', comment: ['Contribution refers to those that an extension contributes to VS Code through an extension/contribution point. '] },
|
|
38
|
-
"Unique id used to identify the container in which views can be contributed using 'views' contribution point"
|
|
39
|
-
)),
|
|
36
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', { key: 'vscode.extension.contributes.views.containers.id', comment: ['Contribution refers to those that an extension contributes to VS Code through an extension/contribution point. '] }, "Unique id used to identify the container in which views can be contributed using 'views' contribution point"),
|
|
40
37
|
type: 'string',
|
|
41
38
|
pattern: '^[a-zA-Z0-9_-]+$'
|
|
42
39
|
},
|
|
43
40
|
title: {
|
|
44
|
-
description: (
|
|
45
|
-
'vscode.extension.contributes.views.containers.title',
|
|
46
|
-
'Human readable string used to render the container'
|
|
47
|
-
)),
|
|
41
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.views.containers.title', 'Human readable string used to render the container'),
|
|
48
42
|
type: 'string'
|
|
49
43
|
},
|
|
50
44
|
icon: {
|
|
51
|
-
description: (
|
|
52
|
-
'vscode.extension.contributes.views.containers.icon',
|
|
53
|
-
"Path to the container icon. Icons are 24x24 centered on a 50x40 block and have a fill color of 'rgb(215, 218, 224)' or '#d7dae0'. It is recommended that icons be in SVG, though any image file type is accepted."
|
|
54
|
-
)),
|
|
45
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.views.containers.icon', "Path to the container icon. Icons are 24x24 centered on a 50x40 block and have a fill color of 'rgb(215, 218, 224)' or '#d7dae0'. It is recommended that icons be in SVG, though any image file type is accepted."),
|
|
55
46
|
type: 'string'
|
|
56
47
|
}
|
|
57
48
|
},
|
|
58
49
|
required: ['id', 'title', 'icon']
|
|
59
50
|
};
|
|
60
51
|
const viewsContainersContribution = {
|
|
61
|
-
description: (
|
|
62
|
-
'vscode.extension.contributes.viewsContainers',
|
|
63
|
-
'Contributes views containers to the editor'
|
|
64
|
-
)),
|
|
52
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.viewsContainers', 'Contributes views containers to the editor'),
|
|
65
53
|
type: 'object',
|
|
66
54
|
properties: {
|
|
67
55
|
'activitybar': {
|
|
68
|
-
description: (
|
|
69
|
-
'views.container.activitybar',
|
|
70
|
-
"Contribute views containers to Activity Bar"
|
|
71
|
-
)),
|
|
56
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'views.container.activitybar', "Contribute views containers to Activity Bar"),
|
|
72
57
|
type: 'array',
|
|
73
58
|
items: viewsContainerSchema
|
|
74
59
|
},
|
|
75
60
|
'panel': {
|
|
76
|
-
description: (
|
|
61
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'views.container.panel', "Contribute views containers to Panel"),
|
|
77
62
|
type: 'array',
|
|
78
63
|
items: viewsContainerSchema
|
|
79
64
|
}
|
|
@@ -96,66 +81,39 @@ const viewDescriptor = {
|
|
|
96
81
|
defaultSnippets: [{ body: { id: '${1:id}', name: '${2:name}' } }],
|
|
97
82
|
properties: {
|
|
98
83
|
type: {
|
|
99
|
-
markdownDescription: (
|
|
100
|
-
'vscode.extension.contributes.view.type',
|
|
101
|
-
"Type of the view. This can either be `tree` for a tree view based view or `webview` for a webview based view. The default is `tree`."
|
|
102
|
-
)),
|
|
84
|
+
markdownDescription: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.view.type', "Type of the view. This can either be `tree` for a tree view based view or `webview` for a webview based view. The default is `tree`."),
|
|
103
85
|
type: 'string',
|
|
104
86
|
enum: [
|
|
105
87
|
'tree',
|
|
106
88
|
'webview',
|
|
107
89
|
],
|
|
108
90
|
markdownEnumDescriptions: [
|
|
109
|
-
(
|
|
110
|
-
|
|
111
|
-
"The view is backed by a `TreeView` created by `createTreeView`."
|
|
112
|
-
)),
|
|
113
|
-
( localize(
|
|
114
|
-
'vscode.extension.contributes.view.webview',
|
|
115
|
-
"The view is backed by a `WebviewView` registered by `registerWebviewViewProvider`."
|
|
116
|
-
)),
|
|
91
|
+
localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.view.tree', "The view is backed by a `TreeView` created by `createTreeView`."),
|
|
92
|
+
localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.view.webview', "The view is backed by a `WebviewView` registered by `registerWebviewViewProvider`."),
|
|
117
93
|
]
|
|
118
94
|
},
|
|
119
95
|
id: {
|
|
120
|
-
markdownDescription: (
|
|
121
|
-
'vscode.extension.contributes.view.id',
|
|
122
|
-
'Identifier of the view. This should be unique across all views. It is recommended to include your extension id as part of the view id. Use this to register a data provider through `vscode.window.registerTreeDataProviderForView` API. Also to trigger activating your extension by registering `onView:${id}` event to `activationEvents`.'
|
|
123
|
-
)),
|
|
96
|
+
markdownDescription: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.view.id', 'Identifier of the view. This should be unique across all views. It is recommended to include your extension id as part of the view id. Use this to register a data provider through `vscode.window.registerTreeDataProviderForView` API. Also to trigger activating your extension by registering `onView:${id}` event to `activationEvents`.'),
|
|
124
97
|
type: 'string'
|
|
125
98
|
},
|
|
126
99
|
name: {
|
|
127
|
-
description: (
|
|
128
|
-
'vscode.extension.contributes.view.name',
|
|
129
|
-
'The human-readable name of the view. Will be shown'
|
|
130
|
-
)),
|
|
100
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.view.name', 'The human-readable name of the view. Will be shown'),
|
|
131
101
|
type: 'string'
|
|
132
102
|
},
|
|
133
103
|
when: {
|
|
134
|
-
description: (
|
|
135
|
-
'vscode.extension.contributes.view.when',
|
|
136
|
-
'Condition which must be true to show this view'
|
|
137
|
-
)),
|
|
104
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.view.when', 'Condition which must be true to show this view'),
|
|
138
105
|
type: 'string'
|
|
139
106
|
},
|
|
140
107
|
icon: {
|
|
141
|
-
description: (
|
|
142
|
-
'vscode.extension.contributes.view.icon',
|
|
143
|
-
"Path to the view icon. View icons are displayed when the name of the view cannot be shown. It is recommended that icons be in SVG, though any image file type is accepted."
|
|
144
|
-
)),
|
|
108
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.view.icon', "Path to the view icon. View icons are displayed when the name of the view cannot be shown. It is recommended that icons be in SVG, though any image file type is accepted."),
|
|
145
109
|
type: 'string'
|
|
146
110
|
},
|
|
147
111
|
contextualTitle: {
|
|
148
|
-
description: (
|
|
149
|
-
'vscode.extension.contributes.view.contextualTitle',
|
|
150
|
-
"Human-readable context for when the view is moved out of its original location. By default, the view's container name will be used."
|
|
151
|
-
)),
|
|
112
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.view.contextualTitle', "Human-readable context for when the view is moved out of its original location. By default, the view's container name will be used."),
|
|
152
113
|
type: 'string'
|
|
153
114
|
},
|
|
154
115
|
visibility: {
|
|
155
|
-
description: (
|
|
156
|
-
'vscode.extension.contributes.view.initialState',
|
|
157
|
-
"Initial state of the view when the extension is first installed. Once the user has changed the view state by collapsing, moving, or hiding the view, the initial state will not be used again."
|
|
158
|
-
)),
|
|
116
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.view.initialState', "Initial state of the view when the extension is first installed. Once the user has changed the view state by collapsing, moving, or hiding the view, the initial state will not be used again."),
|
|
159
117
|
type: 'string',
|
|
160
118
|
enum: [
|
|
161
119
|
'visible',
|
|
@@ -164,26 +122,14 @@ const viewDescriptor = {
|
|
|
164
122
|
],
|
|
165
123
|
default: 'visible',
|
|
166
124
|
enumDescriptions: [
|
|
167
|
-
(
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
)),
|
|
171
|
-
( localize(
|
|
172
|
-
'vscode.extension.contributes.view.initialState.hidden',
|
|
173
|
-
"The view will not be shown in the view container, but will be discoverable through the views menu and other view entry points and can be un-hidden by the user."
|
|
174
|
-
)),
|
|
175
|
-
( localize(
|
|
176
|
-
'vscode.extension.contributes.view.initialState.collapsed',
|
|
177
|
-
"The view will show in the view container, but will be collapsed."
|
|
178
|
-
))
|
|
125
|
+
localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.view.initialState.visible', "The default initial state for the view. In most containers the view will be expanded, however; some built-in containers (explorer, scm, and debug) show all contributed views collapsed regardless of the `visibility`."),
|
|
126
|
+
localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.view.initialState.hidden', "The view will not be shown in the view container, but will be discoverable through the views menu and other view entry points and can be un-hidden by the user."),
|
|
127
|
+
localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.view.initialState.collapsed', "The view will show in the view container, but will be collapsed.")
|
|
179
128
|
]
|
|
180
129
|
},
|
|
181
130
|
initialSize: {
|
|
182
131
|
type: 'number',
|
|
183
|
-
description: (
|
|
184
|
-
'vscode.extension.contributs.view.size',
|
|
185
|
-
"The initial size of the view. The size will behave like the css 'flex' property, and will set the initial size when the view is first shown. In the side bar, this is the height of the view. This value is only respected when the same extension owns both the view and the view container."
|
|
186
|
-
)),
|
|
132
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributs.view.size', "The initial size of the view. The size will behave like the css 'flex' property, and will set the initial size when the view is first shown. In the side bar, this is the height of the view. This value is only respected when the same extension owns both the view and the view container."),
|
|
187
133
|
}
|
|
188
134
|
}
|
|
189
135
|
};
|
|
@@ -192,35 +138,23 @@ const remoteViewDescriptor = {
|
|
|
192
138
|
required: ['id', 'name'],
|
|
193
139
|
properties: {
|
|
194
140
|
id: {
|
|
195
|
-
description: (
|
|
196
|
-
'vscode.extension.contributes.view.id',
|
|
197
|
-
'Identifier of the view. This should be unique across all views. It is recommended to include your extension id as part of the view id. Use this to register a data provider through `vscode.window.registerTreeDataProviderForView` API. Also to trigger activating your extension by registering `onView:${id}` event to `activationEvents`.'
|
|
198
|
-
)),
|
|
141
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.view.id', 'Identifier of the view. This should be unique across all views. It is recommended to include your extension id as part of the view id. Use this to register a data provider through `vscode.window.registerTreeDataProviderForView` API. Also to trigger activating your extension by registering `onView:${id}` event to `activationEvents`.'),
|
|
199
142
|
type: 'string'
|
|
200
143
|
},
|
|
201
144
|
name: {
|
|
202
|
-
description: (
|
|
203
|
-
'vscode.extension.contributes.view.name',
|
|
204
|
-
'The human-readable name of the view. Will be shown'
|
|
205
|
-
)),
|
|
145
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.view.name', 'The human-readable name of the view. Will be shown'),
|
|
206
146
|
type: 'string'
|
|
207
147
|
},
|
|
208
148
|
when: {
|
|
209
|
-
description: (
|
|
210
|
-
'vscode.extension.contributes.view.when',
|
|
211
|
-
'Condition which must be true to show this view'
|
|
212
|
-
)),
|
|
149
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.view.when', 'Condition which must be true to show this view'),
|
|
213
150
|
type: 'string'
|
|
214
151
|
},
|
|
215
152
|
group: {
|
|
216
|
-
description: (
|
|
153
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.view.group', 'Nested group in the viewlet'),
|
|
217
154
|
type: 'string'
|
|
218
155
|
},
|
|
219
156
|
remoteName: {
|
|
220
|
-
description: (
|
|
221
|
-
'vscode.extension.contributes.view.remoteName',
|
|
222
|
-
'The name of the remote type associated with this view'
|
|
223
|
-
)),
|
|
157
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.view.remoteName', 'The name of the remote type associated with this view'),
|
|
224
158
|
type: ['string', 'array'],
|
|
225
159
|
items: {
|
|
226
160
|
type: 'string'
|
|
@@ -229,48 +163,42 @@ const remoteViewDescriptor = {
|
|
|
229
163
|
}
|
|
230
164
|
};
|
|
231
165
|
const viewsContribution = {
|
|
232
|
-
description: (
|
|
166
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'vscode.extension.contributes.views', "Contributes views to the editor"),
|
|
233
167
|
type: 'object',
|
|
234
168
|
properties: {
|
|
235
169
|
'explorer': {
|
|
236
|
-
description: (
|
|
237
|
-
'views.explorer',
|
|
238
|
-
"Contributes views to Explorer container in the Activity bar"
|
|
239
|
-
)),
|
|
170
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'views.explorer', "Contributes views to Explorer container in the Activity bar"),
|
|
240
171
|
type: 'array',
|
|
241
172
|
items: viewDescriptor,
|
|
242
173
|
default: []
|
|
243
174
|
},
|
|
244
175
|
'debug': {
|
|
245
|
-
description: (
|
|
176
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'views.debug', "Contributes views to Debug container in the Activity bar"),
|
|
246
177
|
type: 'array',
|
|
247
178
|
items: viewDescriptor,
|
|
248
179
|
default: []
|
|
249
180
|
},
|
|
250
181
|
'scm': {
|
|
251
|
-
description: (
|
|
182
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'views.scm', "Contributes views to SCM container in the Activity bar"),
|
|
252
183
|
type: 'array',
|
|
253
184
|
items: viewDescriptor,
|
|
254
185
|
default: []
|
|
255
186
|
},
|
|
256
187
|
'test': {
|
|
257
|
-
description: (
|
|
188
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'views.test', "Contributes views to Test container in the Activity bar"),
|
|
258
189
|
type: 'array',
|
|
259
190
|
items: viewDescriptor,
|
|
260
191
|
default: []
|
|
261
192
|
},
|
|
262
193
|
'remote': {
|
|
263
|
-
description: (
|
|
264
|
-
'views.remote',
|
|
265
|
-
"Contributes views to Remote container in the Activity bar. To contribute to this container, enableProposedApi needs to be turned on"
|
|
266
|
-
)),
|
|
194
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'views.remote', "Contributes views to Remote container in the Activity bar. To contribute to this container, enableProposedApi needs to be turned on"),
|
|
267
195
|
type: 'array',
|
|
268
196
|
items: remoteViewDescriptor,
|
|
269
197
|
default: []
|
|
270
198
|
}
|
|
271
199
|
},
|
|
272
200
|
additionalProperties: {
|
|
273
|
-
description: (
|
|
201
|
+
description: localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'views.contributed', "Contributes views to contributed views container"),
|
|
274
202
|
type: 'array',
|
|
275
203
|
items: viewDescriptor,
|
|
276
204
|
default: []
|
|
@@ -390,48 +318,28 @@ let ViewsExtensionHandler = class ViewsExtensionHandler {
|
|
|
390
318
|
}
|
|
391
319
|
isValidViewsContainer(viewsContainersDescriptors, collector) {
|
|
392
320
|
if (!Array.isArray(viewsContainersDescriptors)) {
|
|
393
|
-
collector.error((
|
|
321
|
+
collector.error(localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'viewcontainer requirearray', "views containers must be an array"));
|
|
394
322
|
return false;
|
|
395
323
|
}
|
|
396
324
|
for (const descriptor of viewsContainersDescriptors) {
|
|
397
325
|
if (typeof descriptor.id !== 'string' && isFalsyOrWhitespace(descriptor.id)) {
|
|
398
|
-
collector.error((
|
|
399
|
-
'requireidstring',
|
|
400
|
-
"property `{0}` is mandatory and must be of type `string` with non-empty value. Only alphanumeric characters, '_', and '-' are allowed.",
|
|
401
|
-
'id'
|
|
402
|
-
)));
|
|
326
|
+
collector.error(localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'requireidstring', "property `{0}` is mandatory and must be of type `string` with non-empty value. Only alphanumeric characters, '_', and '-' are allowed.", 'id'));
|
|
403
327
|
return false;
|
|
404
328
|
}
|
|
405
329
|
if (!(/^[a-z0-9_-]+$/i.test(descriptor.id))) {
|
|
406
|
-
collector.error((
|
|
407
|
-
'requireidstring',
|
|
408
|
-
"property `{0}` is mandatory and must be of type `string` with non-empty value. Only alphanumeric characters, '_', and '-' are allowed.",
|
|
409
|
-
'id'
|
|
410
|
-
)));
|
|
330
|
+
collector.error(localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'requireidstring', "property `{0}` is mandatory and must be of type `string` with non-empty value. Only alphanumeric characters, '_', and '-' are allowed.", 'id'));
|
|
411
331
|
return false;
|
|
412
332
|
}
|
|
413
333
|
if (typeof descriptor.title !== 'string') {
|
|
414
|
-
collector.error((
|
|
415
|
-
'requirestring',
|
|
416
|
-
"property `{0}` is mandatory and must be of type `string`",
|
|
417
|
-
'title'
|
|
418
|
-
)));
|
|
334
|
+
collector.error(localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'requirestring', "property `{0}` is mandatory and must be of type `string`", 'title'));
|
|
419
335
|
return false;
|
|
420
336
|
}
|
|
421
337
|
if (typeof descriptor.icon !== 'string') {
|
|
422
|
-
collector.error((
|
|
423
|
-
'requirestring',
|
|
424
|
-
"property `{0}` is mandatory and must be of type `string`",
|
|
425
|
-
'icon'
|
|
426
|
-
)));
|
|
338
|
+
collector.error(localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'requirestring', "property `{0}` is mandatory and must be of type `string`", 'icon'));
|
|
427
339
|
return false;
|
|
428
340
|
}
|
|
429
341
|
if (isFalsyOrWhitespace(descriptor.title)) {
|
|
430
|
-
collector.warn((
|
|
431
|
-
'requirenonemptystring',
|
|
432
|
-
"property `{0}` is mandatory and must be of type `string` with non-empty value",
|
|
433
|
-
'title'
|
|
434
|
-
)));
|
|
342
|
+
collector.warn(localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'requirenonemptystring', "property `{0}` is mandatory and must be of type `string` with non-empty value", 'title'));
|
|
435
343
|
return true;
|
|
436
344
|
}
|
|
437
345
|
}
|
|
@@ -497,35 +405,23 @@ let ViewsExtensionHandler = class ViewsExtensionHandler {
|
|
|
497
405
|
return;
|
|
498
406
|
}
|
|
499
407
|
if (key === 'remote' && !isProposedApiEnabled(extension.description, 'contribViewsRemote')) {
|
|
500
|
-
collector.warn((
|
|
501
|
-
'ViewContainerRequiresProposedAPI',
|
|
502
|
-
"View container '{0}' requires 'enabledApiProposals: [\"contribViewsRemote\"]' to be added to 'Remote'.",
|
|
503
|
-
key
|
|
504
|
-
)));
|
|
408
|
+
collector.warn(localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'ViewContainerRequiresProposedAPI', "View container '{0}' requires 'enabledApiProposals: [\"contribViewsRemote\"]' to be added to 'Remote'.", key));
|
|
505
409
|
return;
|
|
506
410
|
}
|
|
507
411
|
const viewContainer = this.getViewContainer(key);
|
|
508
412
|
if (!viewContainer) {
|
|
509
|
-
collector.warn((
|
|
510
|
-
'ViewContainerDoesnotExist',
|
|
511
|
-
"View container '{0}' does not exist and all views registered to it will be added to 'Explorer'.",
|
|
512
|
-
key
|
|
513
|
-
)));
|
|
413
|
+
collector.warn(localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'ViewContainerDoesnotExist', "View container '{0}' does not exist and all views registered to it will be added to 'Explorer'.", key));
|
|
514
414
|
}
|
|
515
415
|
const container = viewContainer || this.getDefaultViewContainer();
|
|
516
416
|
const viewDescriptors = [];
|
|
517
417
|
for (let index = 0; index < value.length; index++) {
|
|
518
418
|
const item = value[index];
|
|
519
419
|
if (( viewIds.has(item.id))) {
|
|
520
|
-
collector.error((
|
|
521
|
-
'duplicateView1',
|
|
522
|
-
"Cannot register multiple views with same id `{0}`",
|
|
523
|
-
item.id
|
|
524
|
-
)));
|
|
420
|
+
collector.error(localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'duplicateView1', "Cannot register multiple views with same id `{0}`", item.id));
|
|
525
421
|
continue;
|
|
526
422
|
}
|
|
527
423
|
if (this.viewsRegistry.getView(item.id) !== null) {
|
|
528
|
-
collector.error((
|
|
424
|
+
collector.error(localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'duplicateView2', "A view with id `{0}` is already registered.", item.id));
|
|
529
425
|
continue;
|
|
530
426
|
}
|
|
531
427
|
const order = ExtensionIdentifier.equals(extension.description.identifier, container.extensionId)
|
|
@@ -540,7 +436,7 @@ let ViewsExtensionHandler = class ViewsExtensionHandler {
|
|
|
540
436
|
const initialVisibility = this.convertInitialVisibility(item.visibility);
|
|
541
437
|
const type = this.getViewType(item.type);
|
|
542
438
|
if (!type) {
|
|
543
|
-
collector.error((
|
|
439
|
+
collector.error(localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'unknownViewType', "Unknown view type `{0}`.", item.type));
|
|
544
440
|
continue;
|
|
545
441
|
}
|
|
546
442
|
let weight = undefined;
|
|
@@ -617,57 +513,32 @@ let ViewsExtensionHandler = class ViewsExtensionHandler {
|
|
|
617
513
|
}
|
|
618
514
|
isValidViewDescriptors(viewDescriptors, collector) {
|
|
619
515
|
if (!Array.isArray(viewDescriptors)) {
|
|
620
|
-
collector.error((
|
|
516
|
+
collector.error(localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'requirearray', "views must be an array"));
|
|
621
517
|
return false;
|
|
622
518
|
}
|
|
623
519
|
for (const descriptor of viewDescriptors) {
|
|
624
520
|
if (typeof descriptor.id !== 'string') {
|
|
625
|
-
collector.error((
|
|
626
|
-
'requirestring',
|
|
627
|
-
"property `{0}` is mandatory and must be of type `string`",
|
|
628
|
-
'id'
|
|
629
|
-
)));
|
|
521
|
+
collector.error(localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'requirestring', "property `{0}` is mandatory and must be of type `string`", 'id'));
|
|
630
522
|
return false;
|
|
631
523
|
}
|
|
632
524
|
if (typeof descriptor.name !== 'string') {
|
|
633
|
-
collector.error((
|
|
634
|
-
'requirestring',
|
|
635
|
-
"property `{0}` is mandatory and must be of type `string`",
|
|
636
|
-
'name'
|
|
637
|
-
)));
|
|
525
|
+
collector.error(localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'requirestring', "property `{0}` is mandatory and must be of type `string`", 'name'));
|
|
638
526
|
return false;
|
|
639
527
|
}
|
|
640
528
|
if (descriptor.when && typeof descriptor.when !== 'string') {
|
|
641
|
-
collector.error((
|
|
642
|
-
'optstring',
|
|
643
|
-
"property `{0}` can be omitted or must be of type `string`",
|
|
644
|
-
'when'
|
|
645
|
-
)));
|
|
529
|
+
collector.error(localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'optstring', "property `{0}` can be omitted or must be of type `string`", 'when'));
|
|
646
530
|
return false;
|
|
647
531
|
}
|
|
648
532
|
if (descriptor.icon && typeof descriptor.icon !== 'string') {
|
|
649
|
-
collector.error((
|
|
650
|
-
'optstring',
|
|
651
|
-
"property `{0}` can be omitted or must be of type `string`",
|
|
652
|
-
'icon'
|
|
653
|
-
)));
|
|
533
|
+
collector.error(localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'optstring', "property `{0}` can be omitted or must be of type `string`", 'icon'));
|
|
654
534
|
return false;
|
|
655
535
|
}
|
|
656
536
|
if (descriptor.contextualTitle && typeof descriptor.contextualTitle !== 'string') {
|
|
657
|
-
collector.error((
|
|
658
|
-
'optstring',
|
|
659
|
-
"property `{0}` can be omitted or must be of type `string`",
|
|
660
|
-
'contextualTitle'
|
|
661
|
-
)));
|
|
537
|
+
collector.error(localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'optstring', "property `{0}` can be omitted or must be of type `string`", 'contextualTitle'));
|
|
662
538
|
return false;
|
|
663
539
|
}
|
|
664
540
|
if (descriptor.visibility && !this.convertInitialVisibility(descriptor.visibility)) {
|
|
665
|
-
collector.error((
|
|
666
|
-
'optenum',
|
|
667
|
-
"property `{0}` can be omitted or must be one of {1}",
|
|
668
|
-
'visibility',
|
|
669
|
-
( Object.values(InitialVisibility)).join(', ')
|
|
670
|
-
)));
|
|
541
|
+
collector.error(localizeWithPath('vs/workbench/api/browser/viewsExtensionPoint', 'optenum', "property `{0}` can be omitted or must be one of {1}", 'visibility', ( Object.values(InitialVisibility)).join(', ')));
|
|
671
542
|
return false;
|
|
672
543
|
}
|
|
673
544
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
|
|
2
2
|
import './media/activityaction.css.js';
|
|
3
|
-
import {
|
|
3
|
+
import { localizeWithPath } from 'monaco-editor/esm/vs/nls.js';
|
|
4
4
|
import { append, $, clearNode, hide, show, addDisposableListener, EventType, EventHelper } from 'monaco-editor/esm/vs/base/browser/dom.js';
|
|
5
5
|
import { StandardKeyboardEvent } from 'monaco-editor/esm/vs/base/browser/keyboardEvent.js';
|
|
6
6
|
import { EventType as EventType$1 } from 'monaco-editor/esm/vs/base/browser/touch.js';
|
|
@@ -244,7 +244,12 @@ let AccountsActivityActionViewItem = class AccountsActivityActionViewItem extend
|
|
|
244
244
|
let menus = [];
|
|
245
245
|
for (const providerId of providers) {
|
|
246
246
|
if (!this.initialized) {
|
|
247
|
-
const noAccountsAvailableAction = disposables.add(( new Action(
|
|
247
|
+
const noAccountsAvailableAction = disposables.add(( new Action(
|
|
248
|
+
'noAccountsAvailable',
|
|
249
|
+
localizeWithPath('vs/workbench/browser/parts/activitybar/activitybarActions', 'loading', "Loading..."),
|
|
250
|
+
undefined,
|
|
251
|
+
false
|
|
252
|
+
)));
|
|
248
253
|
menus.push(noAccountsAvailableAction);
|
|
249
254
|
break;
|
|
250
255
|
}
|
|
@@ -252,7 +257,12 @@ let AccountsActivityActionViewItem = class AccountsActivityActionViewItem extend
|
|
|
252
257
|
const accounts = this.groupedAccounts.get(providerId);
|
|
253
258
|
if (!accounts) {
|
|
254
259
|
if (( this.problematicProviders.has(providerId))) {
|
|
255
|
-
const providerUnavailableAction = disposables.add(( new Action(
|
|
260
|
+
const providerUnavailableAction = disposables.add(( new Action(
|
|
261
|
+
'providerUnavailable',
|
|
262
|
+
localizeWithPath('vs/workbench/browser/parts/activitybar/activitybarActions', 'authProviderUnavailable', '{0} is currently unavailable', providerLabel),
|
|
263
|
+
undefined,
|
|
264
|
+
false
|
|
265
|
+
)));
|
|
256
266
|
menus.push(providerUnavailableAction);
|
|
257
267
|
try {
|
|
258
268
|
await this.addAccountsFromProvider(providerId);
|
|
@@ -264,16 +274,28 @@ let AccountsActivityActionViewItem = class AccountsActivityActionViewItem extend
|
|
|
264
274
|
continue;
|
|
265
275
|
}
|
|
266
276
|
for (const account of accounts) {
|
|
267
|
-
const manageExtensionsAction = disposables.add(( new Action(
|
|
268
|
-
|
|
269
|
-
|
|
277
|
+
const manageExtensionsAction = disposables.add(( new Action(
|
|
278
|
+
`configureSessions${account.label}`,
|
|
279
|
+
localizeWithPath('vs/workbench/browser/parts/activitybar/activitybarActions', 'manageTrustedExtensions', "Manage Trusted Extensions"),
|
|
280
|
+
undefined,
|
|
281
|
+
true,
|
|
282
|
+
() => {
|
|
283
|
+
return this.authenticationService.manageTrustedExtensionsForAccount(providerId, account.label);
|
|
284
|
+
}
|
|
285
|
+
)));
|
|
270
286
|
const providerSubMenuActions = [manageExtensionsAction];
|
|
271
287
|
if (account.canSignOut) {
|
|
272
|
-
const signOutAction = disposables.add(( new Action(
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
288
|
+
const signOutAction = disposables.add(( new Action(
|
|
289
|
+
'signOut',
|
|
290
|
+
localizeWithPath('vs/workbench/browser/parts/activitybar/activitybarActions', 'signOut', "Sign Out"),
|
|
291
|
+
undefined,
|
|
292
|
+
true,
|
|
293
|
+
async () => {
|
|
294
|
+
const allSessions = await this.authenticationService.getSessions(providerId);
|
|
295
|
+
const sessionsForAccount = allSessions.filter(s => s.account.label === account.label);
|
|
296
|
+
return await this.authenticationService.removeAccountSessions(providerId, account.label, sessionsForAccount);
|
|
297
|
+
}
|
|
298
|
+
)));
|
|
277
299
|
providerSubMenuActions.push(signOutAction);
|
|
278
300
|
}
|
|
279
301
|
const providerSubMenu = ( new SubmenuAction(
|
|
@@ -285,7 +307,12 @@ let AccountsActivityActionViewItem = class AccountsActivityActionViewItem extend
|
|
|
285
307
|
}
|
|
286
308
|
}
|
|
287
309
|
if (providers.length && !menus.length) {
|
|
288
|
-
const noAccountsAvailableAction = disposables.add(( new Action(
|
|
310
|
+
const noAccountsAvailableAction = disposables.add(( new Action(
|
|
311
|
+
'noAccountsAvailable',
|
|
312
|
+
localizeWithPath('vs/workbench/browser/parts/activitybar/activitybarActions', 'noAccounts', "You are not signed in to any accounts"),
|
|
313
|
+
undefined,
|
|
314
|
+
false
|
|
315
|
+
)));
|
|
289
316
|
menus.push(noAccountsAvailableAction);
|
|
290
317
|
}
|
|
291
318
|
if (menus.length && otherCommands.length) {
|
|
@@ -303,7 +330,7 @@ let AccountsActivityActionViewItem = class AccountsActivityActionViewItem extend
|
|
|
303
330
|
async resolveContextMenuActions(disposables) {
|
|
304
331
|
const actions = await super.resolveContextMenuActions(disposables);
|
|
305
332
|
actions.unshift(...[
|
|
306
|
-
toAction({ id: 'hideAccounts', label: (
|
|
333
|
+
toAction({ id: 'hideAccounts', label: localizeWithPath('vs/workbench/browser/parts/activitybar/activitybarActions', 'hideAccounts', "Hide Accounts"), run: () => this.storageService.store(AccountsActivityActionViewItem_1.ACCOUNTS_VISIBILITY_PREFERENCE_KEY, false, 0 , 0 ) }),
|
|
307
334
|
( new Separator())
|
|
308
335
|
]);
|
|
309
336
|
return actions;
|
|
@@ -417,11 +444,7 @@ let GlobalActivityActionViewItem = class GlobalActivityActionViewItem extends Me
|
|
|
417
444
|
this.updateProfileBadge();
|
|
418
445
|
}
|
|
419
446
|
computeTitle() {
|
|
420
|
-
return this.userDataProfileService.currentProfile.isDefault ? super.computeTitle() : (
|
|
421
|
-
'manage',
|
|
422
|
-
"Manage {0} (Profile)",
|
|
423
|
-
this.userDataProfileService.currentProfile.name
|
|
424
|
-
));
|
|
447
|
+
return this.userDataProfileService.currentProfile.isDefault ? super.computeTitle() : localizeWithPath('vs/workbench/browser/parts/activitybar/activitybarActions', 'manage', "Manage {0} (Profile)", this.userDataProfileService.currentProfile.name);
|
|
425
448
|
}
|
|
426
449
|
};
|
|
427
450
|
GlobalActivityActionViewItem = ( __decorate([
|
|
@@ -479,7 +502,7 @@ registerAction2(class PreviousSideBarViewAction extends SwitchSideBarViewAction
|
|
|
479
502
|
constructor() {
|
|
480
503
|
super({
|
|
481
504
|
id: 'workbench.action.previousSideBarView',
|
|
482
|
-
title: { value: (
|
|
505
|
+
title: { value: localizeWithPath('vs/workbench/browser/parts/activitybar/activitybarActions', 'previousSideBarView', "Previous Primary Side Bar View"), original: 'Previous Primary Side Bar View' },
|
|
483
506
|
category: Categories.View,
|
|
484
507
|
f1: true
|
|
485
508
|
}, -1);
|
|
@@ -489,7 +512,7 @@ registerAction2(class NextSideBarViewAction extends SwitchSideBarViewAction {
|
|
|
489
512
|
constructor() {
|
|
490
513
|
super({
|
|
491
514
|
id: 'workbench.action.nextSideBarView',
|
|
492
|
-
title: { value: (
|
|
515
|
+
title: { value: localizeWithPath('vs/workbench/browser/parts/activitybar/activitybarActions', 'nextSideBarView', "Next Primary Side Bar View"), original: 'Next Primary Side Bar View' },
|
|
493
516
|
category: Categories.View,
|
|
494
517
|
f1: true
|
|
495
518
|
}, 1);
|
|
@@ -499,7 +522,7 @@ registerAction2(class FocusActivityBarAction extends Action2 {
|
|
|
499
522
|
constructor() {
|
|
500
523
|
super({
|
|
501
524
|
id: 'workbench.action.focusActivityBar',
|
|
502
|
-
title: { value: (
|
|
525
|
+
title: { value: localizeWithPath('vs/workbench/browser/parts/activitybar/activitybarActions', 'focusActivityBar', "Focus Activity Bar"), original: 'Focus Activity Bar' },
|
|
503
526
|
category: Categories.View,
|
|
504
527
|
f1: true
|
|
505
528
|
});
|