@@ -277,7 +277,7 @@ export class LaunchMainService implements ILaunchMainService {
if(isSingleFolderWorkspaceIdentifier(workspace)){
folderURIs.push(workspace.uri);
}elseif(isWorkspaceIdentifier(workspace)){
constresolvedWorkspace=this.workspacesMainService.resolveLocalWorkspaceSync(workspace.configPath);// workspace folders can only be shown for local (resolved) workspaces
constresolvedWorkspace=this.workspacesManagementMainService.resolveLocalWorkspaceSync(workspace.configPath);// workspace folders can only be shown for local (resolved) workspaces
exportclassWorkspacesMainServiceimplementsAddFirstParameterToFunctions<IWorkspacesService,Promise<unknown>/* only methods, not events */,number/* window ID */>{
declarereadonly_serviceBrand:undefined;
privatereadonlyuntitledWorkspacesHome=this.environmentService.untitledWorkspacesHome;// local URI that contains all untitled workspaces
// Local: produce a hash from the path and include creation time as salt
if(!folderStat){
try{
folderStat=statSync(folderUri.fsPath);
}catch(error){
returnundefined;// folder does not exist
}
}
letctime:number|undefined;
if(isLinux){
ctime=folderStat.ino;// Linux: birthtime is ctime, so we cannot use it! We use the ino instead!
}elseif(isMacintosh){
ctime=folderStat.birthtime.getTime();// macOS: birthtime is fine to use as is
}elseif(isWindows){
if(typeoffolderStat.birthtimeMs==='number'){
ctime=Math.floor(folderStat.birthtimeMs);// Windows: fix precision issue in node.js 8.x to get 7.x results (see https://github.com/nodejs/node/issues/19897)
}else{
ctime=folderStat.birthtime.getTime();
}
}
// we use the ctime as extra salt to the ID so that we catch the case of a folder getting
// deleted and recreated. in that case we do not want to carry over previous state
// Local: produce a hash from the path and include creation time as salt
if(!folderStat){
try{
folderStat=statSync(folderUri.fsPath);
}catch(error){
returnundefined;// folder does not exist
}
}
letctime:number|undefined;
if(isLinux){
ctime=folderStat.ino;// Linux: birthtime is ctime, so we cannot use it! We use the ino instead!
}elseif(isMacintosh){
ctime=folderStat.birthtime.getTime();// macOS: birthtime is fine to use as is
}elseif(isWindows){
if(typeoffolderStat.birthtimeMs==='number'){
ctime=Math.floor(folderStat.birthtimeMs);// Windows: fix precision issue in node.js 8.x to get 7.x results (see https://github.com/nodejs/node/issues/19897)
}else{
ctime=folderStat.birthtime.getTime();
}
}
// we use the ctime as extra salt to the ID so that we catch the case of a folder getting
// deleted and recreated. in that case we do not want to carry over previous state
exportclassWorkspacesServiceimplementsAddFirstParameterToFunctions<IWorkspacesService,Promise<unknown>/* only methods, not events */,number/* window ID */>{