extensions/typescript-language-features/src/tsServer/versionStatus.ts/ProjectStatusCommand/getProjectItem
class ProjectStatusCommand:	private getProjectItem(info: ProjectInfoState.State): QuickPickItem | undefined {
		const rootPath = info.type === ProjectInfoState.Type.Resolved ? this._client.getWorkspaceRootForResource(info.resource) : undefined;
		if (!rootPath) {
			return undefined;
		}

		if (info.type === ProjectInfoState.Type.Resolved) {
			if (isImplicitProjectConfigFile(info.configFile)) {
				return {
					label: localize('projectQuickPick.project.create', "Create tsconfig"),
					detail: localize('projectQuickPick.project.create.description', "This file is currently not part of a tsconfig/jsconfig project"),
					run: () => {
						openOrCreateConfig(ProjectType.TypeScript, rootPath, this._client.configuration);
					}
				};
			}
		}

		return {
			label: localize('projectQuickPick.version.goProjectConfig', "Open tsconfig"),
			description: info.type === ProjectInfoState.Type.Resolved ? vscode.workspace.asRelativePath(info.configFile) : undefined,
			run: () => {
				if (info.type === ProjectInfoState.Type.Resolved) {
					openProjectConfigOrPromptToCreate(ProjectType.TypeScript, this._client, rootPath, info.configFile);
				} else if (info.type === ProjectInfoState.Type.Pending) {
					openProjectConfigForFile(ProjectType.TypeScript, this._client, info.resource);
				}
			}
		};
	}