提交 8e77e9f5 编写于 作者: J Jackson Kearl

Restore search editor names on reload

上级 0e19922e
...@@ -54,6 +54,7 @@ export class SearchEditorInput extends EditorInput { ...@@ -54,6 +54,7 @@ export class SearchEditorInput extends EditorInput {
private readonly model: Promise<ITextModel>; private readonly model: Promise<ITextModel>;
private resolvedModel?: { model: ITextModel, query: SearchConfiguration }; private resolvedModel?: { model: ITextModel, query: SearchConfiguration };
viewState: SearchEditorViewState = { focused: 'input' }; viewState: SearchEditorViewState = { focused: 'input' };
_restoredName: string | undefined;
constructor( constructor(
public readonly resource: URI, public readonly resource: URI,
...@@ -122,9 +123,10 @@ export class SearchEditorInput extends EditorInput { ...@@ -122,9 +123,10 @@ export class SearchEditorInput extends EditorInput {
getName(): string { getName(): string {
if (this.isUntitled()) { if (this.isUntitled()) {
return this.resolvedModel?.query.query return this._restoredName ??
? localize('searchTitle.withQuery', "Search: {0}", this.resolvedModel?.query.query) (this.resolvedModel?.query.query
: localize('searchTitle', "Search"); ? localize('searchTitle.withQuery', "Search: {0}", this.resolvedModel?.query.query)
: localize('searchTitle', "Search"));
} }
return localize('searchTitle.withQuery', "Search: {0}", basename(this.resource.path, '.code-search')); return localize('searchTitle.withQuery', "Search: {0}", basename(this.resource.path, '.code-search'));
...@@ -134,6 +136,7 @@ export class SearchEditorInput extends EditorInput { ...@@ -134,6 +136,7 @@ export class SearchEditorInput extends EditorInput {
const model = await this.model; const model = await this.model;
const query = extractSearchQuery(model); const query = extractSearchQuery(model);
this.resolvedModel = { model, query }; this.resolvedModel = { model, query };
this._restoredName = undefined; // not needed after the model has been resolved
this._onDidChangeLabel.fire(); this._onDidChangeLabel.fire();
return { model, query }; return { model, query };
} }
...@@ -274,14 +277,15 @@ export class SearchEditorInputFactory implements IEditorInputFactory { ...@@ -274,14 +277,15 @@ export class SearchEditorInputFactory implements IEditorInputFactory {
const config = input.getConfigSync(); const config = input.getConfigSync();
return JSON.stringify({ resource, dirty: input.isDirty(), config, viewState: input.viewState }); return JSON.stringify({ resource, dirty: input.isDirty(), config, viewState: input.viewState, name: input.getName() });
} }
deserialize(instantiationService: IInstantiationService, serializedEditorInput: string): SearchEditorInput | undefined { deserialize(instantiationService: IInstantiationService, serializedEditorInput: string): SearchEditorInput | undefined {
const { resource, dirty, config, viewState } = JSON.parse(serializedEditorInput); const { resource, dirty, config, viewState, name } = JSON.parse(serializedEditorInput);
if (config && (config.query !== undefined)) { if (config && (config.query !== undefined)) {
const input = instantiationService.invokeFunction(getOrMakeSearchEditorInput, { text: serializeSearchConfiguration(config), uri: URI.parse(resource) }); const input = instantiationService.invokeFunction(getOrMakeSearchEditorInput, { text: serializeSearchConfiguration(config), uri: URI.parse(resource) });
input.viewState = viewState; input.viewState = viewState;
input._restoredName = name;
input.setDirty(dirty); input.setDirty(dirty);
return input; return input;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册