提交 92b85fe7 编写于 作者: I isidor

debug: do not dispose of internal module models on session end

fixes #22741
上级 06ba86f4
......@@ -3,7 +3,6 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as lifecycle from 'vs/base/common/lifecycle';
import uri from 'vs/base/common/uri';
import * as paths from 'vs/base/common/paths';
import { localize } from 'vs/nls';
......@@ -14,12 +13,10 @@ import { IModelService } from 'vs/editor/common/services/modelService';
import { IModeService } from 'vs/editor/common/services/modeService';
import { ITextModelResolverService, ITextModelContentProvider } from 'vs/editor/common/services/resolverService';
import { IWorkbenchContribution } from 'vs/workbench/common/contributions';
import { DEBUG_SCHEME, IDebugService, State } from 'vs/workbench/parts/debug/common/debug';
import { DEBUG_SCHEME, IDebugService } from 'vs/workbench/parts/debug/common/debug';
export class DebugContentProvider implements IWorkbenchContribution, ITextModelContentProvider {
private modelsToDispose: IModel[];
constructor(
@ITextModelResolverService textModelResolverService: ITextModelResolverService,
@IDebugService private debugService: IDebugService,
......@@ -27,12 +24,6 @@ export class DebugContentProvider implements IWorkbenchContribution, ITextModelC
@IModeService private modeService: IModeService
) {
textModelResolverService.registerTextModelContentProvider(DEBUG_SCHEME, this);
this.modelsToDispose = [];
this.debugService.onDidChangeState(state => {
if (state === State.Inactive) {
this.modelsToDispose = lifecycle.dispose(this.modelsToDispose);
}
});
}
public getId(): string {
......@@ -52,7 +43,6 @@ export class DebugContentProvider implements IWorkbenchContribution, ITextModelC
const mime = response.body.mimeType || guessMimeTypes(resource.toString())[0];
const modePromise = this.modeService.getOrCreateMode(mime);
const model = this.modelService.createModel(response.body.content, modePromise, resource);
this.modelsToDispose.push(model);
return model;
}, (err: DebugProtocol.ErrorResponse) => {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册