src/vs/workbench/contrib/files/browser/explorerViewlet.ts/ExplorerViewPaneContainer/createView
class ExplorerViewPaneContainer:	protected override createView(viewDescriptor: IViewDescriptor, options: IViewletViewOptions): ViewPane {
		if (viewDescriptor.id === VIEW_ID) {
			return this.instantiationService.createInstance(ExplorerView, options, {
				willOpenElement: e => {
					if (!(e instanceof MouseEvent)) {
						return; // only delay when user clicks
					}

					const openEditorsView = this.getOpenEditorsView();
					if (openEditorsView) {
						let delay = 0;

						const config = this.configurationService.getValue<IFilesConfiguration>();
						if (!!config.workbench?.editor?.enablePreview) {
							// delay open editors view when preview is enabled
							// to accomodate for the user doing a double click
							// to pin the editor.
							// without this delay a double click would be not
							// possible because the next element would move
							// under the mouse after the first click.
							delay = 250;
						}

						openEditorsView.setStructuralRefreshDelay(delay);
					}
				},
				didOpenElement: e => {
					if (!(e instanceof MouseEvent)) {
						return; // only delay when user clicks
					}

					const openEditorsView = this.getOpenEditorsView();
					openEditorsView?.setStructuralRefreshDelay(0);
				}
			});
		}
		return super.createView(viewDescriptor, options);
	}