From 40ecea93e9ec15368df68d1bf795959a2f72f598 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Mon, 22 Jan 2024 16:27:42 +0100 Subject: [PATCH] debt - prevent simple code editors in results (#203019) Co-authored-by: Johannes Rieken --- .../workbench/contrib/files/browser/fileCommands.ts | 2 +- .../services/dialogs/browser/fileDialogService.ts | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/vs/workbench/contrib/files/browser/fileCommands.ts b/src/vs/workbench/contrib/files/browser/fileCommands.ts index 434d8623aca..6fa04545a0e 100644 --- a/src/vs/workbench/contrib/files/browser/fileCommands.ts +++ b/src/vs/workbench/contrib/files/browser/fileCommands.ts @@ -414,7 +414,7 @@ async function saveSelectedEditors(accessor: ServicesAccessor, options?: ISaveEd // find it in our text file models. Currently, only textual editors // support embedded editors. const focusedCodeEditor = codeEditorService.getFocusedCodeEditor(); - if (focusedCodeEditor instanceof EmbeddedCodeEditorWidget) { + if (focusedCodeEditor instanceof EmbeddedCodeEditorWidget && !focusedCodeEditor.isSimpleWidget) { const resource = focusedCodeEditor.getModel()?.uri; // Check that the resource of the model was not saved already diff --git a/src/vs/workbench/services/dialogs/browser/fileDialogService.ts b/src/vs/workbench/services/dialogs/browser/fileDialogService.ts index aa590e8a240..c55daa6fdc3 100644 --- a/src/vs/workbench/services/dialogs/browser/fileDialogService.ts +++ b/src/vs/workbench/services/dialogs/browser/fileDialogService.ts @@ -19,6 +19,7 @@ import { VSBuffer } from 'vs/base/common/buffer'; import { extractFileListData } from 'vs/platform/dnd/browser/dnd'; import { Iterable } from 'vs/base/common/iterator'; import { WebFileSystemAccess } from 'vs/platform/files/browser/webFileSystemAccess'; +import { EmbeddedCodeEditorWidget } from 'vs/editor/browser/widget/embeddedCodeEditorWidget'; export class FileDialogService extends AbstractFileDialogService implements IFileDialogService { @@ -217,10 +218,13 @@ export class FileDialogService extends AbstractFileDialogService implements IFil // When saving, try to just download the contents // of the active text editor if any as a workaround if (context === 'save') { - const activeTextModel = this.codeEditorService.getActiveCodeEditor()?.getModel(); - if (activeTextModel) { - triggerDownload(VSBuffer.fromString(activeTextModel.getValue()).buffer, basename(activeTextModel.uri)); - return; + const activeCodeEditor = this.codeEditorService.getActiveCodeEditor(); + if (!(activeCodeEditor instanceof EmbeddedCodeEditorWidget)) { + const activeTextModel = activeCodeEditor?.getModel(); + if (activeTextModel) { + triggerDownload(VSBuffer.fromString(activeTextModel.getValue()).buffer, basename(activeTextModel.uri)); + return; + } } }