in src/handler/GenerateProjectHandler.ts [91:107]
async function specifyTargetFolder(metadata: IProjectMetadata): Promise<vscode.Uri> {
const OPTION_CONTINUE: string = "Continue";
const OPTION_CHOOSE_ANOTHER_FOLDER: string = "Choose another folder";
const LABEL_CHOOSE_FOLDER: string = "Generate into this folder";
const MESSAGE_EXISTING_FOLDER: string = `A folder [${metadata.artifactId}] already exists in the selected folder. Continue to overwrite or Choose another folder?`;
let outputUri: vscode.Uri = metadata.defaults.targetFolder ? vscode.Uri.file(metadata.defaults.targetFolder) : await openDialogForFolder({ openLabel: LABEL_CHOOSE_FOLDER });
while (outputUri && await fse.pathExists(path.join(outputUri.fsPath, metadata.artifactId))) {
const overrideChoice: string = await vscode.window.showWarningMessage(MESSAGE_EXISTING_FOLDER, OPTION_CONTINUE, OPTION_CHOOSE_ANOTHER_FOLDER);
if (overrideChoice === OPTION_CHOOSE_ANOTHER_FOLDER) {
outputUri = await openDialogForFolder({ openLabel: LABEL_CHOOSE_FOLDER });
} else {
break;
}
}
return outputUri;
}