Path: blob/main/src/vs/workbench/contrib/files/electron-browser/fileCommands.ts
3296 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*--------------------------------------------------------------------------------------------*/45import { URI } from '../../../../base/common/uri.js';6import { IWorkspaceContextService } from '../../../../platform/workspace/common/workspace.js';7import { sequence } from '../../../../base/common/async.js';8import { Schemas } from '../../../../base/common/network.js';9import { INativeHostService } from '../../../../platform/native/common/native.js';1011// Commands1213export function revealResourcesInOS(resources: URI[], nativeHostService: INativeHostService, workspaceContextService: IWorkspaceContextService): void {14if (resources.length) {15sequence(resources.map(r => async () => {16if (r.scheme === Schemas.file || r.scheme === Schemas.vscodeUserData) {17nativeHostService.showItemInFolder(r.with({ scheme: Schemas.file }).fsPath);18}19}));20} else if (workspaceContextService.getWorkspace().folders.length) {21const uri = workspaceContextService.getWorkspace().folders[0].uri;22if (uri.scheme === Schemas.file) {23nativeHostService.showItemInFolder(uri.fsPath);24}25}26}272829