@@ -5,8 +5,8 @@ import { URI } from '@ali/ide-core-common';
55import { join } from '@ali/ide-core-common/lib/path' ;
66import { equals } from '@ali/ide-core-common/lib/arrays' ;
77import { RuntimeConfig } from '@alipay/alex-core' ;
8-
9- import { EditorDocumentModelServiceImpl } from '@ali/ide-editor /lib/browser/doc-model/editor-document-model-service ' ;
8+ // internal patched
9+ import { disposeMode } from '@alipay/alex /lib/core/patch ' ;
1010
1111import { ConfigProvider } from 'antd' ;
1212
@@ -20,8 +20,6 @@ import { AntcodeService } from './modules/antcode-service';
2020import { WorkspaceManagerService } from './modules/workspace/workspace-loader.service' ;
2121
2222import { getLocale } from './utils/locale' ;
23- import { IEditorDocumentModelService } from '@ali/ide-editor/lib/browser' ;
24- import { EditorDocumentModel } from '@ali/ide-editor/lib/browser/doc-model/editor-document-model' ;
2523
2624import styles from './styles.module.less' ;
2725import { logPv } from './utils/tracert' ;
@@ -31,8 +29,6 @@ import { reportUserAccess } from './utils/monitor';
3129
3230const { version } = require ( '../package.json' ) ;
3331
34- let codeEditorService : any = null ;
35-
3632const AntcodeCR : React . FC < IAntcodeCRProps > = ( props ) => {
3733 const container$ = React . useRef < HTMLDivElement > ( null ) ;
3834 const injector$ = React . useRef < Injector > ( null ) ;
@@ -101,25 +97,10 @@ const AntcodeCR: React.FC<IAntcodeCRProps> = (props) => {
10197 return ( ) => {
10298 const realInjector = injector$ . current ;
10399 if ( realInjector ) {
104- // FIXME: 由于框架侧暂时没有实现 monaco model 的统一销毁,因此在集成侧处理掉
105- const editorDocModelService = realInjector . get (
106- IEditorDocumentModelService
107- ) as EditorDocumentModelServiceImpl ;
108- for ( const instance of Array . from (
109- editorDocModelService [ '_modelReferenceManager' ] . instances . values ( )
110- ) as EditorDocumentModel [ ] ) {
111- instance [ 'monacoModel' ] . dispose ( ) ;
112- }
100+ disposeMode ( ) ;
113101 realInjector . disposeAll ( ) ;
114102 }
115103 ReactDOM . unmountComponentAtNode ( container$ ! . current ! ) ;
116-
117- if ( codeEditorService ) {
118- // HACK: monaco StaticServices init 时会初始化一些服务,此处无法被 override
119- // 而 DynamicStandaloneServices 处有 ensure 能被 override,因此手动清除缓存,
120- // 避免 editor 再次 create 时引用的上一个 override 的服务
121- codeEditorService . _value = null ;
122- }
123104 } ;
124105 } , [ ] ) ;
125106
0 commit comments