mirror of
https://github.com/Microsoft/vscode
synced 2024-10-13 06:48:17 +00:00
fix issue with used windows
This commit is contained in:
parent
d9e222939c
commit
296da3a87d
|
@ -416,7 +416,7 @@ export class WindowsManager implements IWindowsMainService {
|
||||||
|
|
||||||
// Finally, if no window or folder is found, just open the files in an empty window
|
// Finally, if no window or folder is found, just open the files in an empty window
|
||||||
else {
|
else {
|
||||||
const browserWindow = this.openInBrowserWindow({
|
usedWindows.push(this.openInBrowserWindow({
|
||||||
userEnv: openConfig.userEnv,
|
userEnv: openConfig.userEnv,
|
||||||
cli: openConfig.cli,
|
cli: openConfig.cli,
|
||||||
initialStartup: openConfig.initialStartup,
|
initialStartup: openConfig.initialStartup,
|
||||||
|
@ -424,8 +424,7 @@ export class WindowsManager implements IWindowsMainService {
|
||||||
filesToCreate,
|
filesToCreate,
|
||||||
filesToDiff,
|
filesToDiff,
|
||||||
forceNewWindow: true
|
forceNewWindow: true
|
||||||
});
|
}));
|
||||||
usedWindows.push(browserWindow);
|
|
||||||
|
|
||||||
// Reset these because we handled them
|
// Reset these because we handled them
|
||||||
filesToOpen = [];
|
filesToOpen = [];
|
||||||
|
@ -444,7 +443,7 @@ export class WindowsManager implements IWindowsMainService {
|
||||||
const windowOnWorkspace = windowsOnWorkspace[0];
|
const windowOnWorkspace = windowsOnWorkspace[0];
|
||||||
|
|
||||||
// Do open files
|
// Do open files
|
||||||
this.doOpenFilesInExistingWindow(windowOnWorkspace, filesToOpen, filesToCreate, filesToDiff);
|
usedWindows.push(this.doOpenFilesInExistingWindow(windowOnWorkspace, filesToOpen, filesToCreate, filesToDiff));
|
||||||
|
|
||||||
// Reset these because we handled them
|
// Reset these because we handled them
|
||||||
filesToOpen = [];
|
filesToOpen = [];
|
||||||
|
@ -482,7 +481,7 @@ export class WindowsManager implements IWindowsMainService {
|
||||||
const windowOnFolderPath = windowsOnFolderPath[0];
|
const windowOnFolderPath = windowsOnFolderPath[0];
|
||||||
|
|
||||||
// Do open files
|
// Do open files
|
||||||
this.doOpenFilesInExistingWindow(windowOnFolderPath, filesToOpen, filesToCreate, filesToDiff);
|
usedWindows.push(this.doOpenFilesInExistingWindow(windowOnFolderPath, filesToOpen, filesToCreate, filesToDiff));
|
||||||
|
|
||||||
// Reset these because we handled them
|
// Reset these because we handled them
|
||||||
filesToOpen = [];
|
filesToOpen = [];
|
||||||
|
@ -513,7 +512,7 @@ export class WindowsManager implements IWindowsMainService {
|
||||||
// Handle empty to restore
|
// Handle empty to restore
|
||||||
if (emptyToRestore.length > 0) {
|
if (emptyToRestore.length > 0) {
|
||||||
emptyToRestore.forEach(emptyWindowBackupFolder => {
|
emptyToRestore.forEach(emptyWindowBackupFolder => {
|
||||||
const browserWindow = this.openInBrowserWindow({
|
usedWindows.push(this.openInBrowserWindow({
|
||||||
userEnv: openConfig.userEnv,
|
userEnv: openConfig.userEnv,
|
||||||
cli: openConfig.cli,
|
cli: openConfig.cli,
|
||||||
initialStartup: openConfig.initialStartup,
|
initialStartup: openConfig.initialStartup,
|
||||||
|
@ -522,8 +521,7 @@ export class WindowsManager implements IWindowsMainService {
|
||||||
filesToDiff,
|
filesToDiff,
|
||||||
forceNewWindow: true,
|
forceNewWindow: true,
|
||||||
emptyWindowBackupFolder
|
emptyWindowBackupFolder
|
||||||
});
|
}));
|
||||||
usedWindows.push(browserWindow);
|
|
||||||
|
|
||||||
// Reset these because we handled them
|
// Reset these because we handled them
|
||||||
filesToOpen = [];
|
filesToOpen = [];
|
||||||
|
@ -537,14 +535,13 @@ export class WindowsManager implements IWindowsMainService {
|
||||||
// Only open empty if no empty windows were restored
|
// Only open empty if no empty windows were restored
|
||||||
else if (emptyToOpen > 0) {
|
else if (emptyToOpen > 0) {
|
||||||
for (let i = 0; i < emptyToOpen; i++) {
|
for (let i = 0; i < emptyToOpen; i++) {
|
||||||
const browserWindow = this.openInBrowserWindow({
|
usedWindows.push(this.openInBrowserWindow({
|
||||||
userEnv: openConfig.userEnv,
|
userEnv: openConfig.userEnv,
|
||||||
cli: openConfig.cli,
|
cli: openConfig.cli,
|
||||||
initialStartup: openConfig.initialStartup,
|
initialStartup: openConfig.initialStartup,
|
||||||
forceNewWindow: openFolderInNewWindow,
|
forceNewWindow: openFolderInNewWindow,
|
||||||
windowToUse: openFolderInNewWindow ? void 0 : openConfig.windowToUse as CodeWindow
|
windowToUse: openFolderInNewWindow ? void 0 : openConfig.windowToUse as CodeWindow
|
||||||
});
|
}));
|
||||||
usedWindows.push(browserWindow);
|
|
||||||
|
|
||||||
openFolderInNewWindow = true; // any other folders to open must open in new window then
|
openFolderInNewWindow = true; // any other folders to open must open in new window then
|
||||||
}
|
}
|
||||||
|
@ -553,12 +550,14 @@ export class WindowsManager implements IWindowsMainService {
|
||||||
return arrays.distinct(usedWindows);
|
return arrays.distinct(usedWindows);
|
||||||
}
|
}
|
||||||
|
|
||||||
private doOpenFilesInExistingWindow(window: CodeWindow, filesToOpen: IPath[], filesToCreate: IPath[], filesToDiff: IPath[]): void {
|
private doOpenFilesInExistingWindow(window: CodeWindow, filesToOpen: IPath[], filesToCreate: IPath[], filesToDiff: IPath[]): CodeWindow {
|
||||||
window.focus(); // make sure window has focus
|
window.focus(); // make sure window has focus
|
||||||
|
|
||||||
window.ready().then(readyWindow => {
|
window.ready().then(readyWindow => {
|
||||||
readyWindow.send('vscode:openFiles', { filesToOpen, filesToCreate, filesToDiff });
|
readyWindow.send('vscode:openFiles', { filesToOpen, filesToCreate, filesToDiff });
|
||||||
});
|
});
|
||||||
|
|
||||||
|
return window;
|
||||||
}
|
}
|
||||||
|
|
||||||
private doOpenFolderOrWorkspace(openConfig: IOpenConfiguration, folderOrWorkspace: IWindowToOpen, openInNewWindow: boolean, filesToOpen: IPath[], filesToCreate: IPath[], filesToDiff: IPath[]): CodeWindow {
|
private doOpenFolderOrWorkspace(openConfig: IOpenConfiguration, folderOrWorkspace: IWindowToOpen, openInNewWindow: boolean, filesToOpen: IPath[], filesToCreate: IPath[], filesToDiff: IPath[]): CodeWindow {
|
||||||
|
|
Loading…
Reference in a new issue