* chore(README.md): Update extension name and add feature descriptions

* fix(extension.ts): Remove unused comment and change progress location to Notification
* feat(extension.ts): Open cloned repository in VSCode after cloning
This commit is contained in:
2024-10-20 19:39:08 +02:00
parent a23b61758b
commit 8d53bc17ed
2 changed files with 51 additions and 71 deletions

View File

@ -99,7 +99,6 @@ async function cloneGiteaRepository() {
const repo = repos.find(r => r.full_name === selectedRepo);
// Verwende die SSH-URL anstelle von HTTPS
if (repo && repo.ssh_url) {
const folderUri = await vscode.window.showOpenDialog({
canSelectFiles: false,
@ -112,20 +111,33 @@ async function cloneGiteaRepository() {
const folderPath = folderUri[0].fsPath;
vscode.window.withProgress({
location: vscode.ProgressLocation.Window,
location: vscode.ProgressLocation.Notification,
title: `Cloning ${selectedRepo}`,
cancellable: false
}, async (progress) => {
progress.report({ message: 'Klonvorgang läuft...' });
}, async (progress, token) => {
progress.report({ message: 'Klonvorgang läuft...', increment: 0 });
exec(`git clone ${repo.ssh_url} ${folderPath}`, (error, stdout, stderr) => {
if (error) {
vscode.window.showErrorMessage('Fehler beim Klonen des Repositories.');
console.error(stderr);
} else {
vscode.window.showInformationMessage(`Repository ${selectedRepo} erfolgreich geklont.`);
console.log(stdout);
}
return new Promise<void>((resolve, reject) => {
exec(`git clone ${repo.ssh_url} ${folderPath}`, (error, stdout, stderr) => {
if (error) {
vscode.window.showErrorMessage('Fehler beim Klonen des Repositories.');
console.error(stderr);
reject(error);
} else {
progress.report({ message: 'Repository geklont.', increment: 100 });
vscode.window.showInformationMessage(`Repository ${selectedRepo} erfolgreich geklont.`);
// Öffne das geklonte Repository im VSCode
try {
vscode.commands.executeCommand('vscode.openFolder', vscode.Uri.file(folderPath), true)
.then(() => resolve());
} catch (err: unknown) {
vscode.window.showErrorMessage('Fehler beim Öffnen des geklonten Repositories.');
console.error(err);
reject(err);
}
}
});
});
});
} else {