src/vs/workbench/contrib/preferences/browser/settingsEditor2.ts/SettingsEditor2/layoutSplitView
class SettingsEditor2:	private layoutSplitView(dimension: DOM.Dimension): void {
		const listHeight = dimension.height - (72 + 11 + 14 /* header height + editor padding */);

		this.splitView.el.style.height = `${listHeight}px`;

		// We call layout first so the splitView has an idea of how much
		// space it has, otherwise setViewVisible results in the first panel
		// showing up at the minimum size whenever the Settings editor
		// opens for the first time.
		this.splitView.layout(this.bodyContainer.clientWidth, listHeight);

		const firstViewWasVisible = this.splitView.isViewVisible(0);
		const firstViewVisible = this.bodyContainer.clientWidth >= SettingsEditor2.NARROW_TOTAL_WIDTH;

		this.splitView.setViewVisible(0, firstViewVisible);
		// If the first view is again visible, and we have enough space, immediately set the
		// editor to use the reset width rather than the cached min width
		if (!firstViewWasVisible && firstViewVisible && this.bodyContainer.clientWidth >= SettingsEditor2.EDITOR_MIN_WIDTH + SettingsEditor2.TOC_RESET_WIDTH) {
			this.splitView.resizeView(0, SettingsEditor2.TOC_RESET_WIDTH);
		}
		this.splitView.style({
			separatorBorder: firstViewVisible ? this.theme.getColor(settingsSashBorder)! : Color.transparent
		});
	}