src/vs/workbench/browser/layout.ts/Layout/getInitialFilesToOpen
class Layout:	private getInitialFilesToOpen(): IInitialFilesToOpen | undefined {

		// Check for editors from `defaultLayout` options first
		const defaultLayout = this.environmentService.options?.defaultLayout;
		if (defaultLayout?.editors?.length && (defaultLayout.force || this.storageService.isNew(StorageScope.WORKSPACE))) {
			this._openedDefaultEditors = true;

			return {
				filesToOpenOrCreate: defaultLayout.editors.map<IPath>(file => {
					const legacyOverride = file.openWith;
					const legacySelection = file.selection && file.selection.start && isNumber(file.selection.start.line) ? {
						startLineNumber: file.selection.start.line,
						startColumn: isNumber(file.selection.start.column) ? file.selection.start.column : 1,
						endLineNumber: isNumber(file.selection.end.line) ? file.selection.end.line : undefined,
						endColumn: isNumber(file.selection.end.line) ? (isNumber(file.selection.end.column) ? file.selection.end.column : 1) : undefined,
					} : undefined;

					return {
						fileUri: URI.revive(file.uri),
						openOnlyIfExists: file.openOnlyIfExists,
						options: {
							selection: legacySelection,
							override: legacyOverride,
							...file.options // keep at the end to override legacy selection/override that may be `undefined`
						}
					};
				})
			};
		}

		// Then check for files to open, create or diff from main side
		const { filesToOpenOrCreate, filesToDiff } = this.environmentService;
		if (filesToOpenOrCreate || filesToDiff) {
			return { filesToOpenOrCreate, filesToDiff };
		}

		return undefined;
	}