async projectIdNotSet()

in vscode/qodana/src/core/handler/index.ts [20:41]


    async projectIdNotSet(projectId: string): Promise<boolean> {
        let projectIdInSettings = vscode.workspace.getConfiguration().get<string>(CONF_PROJ_ID);
        return new Promise<boolean>((resolve) => {
            if (projectId && !projectIdInSettings) {
                vscode.window.showErrorMessage(idNotSet(projectId), ID_SET, ID_CANCEL).then(async (value) => {
                    if (value === ID_SET) {
                        await vscode.workspace.getConfiguration().update(CONF_PROJ_ID, projectId, vscode.ConfigurationTarget.Workspace);
                    }
                    resolve(value === ID_SET);
                });
            } else if (projectId && projectIdInSettings !== projectId) {
                vscode.window.showErrorMessage(idNotEqual(projectId), ID_SET, ID_CANCEL).then(async (value) => {
                    if (value === ID_SET) {
                        await vscode.workspace.getConfiguration().update(CONF_PROJ_ID, projectId, vscode.ConfigurationTarget.Workspace);
                    }
                    resolve(value === ID_SET);
                });
            } else {
                resolve(true);
            }
        });
    }