diff --git a/extensions/typescript-language-features/src/features/task.ts b/extensions/typescript-language-features/src/features/task.ts index 1b1d4d3bded..8c393ade672 100644 --- a/extensions/typescript-language-features/src/features/task.ts +++ b/extensions/typescript-language-features/src/features/task.ts @@ -96,6 +96,7 @@ class TscTaskProvider implements vscode.TaskProvider { const uri = editor.document.uri; return [{ path: uri.fsPath, + posixPath: uri.path, workspaceFolder: vscode.workspace.getWorkspaceFolder(uri) }]; } @@ -121,6 +122,7 @@ class TscTaskProvider implements vscode.TaskProvider { const folder = vscode.workspace.getWorkspaceFolder(uri); return [{ path: normalizedConfigPath, + posixPath: uri.path, workspaceFolder: folder }]; } @@ -232,9 +234,9 @@ class TscTaskProvider implements vscode.TaskProvider { private getLabelForTasks(project: TSConfig): string { if (project.workspaceFolder) { - return path.relative(project.workspaceFolder.uri.fsPath, project.path); + return path.posix.relative(project.workspaceFolder.uri.path, project.posixPath); } - return project.path; + return project.posixPath; } private onConfigurationChanged(): void { diff --git a/extensions/typescript-language-features/src/utils/tsconfigProvider.ts b/extensions/typescript-language-features/src/utils/tsconfigProvider.ts index 7e2b85ef2d0..fe939032029 100644 --- a/extensions/typescript-language-features/src/utils/tsconfigProvider.ts +++ b/extensions/typescript-language-features/src/utils/tsconfigProvider.ts @@ -6,6 +6,7 @@ import * as vscode from 'vscode'; export interface TSConfig { readonly path: string; + readonly posixPath: string; readonly workspaceFolder?: vscode.WorkspaceFolder; } @@ -20,6 +21,7 @@ export default class TsConfigProvider { if (root) { configs.set(config.fsPath, { path: config.fsPath, + posixPath: config.path, workspaceFolder: root }); }