in vscode/qodana/src/core/ui/projectsView.ts [16:36]
async getChildren(_element?: vscode.TreeItem): Promise<vscode.TreeItem[]> {
let projects = await this.getProjects();
let idToProject = new Map<string, MatchingProject>;
projects?.forEach(project => {
if (!idToProject.has(project.projectId)) {
idToProject.set(project.projectId, project);
}
});
//todo add sorting
let projectsSet = [... new Set(idToProject.values())].sort();
let projectItems: vscode.TreeItem[] = projectsSet.map((project => new LinkTreeItem(project)));
const otherItem = new OtherTreeItem(OTHER_PROJECT);
otherItem.command = {
command: 'qodanaTreeItem.other-item',
title: LINK_OTHER_PROJECT,
arguments: [otherItem]
};
projectItems.push(otherItem);
return projectItems;
}