Skip to content
Snippets Groups Projects
Commit 52fb640f authored by Christian ZHENG's avatar Christian ZHENG
Browse files

feat(devcontainer): open vscode in devcontainer within mission folder

parent d5acca95
Branches
Tags
3 merge requests!14feat: added mounted, .bashrc, .zshrc, added tests, added keycloak tests,!8feat(extension): login, open in devcontainer, automaticly save code, open briefing, publish extension,!3feat: devcontainer support
import * as vscode from 'vscode';
import { KEYCLOAK_DEVICE_AUTH_URL, KEYCLOAK_TOKEN_CREATE_URL, KEYCLOAK_USER_INFO_URL } from '../config';
import { copyProjectSources, log } from '../recorder/utils';
import { OPEN_GETTING_STARTED_COMMAND } from '../theia/command';
import BriefingView from '../view/briefingView';
import GettingStartedView from '../view/gettingStartedView';
......@@ -32,6 +33,7 @@ export default class Controller {
handleUri(uri: vscode.Uri) {
const queryParams: URLSearchParams = new URLSearchParams(uri.query);
const action: string | null = queryParams.get('action');
log('Opening link', uri);
switch (action) {
case 'open-challenge':
......@@ -96,12 +98,21 @@ export default class Controller {
const hadBeenConnected = (await this.extensionStore.getAccessToken()) !== undefined;
if (!hadBeenConnected) {
this.authenticate();
await this.authenticate();
vscode.window.showInformationMessage('Nouvelle connexion validée');
} else {
vscode.window.showInformationMessage('Déjà connecté: session récupérée');
}
await copyProjectSources(
'Documents/deadlock-challenges/resources/code_desktop_exemple',
this.extensionStore.getMissionWorkdir()!,
).catch((e) => {
log(e);
});
await vscode.commands.executeCommand(
'remote-containers.openFolder',
vscode.Uri.file(this.extensionStore.getMissionWorkdir()!),
);
vscode.commands.executeCommand(OPEN_GETTING_STARTED_COMMAND.cmd);
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment