in vscode/qodana/src/core/cli/executor.ts [71:97]
export async function prepareRun(token: string): Promise<boolean> {
let linter = await getLinterFromQodanaYaml();
if (linter !== undefined) {
return true;
}
let langs = await getLanguagesInWorkspace();
let { communityLinters, paidLinters } = getLinters(langs);
if (communityLinters.length === 0 && paidLinters.length === 0) {
if (vscode.workspace.workspaceFolders === undefined) {
vscode.window.showErrorMessage(NO_WORKSPACE_OPENED);
} else {
vscode.window.showErrorMessage(NO_LINTERS_FOUND);
}
return false;
}
let selectedLinter = await selectLinter(token, communityLinters, paidLinters);
if (selectedLinter === undefined) {
return false;
}
let selectedImage = getLinterImageByCode(selectedLinter);
if (selectedImage === undefined) {
return false;
}
await createQodanaYaml(selectedImage);
return true;
}