Code change:
To be able to reach to the files presented in a multi diff text editor the tab model should provide a corresponding TabInput (see ) May be a good idea would be to have a general composite tab input. For the multi diff text editor the elements could then be
When you listen for tab changes the input of the tab is currently .
Not sure if this is or
Related:
Thanks!
Reopening to get API approval. I'm also not sure we will be able to expose the resources in multi diff This will probably complicate your use case. pointed out that the resources can change without changing the input and this is not something any of other inputs do making supporting showing the resources for this input quite difficult.
Can you verify? To verify please ensure that you see a type now for the multi diff text editor and it properly reacts to resource changes

Related discussion:
text: *  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ <del> import { DisposableStore } from 'vs/base/common/lifecycle'; import { ExtHostContext, IExtHostEditorTabsShape, MainContext, IEditorTabDto, IEditorTabGroupDto, MainThreadEditorTabsShape, AnyInputDto, TabInputKind, TabModelOperationKind, TextDiffInputDto } from 'vs/workbench/api/common/extHost.protocol'; import { extHostNamedCustomer, IExtHostContext } from 'vs/workbench/services/extensions/common/extHostCustomers'; </del> <ins> import { Event } from 'vs/base/common/event'; import { DisposableMap, DisposableStore } from 'vs/base/common/lifecycle'; import { isEqual } from 'vs/base/common/resources'; import { URI } from 'vs/base/common/uri'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { ILogService } from 'vs/platform/log/common/log'; import { AnyInputDto, ExtHostContext, IEditorTabDto, IEditorTabGroupDto, IExtHostEditorTabsShape, MainContext, MainThreadEditorTabsShape, TabInputKind, TabModelOperationKind, TextDiffInputDto } from 'vs/workbench/api/common/extHost.protocol'; </ins> import { EditorResourceAccessor, GroupModelChangeKind, SideBySideEditor } from 'vs/workbench/common/editor'; import { DiffEditorInput } from 'vs/workbench/common/editor/diffEditorInput'; <ins> import { isGroupEditorMoveEvent } from 'vs/workbench/common/editor/editorGroupModel'; </ins> import { EditorInput } from 'vs/workbench/common/editor/editorInput'; <del> import { columnToEditorGroup, EditorGroupColumn, editorGroupToColumn } from 'vs/workbench/services/editor/common/editorGroupColumn'; import { GroupDirection, IEditorGroup, IEditorGroupsService, preferredSideBySideGroupDirection } from 'vs/workbench/services/editor/common/editorGroupsService'; import { IEditorsChangeEvent, IEditorService, SIDE_GROUP } from 'vs/workbench/services/editor/common/editorService'; </del> <ins> import { SideBySideEditorInput } from 'vs/workbench/common/editor/sideBySideEditorInput'; </ins> import { AbstractTextResourceEditorInput } from 'vs/workbench/common/editor/textResourceEditorInput'; <del> import { NotebookEditorInput } from 'vs/workbench/contrib/notebook/common/notebookEditorInput'; </del> <ins> import { ChatEditorInput } from 'vs/workbench/contrib/chat/browser/chatEditorInput'; </ins> import { CustomEditorInput } from 'vs/workbench/contrib/customEditor/browser/customEditorInput'; <del> import { URI } from 'vs/base/common/uri'; import { WebviewInput } from 'vs/workbench/contrib/webviewPanel/browser/webviewEditorInput'; import { TerminalEditorInput } from 'vs/workbench/contrib/terminal/browser/terminalEditorInput'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { SideBySideEditorInput } from 'vs/workbench/common/editor/sideBySideEditorInput'; import { isEqual } from 'vs/base/common/resources'; import { isGroupEditorMoveEvent } from 'vs/workbench/common/editor/editorGroupModel'; </del> import { InteractiveEditorInput } from 'vs/workbench/contrib/interactive/browser/interactiveEditorInput'; import { MergeEditorInput } from 'vs/workbench/contrib/mergeEditor/browser/mergeEditorInput'; <del> import { ILogService } from 'vs/platform/log/common/log'; import { ChatEditorInput } from 'vs/workbench/contrib/chat/browser/chatEditorInput'; </del> import { MultiDiffEditorInput } from 'vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput'; <ins> import { NotebookEditorInput } from 'vs/workbench/contrib/notebook/common/notebookEditorInput'; import { TerminalEditorInput } from 'vs/workbench/contrib/terminal/browser/terminalEditorInput'; import { WebviewInput } from 'vs/workbench/contrib/webviewPanel/browser/webviewEditorInput'; import { columnToEditorGroup, EditorGroupColumn, editorGroupToColumn } from 'vs/workbench/services/editor/common/editorGroupColumn'; import { GroupDirection, IEditorGroup, IEditorGroupsService, preferredSideBySideGroupDirection } from 'vs/workbench/services/editor/common/editorGroupsService'; import { IEditorsChangeEvent, IEditorService, SIDE_GROUP } from 'vs/workbench/services/editor/common/editorService'; import { extHostNamedCustomer, IExtHostContext } from 'vs/workbench/services/extensions/common/extHostCustomers'; </ins> interface TabInfo { tab: IEditorTabDto;