src/vs/workbench/browser/parts/editor/tabsTitleControl.ts/TabsTitleControl/moveEditor
class TabsTitleControl:	moveEditor(editor: EditorInput, fromIndex: number, targetIndex: number): void {

		// Move the editor label
		const editorLabel = this.tabLabels[fromIndex];
		this.tabLabels.splice(fromIndex, 1);
		this.tabLabels.splice(targetIndex, 0, editorLabel);

		// Redraw tabs in the range of the move
		this.forEachTab((editor, index, tabContainer, tabLabelWidget, tabLabel, tabActionBar) => {
			this.redrawTab(editor, index, tabContainer, tabLabelWidget, tabLabel, tabActionBar);
		},
			Math.min(fromIndex, targetIndex), 	// from: smallest of fromIndex/targetIndex
			Math.max(fromIndex, targetIndex)	//   to: largest of fromIndex/targetIndex
		);

		// Moving an editor requires a layout to keep the active editor visible
		this.layout(this.dimensions, { forceRevealActiveTab: true });
	}