@theia/dev-container 1.72.0-next.52 → 1.72.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/lib/electron-browser/container-connection-contribution.d.ts +5 -2
- package/lib/electron-browser/container-connection-contribution.d.ts.map +1 -1
- package/lib/electron-browser/container-connection-contribution.js +130 -30
- package/lib/electron-browser/container-connection-contribution.js.map +1 -1
- package/lib/electron-browser/container-output-provider.d.ts.map +1 -1
- package/lib/electron-browser/container-output-provider.js +3 -1
- package/lib/electron-browser/container-output-provider.js.map +1 -1
- package/lib/electron-browser/dev-container-frontend-module.d.ts.map +1 -1
- package/lib/electron-browser/dev-container-frontend-module.js +5 -0
- package/lib/electron-browser/dev-container-frontend-module.js.map +1 -1
- package/lib/electron-browser/dev-container-startup-contribution.d.ts +15 -0
- package/lib/electron-browser/dev-container-startup-contribution.d.ts.map +1 -0
- package/lib/electron-browser/dev-container-startup-contribution.js +94 -0
- package/lib/electron-browser/dev-container-startup-contribution.js.map +1 -0
- package/lib/electron-common/dev-container-preferences.d.ts +12 -0
- package/lib/electron-common/dev-container-preferences.d.ts.map +1 -0
- package/lib/electron-common/dev-container-preferences.js +44 -0
- package/lib/electron-common/dev-container-preferences.js.map +1 -0
- package/lib/electron-common/remote-container-connection-provider.d.ts +20 -1
- package/lib/electron-common/remote-container-connection-provider.d.ts.map +1 -1
- package/lib/electron-node/dev-container-backend-module.d.ts.map +1 -1
- package/lib/electron-node/dev-container-backend-module.js +4 -0
- package/lib/electron-node/dev-container-backend-module.js.map +1 -1
- package/lib/electron-node/dev-container-cli-contribution.d.ts +19 -0
- package/lib/electron-node/dev-container-cli-contribution.d.ts.map +1 -0
- package/lib/electron-node/dev-container-cli-contribution.js +66 -0
- package/lib/electron-node/dev-container-cli-contribution.js.map +1 -0
- package/lib/electron-node/dev-container-cli-contribution.spec.d.ts +2 -0
- package/lib/electron-node/dev-container-cli-contribution.spec.d.ts.map +1 -0
- package/lib/electron-node/dev-container-cli-contribution.spec.js +91 -0
- package/lib/electron-node/dev-container-cli-contribution.spec.js.map +1 -0
- package/lib/electron-node/dev-container-file-service.d.ts +4 -4
- package/lib/electron-node/dev-container-file-service.d.ts.map +1 -1
- package/lib/electron-node/dev-container-file-service.js +9 -9
- package/lib/electron-node/dev-container-file-service.js.map +1 -1
- package/lib/electron-node/devcontainer-contributions/main-container-creation-contributions.d.ts +6 -2
- package/lib/electron-node/devcontainer-contributions/main-container-creation-contributions.d.ts.map +1 -1
- package/lib/electron-node/devcontainer-contributions/main-container-creation-contributions.js +24 -4
- package/lib/electron-node/devcontainer-contributions/main-container-creation-contributions.js.map +1 -1
- package/lib/electron-node/devcontainer-contributions/variable-resolver-contribution.d.ts +7 -6
- package/lib/electron-node/devcontainer-contributions/variable-resolver-contribution.d.ts.map +1 -1
- package/lib/electron-node/devcontainer-contributions/variable-resolver-contribution.js +4 -9
- package/lib/electron-node/devcontainer-contributions/variable-resolver-contribution.js.map +1 -1
- package/lib/electron-node/devcontainer-util.d.ts +19 -0
- package/lib/electron-node/devcontainer-util.d.ts.map +1 -0
- package/lib/electron-node/devcontainer-util.js +48 -0
- package/lib/electron-node/devcontainer-util.js.map +1 -0
- package/lib/electron-node/devcontainer-util.spec.d.ts +2 -0
- package/lib/electron-node/devcontainer-util.spec.d.ts.map +1 -0
- package/lib/electron-node/devcontainer-util.spec.js +128 -0
- package/lib/electron-node/devcontainer-util.spec.js.map +1 -0
- package/lib/electron-node/docker-container-service.d.ts +3 -3
- package/lib/electron-node/docker-container-service.d.ts.map +1 -1
- package/lib/electron-node/docker-container-service.js +3 -4
- package/lib/electron-node/docker-container-service.js.map +1 -1
- package/lib/electron-node/remote-container-connection-provider.d.ts +27 -66
- package/lib/electron-node/remote-container-connection-provider.d.ts.map +1 -1
- package/lib/electron-node/remote-container-connection-provider.js +269 -311
- package/lib/electron-node/remote-container-connection-provider.js.map +1 -1
- package/lib/electron-node/remote-docker-container-connection.d.ts +50 -0
- package/lib/electron-node/remote-docker-container-connection.d.ts.map +1 -0
- package/lib/electron-node/remote-docker-container-connection.js +239 -0
- package/lib/electron-node/remote-docker-container-connection.js.map +1 -0
- package/lib/electron-node/remote-docker-container-connection.spec.d.ts +2 -0
- package/lib/electron-node/remote-docker-container-connection.spec.d.ts.map +1 -0
- package/lib/electron-node/remote-docker-container-connection.spec.js +217 -0
- package/lib/electron-node/remote-docker-container-connection.spec.js.map +1 -0
- package/package.json +7 -7
- package/src/electron-browser/container-connection-contribution.ts +155 -38
- package/src/electron-browser/container-output-provider.ts +3 -1
- package/src/electron-browser/dev-container-frontend-module.ts +6 -0
- package/src/electron-browser/dev-container-startup-contribution.ts +99 -0
- package/src/electron-common/dev-container-preferences.ts +53 -0
- package/src/electron-common/remote-container-connection-provider.ts +23 -1
- package/src/electron-node/dev-container-backend-module.ts +5 -0
- package/src/electron-node/dev-container-cli-contribution.spec.ts +106 -0
- package/src/electron-node/dev-container-cli-contribution.ts +68 -0
- package/src/electron-node/dev-container-file-service.ts +10 -10
- package/src/electron-node/devcontainer-contributions/main-container-creation-contributions.ts +29 -5
- package/src/electron-node/devcontainer-contributions/variable-resolver-contribution.ts +11 -11
- package/src/electron-node/devcontainer-util.spec.ts +154 -0
- package/src/electron-node/devcontainer-util.ts +49 -0
- package/src/electron-node/docker-container-service.ts +6 -7
- package/src/electron-node/remote-container-connection-provider.ts +274 -366
- package/src/electron-node/{remote-container-connection-provider.spec.ts → remote-docker-container-connection.spec.ts} +105 -4
- package/src/electron-node/remote-docker-container-connection.ts +290 -0
- package/lib/electron-node/remote-container-connection-provider.spec.d.ts +0 -2
- package/lib/electron-node/remote-container-connection-provider.spec.d.ts.map +0 -1
- package/lib/electron-node/remote-container-connection-provider.spec.js +0 -131
- package/lib/electron-node/remote-container-connection-provider.spec.js.map +0 -1
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { AbstractRemoteRegistryContribution, RemoteRegistry } from '@theia/remote/lib/electron-browser/remote-registry-contribution';
|
|
2
2
|
import { DevContainerFile, RemoteContainerConnectionProvider } from '../electron-common/remote-container-connection-provider';
|
|
3
3
|
import { WorkspaceStorageService } from '@theia/workspace/lib/browser/workspace-storage-service';
|
|
4
|
-
import { Command, MaybePromise, MessageService, QuickInputService, URI } from '@theia/core';
|
|
4
|
+
import { Command, ILogger, MaybePromise, MessageService, QuickInputService, URI } from '@theia/core';
|
|
5
5
|
import { WorkspaceInput, WorkspaceOpenHandlerContribution, WorkspaceService } from '@theia/workspace/lib/browser/workspace-service';
|
|
6
6
|
import { ContainerOutputProvider } from './container-output-provider';
|
|
7
7
|
import { WorkspaceServer } from '@theia/workspace/lib/common';
|
|
8
8
|
import { RemotePreferences } from '@theia/remote/lib/electron-common/remote-preferences';
|
|
9
9
|
import { LocalStorageService } from '@theia/core/lib/browser';
|
|
10
|
+
import { DevContainerPreferences } from '../electron-common/dev-container-preferences';
|
|
10
11
|
export declare namespace RemoteContainerCommands {
|
|
11
12
|
const REOPEN_IN_CONTAINER: Command;
|
|
12
13
|
const ATTACH_TO_CONTAINER: Command;
|
|
@@ -22,6 +23,8 @@ export declare class ContainerConnectionContribution extends AbstractRemoteRegis
|
|
|
22
23
|
protected readonly workspaceServer: WorkspaceServer;
|
|
23
24
|
protected readonly quickInputService: QuickInputService;
|
|
24
25
|
protected readonly containerOutputProvider: ContainerOutputProvider;
|
|
26
|
+
protected readonly devContainerPreferences: DevContainerPreferences;
|
|
27
|
+
protected readonly logger: ILogger;
|
|
25
28
|
protected hasDevContainerFiles: boolean;
|
|
26
29
|
protected init(): void;
|
|
27
30
|
protected checkForDevContainerFiles(): Promise<void>;
|
|
@@ -31,9 +34,9 @@ export declare class ContainerConnectionContribution extends AbstractRemoteRegis
|
|
|
31
34
|
openWorkspace(uri: URI, options?: WorkspaceInput | undefined): Promise<void>;
|
|
32
35
|
getWorkspaceLabel(uri: URI): Promise<string | undefined>;
|
|
33
36
|
openInContainer(): Promise<void>;
|
|
34
|
-
attachToContainer(): Promise<void>;
|
|
35
37
|
rebuildContainer(): Promise<void>;
|
|
36
38
|
doOpenInContainer(devcontainerFile: DevContainerFile, workspacePath?: string): Promise<void>;
|
|
39
|
+
attachToRunningContainer(): Promise<void>;
|
|
37
40
|
getOrSelectDevcontainerFile(): Promise<DevContainerFile | undefined>;
|
|
38
41
|
}
|
|
39
42
|
//# sourceMappingURL=container-connection-contribution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-connection-contribution.d.ts","sourceRoot":"","sources":["../../src/electron-browser/container-connection-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,kCAAkC,EAAE,cAAc,EAAE,MAAM,iEAAiE,CAAC;AACrI,OAAO,
|
|
1
|
+
{"version":3,"file":"container-connection-contribution.d.ts","sourceRoot":"","sources":["../../src/electron-browser/container-connection-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,kCAAkC,EAAE,cAAc,EAAE,MAAM,iEAAiE,CAAC;AACrI,OAAO,EACH,gBAAgB,EAAqB,iCAAiC,EAEzE,MAAM,yDAAyD,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AACjG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAO,iBAAiB,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,gCAAgC,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AACpI,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AACzF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAEvF,yBAAiB,uBAAuB,CAAC;IAC9B,MAAM,mBAAmB,SAIQ,CAAC;IAClC,MAAM,mBAAmB,SAIO,CAAC;IAEjC,MAAM,iBAAiB,SAIU,CAAC;CAC5C;AAWD,qBACa,+BAAgC,SAAQ,kCAAmC,YAAW,gCAAgC;IAG/H,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;IAGzE,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;IAGvD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAGpE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,SAAS,CAAC,oBAAoB,UAAS;IAGvC,SAAS,CAAC,IAAI,IAAI,IAAI;cAWN,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB1D,sBAAsB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IActD,SAAS,CAAC,eAAe,IAAI,OAAO;IAIpC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC;IAgBpC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB5E,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAUxD,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAQhC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoDjC,iBAAiB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC5F,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsIzC,2BAA2B,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;CAyB7E"}
|
|
@@ -28,6 +28,8 @@ const common_1 = require("@theia/workspace/lib/common");
|
|
|
28
28
|
const dev_container_workspaces_1 = require("../electron-common/dev-container-workspaces");
|
|
29
29
|
const remote_preferences_1 = require("@theia/remote/lib/electron-common/remote-preferences");
|
|
30
30
|
const browser_1 = require("@theia/core/lib/browser");
|
|
31
|
+
const dialogs_1 = require("@theia/core/lib/browser/dialogs");
|
|
32
|
+
const dev_container_preferences_1 = require("../electron-common/dev-container-preferences");
|
|
31
33
|
var RemoteContainerCommands;
|
|
32
34
|
(function (RemoteContainerCommands) {
|
|
33
35
|
RemoteContainerCommands.REOPEN_IN_CONTAINER = core_1.Command.toLocalizedCommand({
|
|
@@ -87,13 +89,13 @@ let ContainerConnectionContribution = class ContainerConnectionContribution exte
|
|
|
87
89
|
execute: () => this.openInContainer(),
|
|
88
90
|
isVisible: () => !this.isRemoteSession() && this.hasDevContainerFiles
|
|
89
91
|
});
|
|
90
|
-
registry.registerCommand(RemoteContainerCommands.ATTACH_TO_CONTAINER, {
|
|
91
|
-
execute: () => this.attachToContainer()
|
|
92
|
-
});
|
|
93
92
|
registry.registerCommand(RemoteContainerCommands.REBUILD_CONTAINER, {
|
|
94
93
|
execute: () => this.rebuildContainer(),
|
|
95
94
|
isVisible: () => this.isRemoteSession()
|
|
96
95
|
});
|
|
96
|
+
registry.registerCommand(RemoteContainerCommands.ATTACH_TO_CONTAINER, {
|
|
97
|
+
execute: () => this.attachToRunningContainer()
|
|
98
|
+
});
|
|
97
99
|
}
|
|
98
100
|
isRemoteSession() {
|
|
99
101
|
return new URLSearchParams(window.location.search).has('localPort');
|
|
@@ -142,28 +144,6 @@ let ContainerConnectionContribution = class ContainerConnectionContribution exte
|
|
|
142
144
|
}
|
|
143
145
|
this.doOpenInContainer(devcontainerFile);
|
|
144
146
|
}
|
|
145
|
-
async attachToContainer() {
|
|
146
|
-
const containers = await this.connectionProvider.listRunningContainers();
|
|
147
|
-
if (containers.length === 0) {
|
|
148
|
-
this.messageService.info(core_1.nls.localize('theia/remote/dev-container/noRunningContainers', 'No running containers found.'));
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
const selected = await this.quickInputService.pick(containers.map(container => ({
|
|
152
|
-
type: 'item',
|
|
153
|
-
label: container.name || container.id.substring(0, 12),
|
|
154
|
-
description: container.image,
|
|
155
|
-
detail: container.status,
|
|
156
|
-
container
|
|
157
|
-
})), {
|
|
158
|
-
title: core_1.nls.localize('theia/remote/dev-container/selectContainer', 'Select a running container to attach to')
|
|
159
|
-
});
|
|
160
|
-
if (!selected) {
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
this.containerOutputProvider.openChannel();
|
|
164
|
-
const connectionResult = await this.connectionProvider.attachToContainer(selected.container.id);
|
|
165
|
-
this.openRemote(connectionResult.port, false, connectionResult.workspacePath);
|
|
166
|
-
}
|
|
167
147
|
async rebuildContainer() {
|
|
168
148
|
this.containerOutputProvider.openChannel();
|
|
169
149
|
const progress = await this.messageService.showProgress({
|
|
@@ -180,7 +160,7 @@ let ContainerConnectionContribution = class ContainerConnectionContribution exte
|
|
|
180
160
|
await this.connectionProvider.removeContainer(ctx.containerId);
|
|
181
161
|
}
|
|
182
162
|
catch (error) {
|
|
183
|
-
|
|
163
|
+
this.logger.debug('Container removal failed (may already be gone):', error);
|
|
184
164
|
}
|
|
185
165
|
const lastContainerKey = `${LAST_USED_CONTAINER}:${ctx.devcontainerFilePath}`;
|
|
186
166
|
await this.storageService.setData(lastContainerKey, undefined);
|
|
@@ -201,7 +181,7 @@ let ContainerConnectionContribution = class ContainerConnectionContribution exte
|
|
|
201
181
|
await this.connectionProvider.removeContainer(lastContainerInfo.id);
|
|
202
182
|
}
|
|
203
183
|
catch (error) {
|
|
204
|
-
|
|
184
|
+
this.logger.debug('Container removal failed (may already be gone):', error);
|
|
205
185
|
}
|
|
206
186
|
await this.storageService.setData(lastContainerInfoKey, undefined);
|
|
207
187
|
}
|
|
@@ -224,20 +204,132 @@ let ContainerConnectionContribution = class ContainerConnectionContribution exte
|
|
|
224
204
|
devcontainerFile: devcontainerFile.path,
|
|
225
205
|
workspacePath: hostWorkspacePath
|
|
226
206
|
});
|
|
227
|
-
this.storageService.setData(lastContainerInfoKey, {
|
|
207
|
+
await this.storageService.setData(lastContainerInfoKey, {
|
|
228
208
|
id: connectionResult.containerId,
|
|
229
209
|
lastUsed: Date.now()
|
|
230
210
|
});
|
|
231
211
|
// Store full context so rebuild works from inside the container
|
|
232
|
-
this.storageService.setData(ACTIVE_DEV_CONTAINER_CONTEXT, {
|
|
212
|
+
await this.storageService.setData(ACTIVE_DEV_CONTAINER_CONTEXT, {
|
|
233
213
|
devcontainerFilePath: devcontainerFile.path,
|
|
234
214
|
devcontainerFileName: devcontainerFile.name,
|
|
235
215
|
hostWorkspacePath: hostWorkspacePath ?? '',
|
|
236
216
|
containerId: connectionResult.containerId,
|
|
237
217
|
});
|
|
238
|
-
this.workspaceServer.setMostRecentlyUsedWorkspace(`${dev_container_workspaces_1.DEV_CONTAINER_WORKSPACE_SCHEME}:${hostWorkspacePath}?${dev_container_workspaces_1.DEV_CONTAINER_PATH_QUERY}=${devcontainerFile.path}`);
|
|
218
|
+
await this.workspaceServer.setMostRecentlyUsedWorkspace(`${dev_container_workspaces_1.DEV_CONTAINER_WORKSPACE_SCHEME}:${hostWorkspacePath}?${dev_container_workspaces_1.DEV_CONTAINER_PATH_QUERY}=${devcontainerFile.path}`);
|
|
239
219
|
this.openRemote(connectionResult.port, false, connectionResult.workspacePath);
|
|
240
220
|
}
|
|
221
|
+
async attachToRunningContainer() {
|
|
222
|
+
try {
|
|
223
|
+
const confirmed = await new dialogs_1.ConfirmDialog({
|
|
224
|
+
title: core_1.nls.localize('theia/remote/dev-container/attachWarningTitle', 'Attach to Container'),
|
|
225
|
+
msg: core_1.nls.localize('theia/remote/dev-container/attachWarning', 'Attaching to a container will execute code inside it. Only attach to containers whose origin you trust.'),
|
|
226
|
+
ok: core_1.nls.localizeByDefault('Continue'),
|
|
227
|
+
cancel: dialogs_1.Dialog.CANCEL,
|
|
228
|
+
}).open();
|
|
229
|
+
if (!confirmed) {
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
const containers = await this.connectionProvider.listRunningContainers();
|
|
233
|
+
if (containers.length === 0) {
|
|
234
|
+
this.messageService.info(core_1.nls.localize('theia/remote/dev-container/noRunningContainers', 'No running containers found.'));
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
const selectedItem = await this.quickInputService.pick(containers.map(container => ({
|
|
238
|
+
type: 'item',
|
|
239
|
+
label: container.name,
|
|
240
|
+
description: container.image,
|
|
241
|
+
detail: container.status,
|
|
242
|
+
container
|
|
243
|
+
})), {
|
|
244
|
+
title: core_1.nls.localize('theia/remote/dev-container/selectContainer', 'Select a running container to attach to')
|
|
245
|
+
});
|
|
246
|
+
if (!selectedItem) {
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
const selectedContainer = selectedItem.container;
|
|
250
|
+
const candidates = await this.connectionProvider.getWorkspaceCandidates(selectedContainer.id);
|
|
251
|
+
const customPathId = '__custom_path__';
|
|
252
|
+
const pathItem = await this.quickInputService.pick([
|
|
253
|
+
...candidates.map(candidate => ({
|
|
254
|
+
type: 'item',
|
|
255
|
+
label: candidate.path,
|
|
256
|
+
description: candidate.source
|
|
257
|
+
})),
|
|
258
|
+
{
|
|
259
|
+
type: 'item',
|
|
260
|
+
id: customPathId,
|
|
261
|
+
label: core_1.nls.localize('theia/remote/dev-container/enterCustomPath', 'Enter custom path...'),
|
|
262
|
+
description: ''
|
|
263
|
+
}
|
|
264
|
+
], {
|
|
265
|
+
title: core_1.nls.localize('theia/remote/dev-container/selectWorkspacePath', 'Select a workspace path inside the container')
|
|
266
|
+
});
|
|
267
|
+
if (!pathItem) {
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
let selectedPath;
|
|
271
|
+
if ('id' in pathItem && pathItem.id === customPathId) {
|
|
272
|
+
selectedPath = await this.quickInputService.input({
|
|
273
|
+
prompt: core_1.nls.localize('theia/remote/dev-container/enterWorkspacePath', 'Enter the workspace path inside the container'),
|
|
274
|
+
value: '/'
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
selectedPath = pathItem.label;
|
|
279
|
+
}
|
|
280
|
+
if (!selectedPath) {
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
let devcontainerFile;
|
|
284
|
+
const applyConfigPref = this.devContainerPreferences['devcontainer.attach.applyFoundConfig'];
|
|
285
|
+
if (applyConfigPref !== 'never') {
|
|
286
|
+
const foundConfig = await this.connectionProvider.scanForDevContainerConfig(selectedContainer.id, selectedPath);
|
|
287
|
+
if (foundConfig) {
|
|
288
|
+
if (applyConfigPref === 'always') {
|
|
289
|
+
devcontainerFile = foundConfig;
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
// 'ask'
|
|
293
|
+
const applyConfig = await new dialogs_1.ConfirmDialog({
|
|
294
|
+
title: core_1.nls.localize('theia/remote/dev-container/foundConfigTitle', 'Dev Container Configuration Found'),
|
|
295
|
+
msg: core_1.nls.localize('theia/remote/dev-container/foundConfigMsg', 'A devcontainer.json was found at {0}. Would you like to apply its post-attach settings (extensions, port forwarding, etc.)?', foundConfig),
|
|
296
|
+
ok: core_1.nls.localizeByDefault('Apply'),
|
|
297
|
+
cancel: dialogs_1.Dialog.CANCEL,
|
|
298
|
+
}).open();
|
|
299
|
+
if (applyConfig) {
|
|
300
|
+
devcontainerFile = foundConfig;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
this.containerOutputProvider.openChannel();
|
|
306
|
+
const progress = await this.messageService.showProgress({
|
|
307
|
+
text: core_1.nls.localize('theia/remote/dev-container/attaching', 'Attaching to container')
|
|
308
|
+
});
|
|
309
|
+
try {
|
|
310
|
+
const connectionResult = await this.connectionProvider.attachToContainer({
|
|
311
|
+
containerId: selectedContainer.id,
|
|
312
|
+
workspacePath: selectedPath,
|
|
313
|
+
nodeDownloadTemplate: this.remotePreferences['remote.nodeDownloadTemplate'],
|
|
314
|
+
devcontainerFile,
|
|
315
|
+
});
|
|
316
|
+
// Store context so rebuild works from inside the container
|
|
317
|
+
await this.storageService.setData(ACTIVE_DEV_CONTAINER_CONTEXT, {
|
|
318
|
+
devcontainerFilePath: devcontainerFile ?? '',
|
|
319
|
+
devcontainerFileName: devcontainerFile ? core_1.URI.fromFilePath(devcontainerFile).path.base : '',
|
|
320
|
+
hostWorkspacePath: '',
|
|
321
|
+
containerId: connectionResult.containerId,
|
|
322
|
+
});
|
|
323
|
+
this.openRemote(connectionResult.port, false, connectionResult.workspacePath);
|
|
324
|
+
}
|
|
325
|
+
finally {
|
|
326
|
+
progress.cancel();
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
catch (e) {
|
|
330
|
+
this.messageService.error(core_1.nls.localize('theia/remote/dev-container/attachError', 'Failed to attach to container: {0}', e instanceof Error ? e.message : String(e)));
|
|
331
|
+
}
|
|
332
|
+
}
|
|
241
333
|
async getOrSelectDevcontainerFile() {
|
|
242
334
|
const workspace = this.workspaceService.workspace;
|
|
243
335
|
if (!workspace) {
|
|
@@ -299,6 +391,14 @@ tslib_1.__decorate([
|
|
|
299
391
|
(0, inversify_1.inject)(container_output_provider_1.ContainerOutputProvider),
|
|
300
392
|
tslib_1.__metadata("design:type", container_output_provider_1.ContainerOutputProvider)
|
|
301
393
|
], ContainerConnectionContribution.prototype, "containerOutputProvider", void 0);
|
|
394
|
+
tslib_1.__decorate([
|
|
395
|
+
(0, inversify_1.inject)(dev_container_preferences_1.DevContainerPreferences),
|
|
396
|
+
tslib_1.__metadata("design:type", Object)
|
|
397
|
+
], ContainerConnectionContribution.prototype, "devContainerPreferences", void 0);
|
|
398
|
+
tslib_1.__decorate([
|
|
399
|
+
(0, inversify_1.inject)(core_1.ILogger),
|
|
400
|
+
tslib_1.__metadata("design:type", Object)
|
|
401
|
+
], ContainerConnectionContribution.prototype, "logger", void 0);
|
|
302
402
|
tslib_1.__decorate([
|
|
303
403
|
(0, inversify_1.postConstruct)(),
|
|
304
404
|
tslib_1.__metadata("design:type", Function),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-connection-contribution.js","sourceRoot":"","sources":["../../src/electron-browser/container-connection-contribution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"container-connection-contribution.js","sourceRoot":"","sources":["../../src/electron-browser/container-connection-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-output-provider.d.ts","sourceRoot":"","sources":["../../src/electron-browser/container-output-provider.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAE/F,qBACa,uBAAwB,YAAW,uBAAuB;IAGnE,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAE9D,SAAS,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC;IAEzC,WAAW,IAAI,IAAI;IAKnB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"container-output-provider.d.ts","sourceRoot":"","sources":["../../src/electron-browser/container-output-provider.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAE/F,qBACa,uBAAwB,YAAW,uBAAuB;IAGnE,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAE9D,SAAS,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC;IAEzC,WAAW,IAAI,IAAI;IAKnB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAKvC"}
|
|
@@ -26,7 +26,9 @@ let ContainerOutputProvider = class ContainerOutputProvider {
|
|
|
26
26
|
}
|
|
27
27
|
;
|
|
28
28
|
onRemoteOutput(output) {
|
|
29
|
-
|
|
29
|
+
if (output) {
|
|
30
|
+
this.currentChannel?.appendLine(output);
|
|
31
|
+
}
|
|
30
32
|
}
|
|
31
33
|
};
|
|
32
34
|
exports.ContainerOutputProvider = ContainerOutputProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container-output-provider.js","sourceRoot":"","sources":["../../src/electron-browser/container-output-provider.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAkE;AAClE,6EAA+F;AAGxF,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAOhC,WAAW;QACP,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAA,CAAC;IAEF,cAAc,CAAC,MAAc;QACzB,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"container-output-provider.js","sourceRoot":"","sources":["../../src/electron-browser/container-output-provider.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAAkE;AAClE,6EAA+F;AAGxF,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAOhC,WAAW;QACP,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAA,CAAC;IAEF,cAAc,CAAC,MAAc;QACzB,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;CACJ,CAAA;AAjBY,0DAAuB;AAGb;IADlB,IAAA,kBAAM,EAAC,qCAAoB,CAAC;sCACY,qCAAoB;qEAAC;kCAHrD,uBAAuB;IADnC,IAAA,sBAAU,GAAE;GACA,uBAAuB,CAiBnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-container-frontend-module.d.ts","sourceRoot":"","sources":["../../src/electron-browser/dev-container-frontend-module.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;
|
|
1
|
+
{"version":3,"file":"dev-container-frontend-module.d.ts","sourceRoot":"","sources":["../../src/electron-browser/dev-container-frontend-module.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAc/D,wBAuBG"}
|
|
@@ -26,11 +26,14 @@ const browser_1 = require("@theia/core/lib/browser");
|
|
|
26
26
|
const workspace_service_1 = require("@theia/workspace/lib/browser/workspace-service");
|
|
27
27
|
const window_title_service_1 = require("@theia/core/lib/browser/window/window-title-service");
|
|
28
28
|
const dev_container_suggestion_contribution_1 = require("./dev-container-suggestion-contribution");
|
|
29
|
+
const dev_container_preferences_1 = require("../electron-common/dev-container-preferences");
|
|
30
|
+
const dev_container_startup_contribution_1 = require("./dev-container-startup-contribution");
|
|
29
31
|
exports.default = new inversify_1.ContainerModule(bind => {
|
|
30
32
|
bind(container_connection_contribution_1.ContainerConnectionContribution).toSelf().inSingletonScope();
|
|
31
33
|
bind(remote_registry_contribution_1.RemoteRegistryContribution).toService(container_connection_contribution_1.ContainerConnectionContribution);
|
|
32
34
|
bind(workspace_service_1.WorkspaceOpenHandlerContribution).toService(container_connection_contribution_1.ContainerConnectionContribution);
|
|
33
35
|
bind(container_output_provider_1.ContainerOutputProvider).toSelf().inSingletonScope();
|
|
36
|
+
(0, dev_container_preferences_1.bindDevContainerPreferences)(bind);
|
|
34
37
|
bind(remote_container_connection_provider_1.RemoteContainerConnectionProvider).toDynamicValue(ctx => {
|
|
35
38
|
const outputProvider = ctx.container.get(container_output_provider_1.ContainerOutputProvider);
|
|
36
39
|
return service_connection_provider_1.ServiceConnectionProvider.createLocalProxy(ctx.container, remote_container_connection_provider_1.RemoteContainerConnectionProviderPath, outputProvider);
|
|
@@ -41,5 +44,7 @@ exports.default = new inversify_1.ContainerModule(bind => {
|
|
|
41
44
|
bind(browser_1.LabelProviderContribution).toService(container_info_contribution_1.ContainerInfoContribution);
|
|
42
45
|
bind(dev_container_suggestion_contribution_1.DevContainerSuggestionContribution).toSelf().inSingletonScope();
|
|
43
46
|
bind(browser_1.FrontendApplicationContribution).toService(dev_container_suggestion_contribution_1.DevContainerSuggestionContribution);
|
|
47
|
+
bind(dev_container_startup_contribution_1.DevContainerStartupContribution).toSelf().inSingletonScope();
|
|
48
|
+
bind(browser_1.FrontendApplicationContribution).toService(dev_container_startup_contribution_1.DevContainerStartupContribution);
|
|
44
49
|
});
|
|
45
50
|
//# sourceMappingURL=dev-container-frontend-module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-container-frontend-module.js","sourceRoot":"","sources":["../../src/electron-browser/dev-container-frontend-module.ts"],"names":[],"mappings":";;AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,4DAA+D;AAC/D,kHAA6G;AAC7G,kHAAmJ;AACnJ,2FAAsF;AACtF,+GAA0G;AAC1G,2EAAsE;AACtE,+EAA0E;AAC1E,qDAAqG;AACrG,sFAAkG;AAClG,8FAA8F;AAC9F,mGAA6F;
|
|
1
|
+
{"version":3,"file":"dev-container-frontend-module.js","sourceRoot":"","sources":["../../src/electron-browser/dev-container-frontend-module.ts"],"names":[],"mappings":";;AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,4DAA+D;AAC/D,kHAA6G;AAC7G,kHAAmJ;AACnJ,2FAAsF;AACtF,+GAA0G;AAC1G,2EAAsE;AACtE,+EAA0E;AAC1E,qDAAqG;AACrG,sFAAkG;AAClG,8FAA8F;AAC9F,mGAA6F;AAC7F,4FAA2F;AAC3F,6FAAuF;AAEvF,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,mEAA+B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAClE,IAAI,CAAC,yDAA0B,CAAC,CAAC,SAAS,CAAC,mEAA+B,CAAC,CAAC;IAC5E,IAAI,CAAC,oDAAgC,CAAC,CAAC,SAAS,CAAC,mEAA+B,CAAC,CAAC;IAElF,IAAI,CAAC,mDAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC1D,IAAA,uDAA2B,EAAC,IAAI,CAAC,CAAC;IAElC,IAAI,CAAC,wEAAiC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;QACzD,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,mDAAuB,CAAC,CAAC;QAClE,OAAO,uDAAyB,CAAC,gBAAgB,CAAoC,GAAG,CAAC,SAAS,EAAE,4EAAqC,EAAE,cAAc,CAAC,CAAC;IAC/J,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAEtB,IAAI,CAAC,uDAAyB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC5D,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,uDAAyB,CAAC,CAAC;IAC3E,IAAI,CAAC,8CAAuB,CAAC,CAAC,SAAS,CAAC,uDAAyB,CAAC,CAAC;IACnE,IAAI,CAAC,mCAAyB,CAAC,CAAC,SAAS,CAAC,uDAAyB,CAAC,CAAC;IAErE,IAAI,CAAC,0EAAkC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACrE,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,0EAAkC,CAAC,CAAC;IAEpF,IAAI,CAAC,oEAA+B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAClE,IAAI,CAAC,yCAA+B,CAAC,CAAC,SAAS,CAAC,oEAA+B,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FrontendApplicationContribution } from '@theia/core/lib/browser';
|
|
2
|
+
import { RemoteContainerConnectionProvider } from '../electron-common/remote-container-connection-provider';
|
|
3
|
+
import { AbstractRemoteRegistryContribution } from '@theia/remote/lib/electron-browser/remote-registry-contribution';
|
|
4
|
+
import { ILogger, MessageService } from '@theia/core';
|
|
5
|
+
import { RemotePreferences } from '@theia/remote/lib/electron-common/remote-preferences';
|
|
6
|
+
export declare class DevContainerStartupContribution extends AbstractRemoteRegistryContribution implements FrontendApplicationContribution {
|
|
7
|
+
protected readonly connectionProvider: RemoteContainerConnectionProvider;
|
|
8
|
+
protected readonly logger: ILogger;
|
|
9
|
+
protected readonly messageService: MessageService;
|
|
10
|
+
protected readonly remotePreferences: RemotePreferences;
|
|
11
|
+
registerRemoteCommands(): void;
|
|
12
|
+
onStart(): void;
|
|
13
|
+
protected handleStartupAttach(): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=dev-container-startup-contribution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-container-startup-contribution.d.ts","sourceRoot":"","sources":["../../src/electron-browser/dev-container-startup-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,iCAAiC,EAAE,MAAM,yDAAyD,CAAC;AAC5G,OAAO,EAAE,kCAAkC,EAAE,MAAM,iEAAiE,CAAC;AACrH,OAAO,EAAE,OAAO,EAAE,cAAc,EAAO,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AAEzF,qBACa,+BAAgC,SAAQ,kCAAmC,YAAW,+BAA+B;IAG9H,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;IAGzE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,sBAAsB,IAAI,IAAI;IAI9B,OAAO,IAAI,IAAI;cAIC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;CAoDvD"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 EclipseSource GmbH and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.DevContainerStartupContribution = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
21
|
+
const remote_container_connection_provider_1 = require("../electron-common/remote-container-connection-provider");
|
|
22
|
+
const remote_registry_contribution_1 = require("@theia/remote/lib/electron-browser/remote-registry-contribution");
|
|
23
|
+
const core_1 = require("@theia/core");
|
|
24
|
+
const remote_preferences_1 = require("@theia/remote/lib/electron-common/remote-preferences");
|
|
25
|
+
let DevContainerStartupContribution = class DevContainerStartupContribution extends remote_registry_contribution_1.AbstractRemoteRegistryContribution {
|
|
26
|
+
registerRemoteCommands() {
|
|
27
|
+
// no commands to register — this contribution only handles startup
|
|
28
|
+
}
|
|
29
|
+
onStart() {
|
|
30
|
+
this.handleStartupAttach();
|
|
31
|
+
}
|
|
32
|
+
async handleStartupAttach() {
|
|
33
|
+
try {
|
|
34
|
+
const args = await this.connectionProvider.getAttachContainerArgs();
|
|
35
|
+
if (!args) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const { containerId, scanForDevJson } = args;
|
|
39
|
+
this.logger.info(`CLI: --attach-container ${containerId}, initiating attach from frontend...`);
|
|
40
|
+
const containers = await this.connectionProvider.listRunningContainers();
|
|
41
|
+
// Match by ID prefix (either direction — user may pass a short prefix or a full 64-char ID
|
|
42
|
+
// while listRunningContainers returns 12-char truncated IDs) or exact name.
|
|
43
|
+
const matches = containers.filter(c => c.id.startsWith(containerId) || containerId.startsWith(c.id) || c.name === containerId);
|
|
44
|
+
if (matches.length > 1) {
|
|
45
|
+
this.logger.warn(`CLI: container identifier "${containerId}" matches ${matches.length} containers, using first match: ${matches[0].name || matches[0].id}`);
|
|
46
|
+
}
|
|
47
|
+
const target = matches[0];
|
|
48
|
+
if (!target) {
|
|
49
|
+
const msg = core_1.nls.localize('theia/remote/dev-container/cliContainerNotFound', 'Container "{0}" not found or not running.', containerId);
|
|
50
|
+
this.logger.error(`CLI: ${msg}`);
|
|
51
|
+
this.messageService.error(msg);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const candidates = await this.connectionProvider.getWorkspaceCandidates(target.id);
|
|
55
|
+
const workspacePath = candidates.length > 0 ? candidates[0].path : '/';
|
|
56
|
+
const devcontainerFile = scanForDevJson
|
|
57
|
+
? await this.connectionProvider.scanForDevContainerConfig(target.id, workspacePath)
|
|
58
|
+
: undefined;
|
|
59
|
+
const result = await this.connectionProvider.attachToContainer({
|
|
60
|
+
containerId: target.id,
|
|
61
|
+
workspacePath,
|
|
62
|
+
devcontainerFile,
|
|
63
|
+
nodeDownloadTemplate: this.remotePreferences['remote.nodeDownloadTemplate'],
|
|
64
|
+
});
|
|
65
|
+
this.logger.info(`CLI: startup attach ready, proxy on port ${result.port}, workspace: ${result.workspacePath}`);
|
|
66
|
+
this.openRemote(result.port, false, result.workspacePath);
|
|
67
|
+
}
|
|
68
|
+
catch (e) {
|
|
69
|
+
this.logger.error('CLI: Failed to attach to container during startup:', e);
|
|
70
|
+
this.messageService.error(core_1.nls.localize('theia/remote/dev-container/cliAttachError', 'Failed to attach to container: {0}', e instanceof Error ? e.message : String(e)));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
exports.DevContainerStartupContribution = DevContainerStartupContribution;
|
|
75
|
+
tslib_1.__decorate([
|
|
76
|
+
(0, inversify_1.inject)(remote_container_connection_provider_1.RemoteContainerConnectionProvider),
|
|
77
|
+
tslib_1.__metadata("design:type", Object)
|
|
78
|
+
], DevContainerStartupContribution.prototype, "connectionProvider", void 0);
|
|
79
|
+
tslib_1.__decorate([
|
|
80
|
+
(0, inversify_1.inject)(core_1.ILogger),
|
|
81
|
+
tslib_1.__metadata("design:type", Object)
|
|
82
|
+
], DevContainerStartupContribution.prototype, "logger", void 0);
|
|
83
|
+
tslib_1.__decorate([
|
|
84
|
+
(0, inversify_1.inject)(core_1.MessageService),
|
|
85
|
+
tslib_1.__metadata("design:type", core_1.MessageService)
|
|
86
|
+
], DevContainerStartupContribution.prototype, "messageService", void 0);
|
|
87
|
+
tslib_1.__decorate([
|
|
88
|
+
(0, inversify_1.inject)(remote_preferences_1.RemotePreferences),
|
|
89
|
+
tslib_1.__metadata("design:type", Object)
|
|
90
|
+
], DevContainerStartupContribution.prototype, "remotePreferences", void 0);
|
|
91
|
+
exports.DevContainerStartupContribution = DevContainerStartupContribution = tslib_1.__decorate([
|
|
92
|
+
(0, inversify_1.injectable)()
|
|
93
|
+
], DevContainerStartupContribution);
|
|
94
|
+
//# sourceMappingURL=dev-container-startup-contribution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-container-startup-contribution.js","sourceRoot":"","sources":["../../src/electron-browser/dev-container-startup-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { interfaces } from '@theia/core/shared/inversify';
|
|
2
|
+
import { PreferenceProxy } from '@theia/core/lib/common/preferences/preference-proxy';
|
|
3
|
+
import { PreferenceSchema } from '@theia/core/lib/common/preferences/preference-schema';
|
|
4
|
+
export declare const DevContainerPreferenceSchema: PreferenceSchema;
|
|
5
|
+
export interface DevContainerPreferenceConfiguration {
|
|
6
|
+
'devcontainer.attach.applyFoundConfig': 'always' | 'ask' | 'never';
|
|
7
|
+
}
|
|
8
|
+
export declare const DevContainerPreferenceContribution: unique symbol;
|
|
9
|
+
export declare const DevContainerPreferences: unique symbol;
|
|
10
|
+
export type DevContainerPreferences = PreferenceProxy<DevContainerPreferenceConfiguration>;
|
|
11
|
+
export declare function bindDevContainerPreferences(bind: interfaces.Bind): void;
|
|
12
|
+
//# sourceMappingURL=dev-container-preferences.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-container-preferences.d.ts","sourceRoot":"","sources":["../../src/electron-common/dev-container-preferences.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AAGtF,OAAO,EAA0B,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AAEhH,eAAO,MAAM,4BAA4B,EAAE,gBAa1C,CAAC;AAEF,MAAM,WAAW,mCAAmC;IAChD,sCAAsC,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC;CACtE;AAED,eAAO,MAAM,kCAAkC,eAA+C,CAAC;AAC/F,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AACzE,MAAM,MAAM,uBAAuB,GAAG,eAAe,CAAC,mCAAmC,CAAC,CAAC;AAE3F,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,GAAG,IAAI,CAOvE"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 EclipseSource GmbH and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.DevContainerPreferences = exports.DevContainerPreferenceContribution = exports.DevContainerPreferenceSchema = void 0;
|
|
19
|
+
exports.bindDevContainerPreferences = bindDevContainerPreferences;
|
|
20
|
+
const nls_1 = require("@theia/core/lib/common/nls");
|
|
21
|
+
const injectable_preference_proxy_1 = require("@theia/core/lib/common/preferences/injectable-preference-proxy");
|
|
22
|
+
const preference_schema_1 = require("@theia/core/lib/common/preferences/preference-schema");
|
|
23
|
+
exports.DevContainerPreferenceSchema = {
|
|
24
|
+
properties: {
|
|
25
|
+
'devcontainer.attach.applyFoundConfig': {
|
|
26
|
+
type: 'string',
|
|
27
|
+
enum: ['always', 'ask', 'never'],
|
|
28
|
+
default: 'ask',
|
|
29
|
+
markdownDescription: nls_1.nls.localize('theia/devContainer/attach/applyFoundConfig', 'Controls whether to apply a devcontainer.json found inside a container when attaching. '
|
|
30
|
+
+ 'Extensions, settings, port forwarding, and post-attach commands from the configuration will be applied.')
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
exports.DevContainerPreferenceContribution = Symbol('DevContainerPreferenceContribution');
|
|
35
|
+
exports.DevContainerPreferences = Symbol('DevContainerPreferences');
|
|
36
|
+
function bindDevContainerPreferences(bind) {
|
|
37
|
+
bind(exports.DevContainerPreferences).toDynamicValue(ctx => {
|
|
38
|
+
const factory = ctx.container.get(injectable_preference_proxy_1.PreferenceProxyFactory);
|
|
39
|
+
return factory(exports.DevContainerPreferenceSchema);
|
|
40
|
+
}).inSingletonScope();
|
|
41
|
+
bind(exports.DevContainerPreferenceContribution).toConstantValue({ schema: exports.DevContainerPreferenceSchema });
|
|
42
|
+
bind(preference_schema_1.PreferenceContribution).toService(exports.DevContainerPreferenceContribution);
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=dev-container-preferences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-container-preferences.js","sourceRoot":"","sources":["../../src/electron-common/dev-container-preferences.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AA+BhF,kEAOC;AAlCD,oDAAiD;AACjD,gHAAwG;AACxG,4FAAgH;AAEnG,QAAA,4BAA4B,GAAqB;IAC1D,UAAU,EAAE;QACR,sCAAsC,EAAE;YACpC,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC;YAChC,OAAO,EAAE,KAAK;YACd,mBAAmB,EAAE,SAAG,CAAC,QAAQ,CAC7B,4CAA4C,EAC5C,yFAAyF;kBACvF,yGAAyG,CAC9G;SACJ;KACJ;CACJ,CAAC;AAMW,QAAA,kCAAkC,GAAG,MAAM,CAAC,oCAAoC,CAAC,CAAC;AAClF,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAGzE,SAAgB,2BAA2B,CAAC,IAAqB;IAC7D,IAAI,CAAC,+BAAuB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;QAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAyB,oDAAsB,CAAC,CAAC;QAClF,OAAO,OAAO,CAAC,oCAA4B,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACtB,IAAI,CAAC,0CAAkC,CAAC,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,oCAA4B,EAAE,CAAC,CAAC;IACnG,IAAI,CAAC,0CAAsB,CAAC,CAAC,SAAS,CAAC,0CAAkC,CAAC,CAAC;AAC/E,CAAC"}
|
|
@@ -27,13 +27,32 @@ export interface RunningContainerInfo {
|
|
|
27
27
|
name: string;
|
|
28
28
|
image: string;
|
|
29
29
|
status: string;
|
|
30
|
+
created: number;
|
|
31
|
+
}
|
|
32
|
+
export interface WorkspaceCandidate {
|
|
33
|
+
path: string;
|
|
34
|
+
/** Describes where this candidate came from */
|
|
35
|
+
source: 'working-dir' | 'bind-mount' | 'devcontainer-label' | 'fallback';
|
|
36
|
+
}
|
|
37
|
+
export interface AttachContainerOptions {
|
|
38
|
+
containerId: string;
|
|
39
|
+
workspacePath: string;
|
|
40
|
+
nodeDownloadTemplate?: string;
|
|
41
|
+
devcontainerFile?: string;
|
|
42
|
+
}
|
|
43
|
+
export interface AttachContainerArgs {
|
|
44
|
+
containerId: string;
|
|
45
|
+
scanForDevJson: boolean;
|
|
30
46
|
}
|
|
31
47
|
export interface RemoteContainerConnectionProvider extends RpcServer<ContainerOutputProvider> {
|
|
32
48
|
connectToContainer(options: ContainerConnectionOptions): Promise<ContainerConnectionResult>;
|
|
33
49
|
getDevContainerFiles(workspacePath: string): Promise<DevContainerFile[]>;
|
|
34
50
|
getCurrentContainerInfo(port: number): Promise<ContainerInspectInfo | undefined>;
|
|
35
51
|
listRunningContainers(): Promise<RunningContainerInfo[]>;
|
|
36
|
-
|
|
52
|
+
getWorkspaceCandidates(containerId: string): Promise<WorkspaceCandidate[]>;
|
|
53
|
+
scanForDevContainerConfig(containerId: string, workspacePath: string): Promise<string | undefined>;
|
|
54
|
+
getAttachContainerArgs(): Promise<AttachContainerArgs | undefined>;
|
|
55
|
+
attachToContainer(options: AttachContainerOptions): Promise<ContainerConnectionResult>;
|
|
37
56
|
removeContainer(containerId: string): Promise<void>;
|
|
38
57
|
}
|
|
39
58
|
//# sourceMappingURL=remote-container-connection-provider.d.ts.map
|