src/vs/workbench/browser/parts/editor/textDiffEditor.ts/TextDiffEditor/openAsBinary
class TextDiffEditor:	private openAsBinary(input: DiffEditorInput, options: ITextEditorOptions | undefined): void {
		const originalInput = input.originalInput;
		const modifiedInput = input.modifiedInput;

		const binaryDiffInput = this.instantiationService.createInstance(DiffEditorInput, input.getName(), input.getDescription(), originalInput, modifiedInput, true);

		// Forward binary flag to input if supported
		const fileEditorInputFactory = Registry.as<IEditorInputFactoryRegistry>(EditorExtensions.EditorInputFactories).getFileEditorInputFactory();
		if (fileEditorInputFactory.isFileEditorInput(originalInput)) {
			originalInput.setForceOpenAsBinary();
		}

		if (fileEditorInputFactory.isFileEditorInput(modifiedInput)) {
			modifiedInput.setForceOpenAsBinary();
		}

		// Replace this editor with the binary one
		this.editorService.replaceEditors([{
			editor: input,
			replacement: binaryDiffInput,
			options: {
				...options,
				// Make sure to not steal away the currently active group
				// because we are triggering another openEditor() call
				// and do not control the initial intent that resulted
				// in us now opening as binary.
				activation: EditorActivation.PRESERVE,
				pinned: this.group?.isPinned(input),
				sticky: this.group?.isSticky(input)
			}
		}], this.group || ACTIVE_GROUP);
	}