Path: blob/main/extensions/copilot/src/extension/getting-started/common/newWorkspaceContext.ts
13399 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/4import { IVSCodeExtensionContext } from '../../../platform/extContext/common/extensionContext';56export const NEW_WORKSPACE_STORAGE_KEY = 'copilot.newWorkspaceAgent.workspaceContexts';78export interface INewWorkspaceStoredData {9workspaceURI: string;10userPrompt: string;11initialized: boolean | undefined;12}1314export function saveNewWorkspaceContext(add: INewWorkspaceStoredData, extensionContext: IVSCodeExtensionContext) {15const contexts = extensionContext.globalState.get<INewWorkspaceStoredData[]>(NEW_WORKSPACE_STORAGE_KEY, []);16const idx = contexts.findIndex(context => context.workspaceURI === add.workspaceURI);17if (idx >= 0) {18contexts.splice(idx, 1);19}2021contexts.unshift(add);22while (contexts.length > 30) {23contexts.pop();24}2526extensionContext.globalState.update(NEW_WORKSPACE_STORAGE_KEY, contexts);27}2829