提交 b0be0672 编写于 作者: J Jackson Kearl

Fix #91344.

上级 dbe62be3
......@@ -19,5 +19,6 @@ export const SelectAllSearchEditorMatchesCommandId = 'selectAllSearchEditorMatch
export const InSearchEditor = new RawContextKey<boolean>('inSearchEditor', false);
export const SearchEditorScheme = 'search-editor';
export const SearchEditorBodyScheme = 'search-editor-body';
export const SearchEditorFindMatchClass = 'seaarchEditorFindMatch';
......@@ -21,7 +21,6 @@ import { EditorDescriptor, Extensions as EditorExtensions, IEditorRegistry } fro
import { Extensions as ActionExtensions, IWorkbenchActionRegistry } from 'vs/workbench/common/actions';
import { Extensions as WorkbenchExtensions, IWorkbenchContribution, IWorkbenchContributionsRegistry } from 'vs/workbench/common/contributions';
import { Extensions as EditorInputExtensions, IEditorInputFactory, IEditorInputFactoryRegistry } from 'vs/workbench/common/editor';
import { FileEditorInput } from 'vs/workbench/contrib/files/common/editors/fileEditorInput';
import * as SearchConstants from 'vs/workbench/contrib/search/common/constants';
import * as SearchEditorConstants from 'vs/workbench/contrib/searchEditor/browser/constants';
import { SearchEditor } from 'vs/workbench/contrib/searchEditor/browser/searchEditor';
......@@ -30,6 +29,7 @@ import { getOrMakeSearchEditorInput, SearchEditorInput } from 'vs/workbench/cont
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
import { CommandsRegistry } from 'vs/platform/commands/common/commands';
import { ServicesAccessor } from 'vs/editor/browser/editorExtensions';
import { FileEditorInput } from 'vs/workbench/contrib/files/common/editors/fileEditorInput';
//#region Editor Descriptior
Registry.as<IEditorRegistry>(EditorExtensions.Editors).registerEditor(
......@@ -54,10 +54,15 @@ class SearchEditorContribution implements IWorkbenchContribution {
) {
this.editorService.overrideOpenEditor((editor, options, group) => {
const resource = editor.resource;
if (!resource ||
!(endsWith(resource.path, '.code-search') || resource.scheme === SearchEditorConstants.SearchEditorScheme) ||
!(editor instanceof FileEditorInput || (resource.scheme === SearchEditorConstants.SearchEditorScheme))) {
let resource = editor.resource;
if (!resource) { return undefined; }
if (resource.scheme === SearchEditorConstants.SearchEditorBodyScheme) {
resource = resource.with({ scheme: SearchEditorConstants.SearchEditorScheme });
}
if (resource.scheme !== SearchEditorConstants.SearchEditorScheme
&& !(endsWith(resource.path, '.code-search') && editor instanceof FileEditorInput)) {
return undefined;
}
......
......@@ -18,7 +18,7 @@ import { IFileDialogService } from 'vs/platform/dialogs/common/dialogs';
import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { EditorInput, GroupIdentifier, IEditorInput, IRevertOptions, ISaveOptions, IMoveResult } from 'vs/workbench/common/editor';
import { SearchEditorFindMatchClass, SearchEditorScheme } from 'vs/workbench/contrib/searchEditor/browser/constants';
import { SearchEditorFindMatchClass, SearchEditorScheme, SearchEditorBodyScheme } from 'vs/workbench/contrib/searchEditor/browser/constants';
import { extractSearchQuery, serializeSearchConfiguration } from 'vs/workbench/contrib/searchEditor/browser/searchEditorSerialization';
import { IBackupFileService } from 'vs/workbench/services/backup/common/backup';
import { IEditorGroupsService } from 'vs/workbench/services/editor/common/editorGroupsService';
......@@ -339,7 +339,7 @@ export const getOrMakeSearchEditorInput = (
}
}
const contentsModelURI = uri.with({ scheme: 'search-editor-body' });
const contentsModelURI = uri.with({ scheme: SearchEditorBodyScheme });
const headerModelURI = uri.with({ scheme: 'search-editor-header' });
const contentsModel = modelService.getModel(contentsModelURI) ?? modelService.createModel('', modeService.create('search-result'), contentsModelURI);
const headerModel = modelService.getModel(headerModelURI) ?? modelService.createModel('', modeService.create('search-result'), headerModelURI);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册