@opensumi/ide-outline 2.22.10 → 2.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"outline-model.service.js","sourceRoot":"","sources":["../../../src/browser/services/outline-model.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outline-model.service.js","sourceRoot":"","sources":["../../../src/browser/services/outline-model.service.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,9 @@ export declare class OutlineTreeService extends Tree {
18
18
  constructor();
19
19
  init(): Promise<void>;
20
20
  get whenReady(): Promise<void>;
21
+ /**
22
+ * trigger when outline tree changed(include sortType, followCursor changed)
23
+ */
21
24
  get onDidChange(): Event<void>;
22
25
  get currentUri(): MaybeNull<URI>;
23
26
  set currentUri(value: MaybeNull<URI>);
@@ -1 +1 @@
1
- {"version":3,"file":"outline-tree.service.d.ts","sourceRoot":"","sources":["../../../src/browser/services/outline-tree.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EACL,GAAG,EAEH,SAAS,EAIT,KAAK,EAIN,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,yBAAyB,EAC1B,MAAM,6DAA6D,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIhG,qBACa,kBAAmB,SAAQ,IAAI;IAE1C,OAAO,CAAC,mBAAmB,CAAsB;IAGjD,OAAO,CAAC,wBAAwB,CAA2B;IAG3D,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuF;IAChH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsE;IAExG,OAAO,CAAC,SAAS,CAAiD;IAClE,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,WAAW,CAAiB;IAEpC,OAAO,CAAC,kBAAkB,CAAgC;IAE1D,OAAO,CAAC,UAAU,CAAgB;IAElC,OAAO,CAAC,eAAe,CAAW;;IAO5B,IAAI;IAQV,IAAI,SAAS,kBAEZ;IAED,IAAI,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,CAE7B;IAED,IAAI,UAAU,IAIQ,SAAS,CAAC,GAAG,CAAC,CAFnC;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAEnC;IAED,IAAI,YAAY,IAIQ,OAAO,CAF9B;IAED,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,EAQ9B;IAED,IAAI,QAAQ,IAIO,gBAAgB,CAFlC;IAED,IAAI,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAQlC;IAEK,eAAe,CACnB,MAAM,CAAC,EAAE,wBAAwB,GAChC,OAAO,CAAC,CAAC,wBAAwB,GAAG,WAAW,GAAG,eAAe,CAAC,EAAE,CAAC;IAoCxE,OAAO,CAAC,UAAU;IASlB,mBAAmB,CAAC,MAAM,EAAE,yBAAyB;IAOrD,cAAc,MAAO,4BAA4B,KAAK,4BAA4B,YAiBhF;CACH"}
1
+ {"version":3,"file":"outline-tree.service.d.ts","sourceRoot":"","sources":["../../../src/browser/services/outline-tree.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EACL,GAAG,EAEH,SAAS,EAIT,KAAK,EAIN,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,yBAAyB,EAC1B,MAAM,6DAA6D,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIhG,qBACa,kBAAmB,SAAQ,IAAI;IAE1C,OAAO,CAAC,mBAAmB,CAAsB;IAGjD,OAAO,CAAC,wBAAwB,CAA2B;IAG3D,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuF;IAChH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsE;IAExG,OAAO,CAAC,SAAS,CAAiD;IAClE,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,WAAW,CAAiB;IAEpC,OAAO,CAAC,kBAAkB,CAAgC;IAE1D,OAAO,CAAC,UAAU,CAAgB;IAElC,OAAO,CAAC,eAAe,CAAW;;IAO5B,IAAI;IAQV,IAAI,SAAS,kBAEZ;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,CAE7B;IAED,IAAI,UAAU,IAIQ,SAAS,CAAC,GAAG,CAAC,CAFnC;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAEnC;IAED,IAAI,YAAY,IAIQ,OAAO,CAF9B;IAED,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,EAQ9B;IAED,IAAI,QAAQ,IAIO,gBAAgB,CAFlC;IAED,IAAI,QAAQ,CAAC,IAAI,EAAE,gBAAgB,EAQlC;IAEK,eAAe,CACnB,MAAM,CAAC,EAAE,wBAAwB,GAChC,OAAO,CAAC,CAAC,wBAAwB,GAAG,WAAW,GAAG,eAAe,CAAC,EAAE,CAAC;IAmCxE,OAAO,CAAC,UAAU;IASlB,mBAAmB,CAAC,MAAM,EAAE,yBAAyB;IAOrD,cAAc,MAAO,4BAA4B,KAAK,4BAA4B,YAiBhF;CACH"}
@@ -43,6 +43,9 @@ let OutlineTreeService = class OutlineTreeService extends ide_components_1.Tree
43
43
  get whenReady() {
44
44
  return this._whenReady;
45
45
  }
46
+ /**
47
+ * trigger when outline tree changed(include sortType, followCursor changed)
48
+ */
46
49
  get onDidChange() {
47
50
  return this.onDidChangeEmitter.event;
48
51
  }
@@ -101,7 +104,6 @@ let OutlineTreeService = class OutlineTreeService extends ide_components_1.Tree
101
104
  children =
102
105
  ((_a = parent.raw.children) === null || _a === void 0 ? void 0 : _a.map((symbol) => {
103
106
  var _a;
104
- const cache = this.cacheOutlineNodes.get(symbol.id);
105
107
  if ((_a = symbol.children) === null || _a === void 0 ? void 0 : _a.length) {
106
108
  return new outline_node_define_1.OutlineCompositeTreeNode(this, parent, symbol, (0, ide_core_browser_1.getSymbolIcon)(symbol.kind) + ' outline-icon');
107
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"outline-tree.service.js","sourceRoot":"","sources":["../../../src/browser/services/outline-tree.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outline-tree.service.js","sourceRoot":"","sources":["../../../src/browser/services/outline-tree.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensumi/ide-outline",
3
- "version": "2.22.10",
3
+ "version": "2.23.0",
4
4
  "files": [
5
5
  "lib",
6
6
  "src"
@@ -17,14 +17,14 @@
17
17
  "url": "git@github.com:opensumi/core.git"
18
18
  },
19
19
  "devDependencies": {
20
- "@opensumi/ide-components": "2.22.10",
21
- "@opensumi/ide-core-browser": "2.22.10",
22
- "@opensumi/ide-core-common": "2.22.10",
20
+ "@opensumi/ide-components": "2.23.0",
21
+ "@opensumi/ide-core-browser": "2.23.0",
22
+ "@opensumi/ide-core-common": "2.23.0",
23
23
  "@opensumi/ide-dev-tool": "1.3.1",
24
- "@opensumi/ide-editor": "2.22.10",
25
- "@opensumi/ide-explorer": "2.22.10",
26
- "@opensumi/ide-main-layout": "2.22.10",
27
- "@opensumi/ide-theme": "2.22.10"
24
+ "@opensumi/ide-editor": "2.23.0",
25
+ "@opensumi/ide-explorer": "2.23.0",
26
+ "@opensumi/ide-main-layout": "2.23.0",
27
+ "@opensumi/ide-theme": "2.23.0"
28
28
  },
29
- "gitHead": "93351a388ce5e0f469ed1c3964e728784eb3955f"
29
+ "gitHead": "5d8e4fcf717531446c838d142f7601699fd50d0f"
30
30
  }
@@ -63,7 +63,7 @@ export const OutlineNode: React.FC<OutlineNodeRenderedProps> = ({
63
63
  };
64
64
 
65
65
  const paddingLeft = `${
66
- defaultLeftPadding + (item.depth || 0) * (leftPadding || 0) + (!OutlineCompositeTreeNode.is(item) ? 16 : 0)
66
+ defaultLeftPadding + (item.depth || 0) * (leftPadding || 0) + (!OutlineCompositeTreeNode.is(item) ? 12 : 0)
67
67
  }px`;
68
68
 
69
69
  const editorNodeStyle = {
@@ -63,7 +63,6 @@ export class OutlineContribution implements MainLayoutContribution, TabBarToolba
63
63
  {
64
64
  id: OUTLINE_COMMANDS.OUTLINE_FOLLOW_CURSOR.id,
65
65
  iconClass: getIcon('follow-cursor'),
66
- toogleIconClass: getIcon('follow-cursor', { fill: true }),
67
66
  label: localize('outline.follow.cursor'),
68
67
  },
69
68
  {
@@ -1,3 +1,4 @@
1
+ import debounce from 'lodash/debounce';
1
2
  import React, {
2
3
  PropsWithChildren,
3
4
  useCallback,
@@ -12,6 +13,7 @@ import React, {
12
13
  import { RecycleTree, IRecycleTreeHandle, INodeRendererWrapProps, TreeNodeType } from '@opensumi/ide-components';
13
14
  import { ViewState } from '@opensumi/ide-core-browser';
14
15
  import { localize } from '@opensumi/ide-core-browser';
16
+ import { Progress } from '@opensumi/ide-core-browser/lib/progress/progress-bar';
15
17
  import { useInjectable } from '@opensumi/ide-core-browser/lib/react-hooks';
16
18
 
17
19
  import { OUTLINE_TREE_NODE_HEIGHT, OutlineNode } from './outline-node';
@@ -21,19 +23,17 @@ import { OutlineTreeModel } from './services/outline-model';
21
23
  import { OutlineModelService } from './services/outline-model.service';
22
24
 
23
25
  export const OutlinePanel = ({ viewState }: PropsWithChildren<{ viewState: ViewState }>) => {
24
- const [model, setModel] = useState<OutlineTreeModel | undefined>();
25
-
26
26
  const { height } = viewState;
27
27
 
28
28
  const wrapperRef: RefObject<HTMLDivElement> = createRef();
29
29
 
30
30
  const outlineModelService = useInjectable<OutlineModelService>(OutlineModelService);
31
+ const [model, setModel] = useState<OutlineTreeModel | undefined>(undefined);
31
32
 
32
33
  const handleTreeReady = useCallback(
33
34
  (handle: IRecycleTreeHandle) => {
34
35
  outlineModelService.handleTreeHandler({
35
36
  ...handle,
36
- getModel: () => outlineModelService.treeModel,
37
37
  hasDirectFocus: () => wrapperRef.current === document.activeElement,
38
38
  });
39
39
  },
@@ -95,9 +95,32 @@ export const OutlinePanel = ({ viewState }: PropsWithChildren<{ viewState: ViewS
95
95
  };
96
96
  }, [wrapperRef.current]);
97
97
 
98
+ const [loadingState, setLoadingState] = React.useState(false);
99
+ const loading = React.useMemo(() => loadingState, [loadingState]);
100
+
101
+ useEffect(() => {
102
+ const disposable1 = outlineModelService.onLoadingStateChange(
103
+ debounce(
104
+ (current) => {
105
+ setLoadingState((previous) => (previous !== current ? current : previous));
106
+ },
107
+ 16 * 5,
108
+ {
109
+ leading: true,
110
+ },
111
+ ),
112
+ );
113
+
114
+ return () => {
115
+ disposable1.dispose();
116
+ };
117
+ }, [setLoadingState]);
118
+
98
119
  return (
99
120
  <div className={styles.outline_container} tabIndex={-1} ref={wrapperRef} onClick={handleOuterClick}>
121
+ <Progress loading={loading} />
100
122
  <OutlineTreeView
123
+ loading={loading}
101
124
  height={height}
102
125
  model={model}
103
126
  onItemClick={handleItemClicked}
@@ -110,6 +133,7 @@ export const OutlinePanel = ({ viewState }: PropsWithChildren<{ viewState: ViewS
110
133
 
111
134
  interface IOutlineTreeViewProps {
112
135
  height: number;
136
+ loading: boolean;
113
137
  model?: OutlineTreeModel;
114
138
  onDidTreeReady(handle: IRecycleTreeHandle): void;
115
139
  onItemClick(ev: MouseEvent, item: OutlineTreeNode | OutlineCompositeTreeNode, type: TreeNodeType): void;
@@ -117,7 +141,7 @@ interface IOutlineTreeViewProps {
117
141
  }
118
142
 
119
143
  export const OutlineTreeView = memo(
120
- ({ height, model, onItemClick, onTwistierClick, onDidTreeReady }: IOutlineTreeViewProps) => {
144
+ ({ height, model, onItemClick, onTwistierClick, onDidTreeReady, loading }: IOutlineTreeViewProps) => {
121
145
  const outlineModelService = useInjectable<OutlineModelService>(OutlineModelService);
122
146
  const { decorationService, commandService } = outlineModelService;
123
147
 
@@ -139,7 +163,11 @@ export const OutlineTreeView = memo(
139
163
  );
140
164
 
141
165
  if (!model) {
142
- return <span className={styles.outline_empty_text}>{localize('outline.noinfo')}</span>;
166
+ return (
167
+ <span className={styles.outline_empty_text}>
168
+ {loading ? localize('common.loading') : localize('outline.nomodel')}
169
+ </span>
170
+ );
143
171
  } else {
144
172
  return (
145
173
  <RecycleTree
@@ -3,6 +3,9 @@ import { Emitter, WithEventBus, OnEvent, URI, Event } from '@opensumi/ide-core-b
3
3
  import { IResource, IEditorGroup } from '@opensumi/ide-editor';
4
4
  import { EditorActiveResourceStateChangedEvent, EditorSelectionChangeEvent } from '@opensumi/ide-editor/lib/browser';
5
5
  import { DocumentSymbolChangedEvent } from '@opensumi/ide-editor/lib/browser/breadcrumb/document-symbol';
6
+ import { ViewCollapseChangedEvent } from '@opensumi/ide-main-layout';
7
+
8
+ import { OUTLINE_VIEW_ID } from '../../common/index';
6
9
 
7
10
  export type OpenedEditorData = IEditorGroup | IResource;
8
11
  export interface OpenedEditorEvent {
@@ -12,25 +15,35 @@ export interface OpenedEditorEvent {
12
15
 
13
16
  @Injectable()
14
17
  export class OutlineEventService extends WithEventBus {
15
- private _onDidChange: Emitter<URI | null> = new Emitter();
18
+ private _onDidDocumentSymbolChange: Emitter<URI | null> = new Emitter();
16
19
  private _onDidSelectionChange: Emitter<URI | null> = new Emitter();
17
- private _onDidActiveChange: Emitter<URI | null> = new Emitter();
18
20
 
21
+ private _onDidEditorActiveResourceStateChange: Emitter<URI | null> = new Emitter();
22
+ private _onDidViewCollapseChange: Emitter<boolean> = new Emitter();
23
+
24
+ /**
25
+ * on did document symbol changed
26
+ */
19
27
  get onDidChange(): Event<URI | null> {
20
- return this._onDidChange.event;
28
+ return this._onDidDocumentSymbolChange.event;
21
29
  }
22
-
30
+ /**
31
+ * on did editor active resource state changed
32
+ */
23
33
  get onDidActiveChange(): Event<URI | null> {
24
- return this._onDidActiveChange.event;
34
+ return this._onDidEditorActiveResourceStateChange.event;
25
35
  }
26
36
 
27
37
  get onDidSelectionChange(): Event<URI | null> {
28
38
  return this._onDidSelectionChange.event;
29
39
  }
40
+ get onDidViewCollapseChange(): Event<boolean> {
41
+ return this._onDidViewCollapseChange.event;
42
+ }
30
43
 
31
44
  @OnEvent(EditorActiveResourceStateChangedEvent)
32
45
  onEditorActiveResourceStateChangedEvent(e: EditorActiveResourceStateChangedEvent) {
33
- this._onDidActiveChange.fire(e.payload.editorUri!);
46
+ this._onDidEditorActiveResourceStateChange.fire(e.payload.editorUri!);
34
47
  }
35
48
 
36
49
  @OnEvent(EditorSelectionChangeEvent)
@@ -40,6 +53,13 @@ export class OutlineEventService extends WithEventBus {
40
53
 
41
54
  @OnEvent(DocumentSymbolChangedEvent)
42
55
  onDocumentSymbolChange(e: DocumentSymbolChangedEvent) {
43
- this._onDidChange.fire(e.payload);
56
+ this._onDidDocumentSymbolChange.fire(e.payload);
57
+ }
58
+
59
+ @OnEvent(ViewCollapseChangedEvent)
60
+ onViewCollapseChangedEvent(e: ViewCollapseChangedEvent) {
61
+ if (e.payload.viewId === OUTLINE_VIEW_ID) {
62
+ this._onDidViewCollapseChange.fire(e.payload.collapsed);
63
+ }
44
64
  }
45
65
  }
@@ -15,6 +15,9 @@ import {
15
15
  ThrottledDelayer,
16
16
  path,
17
17
  pSeries,
18
+ LRUMap,
19
+ DisposableMap,
20
+ ILogger,
18
21
  } from '@opensumi/ide-core-browser';
19
22
  import { WorkbenchEditorService } from '@opensumi/ide-editor/lib/browser';
20
23
  import {
@@ -47,6 +50,9 @@ export class OutlineModelService {
47
50
  @Autowired(INJECTOR_TOKEN)
48
51
  private readonly injector: Injector;
49
52
 
53
+ @Autowired(ILogger)
54
+ private readonly logger: ILogger;
55
+
50
56
  @Autowired(OutlineTreeService)
51
57
  private readonly outlineTreeService: OutlineTreeService;
52
58
 
@@ -71,10 +77,13 @@ export class OutlineModelService {
71
77
  @Autowired(IMainLayoutService)
72
78
  private readonly mainLayoutService: IMainLayoutService;
73
79
 
74
- private _activeTreeModel: OutlineTreeModel;
75
- private _allTreeModels: Map<string, { treeModel: OutlineTreeModel; decoration: DecorationsManager }> = new Map();
80
+ private _activeTreeModel: OutlineTreeModel | undefined;
81
+ private _allTreeModels: LRUMap<string, { treeModel: OutlineTreeModel; decoration: DecorationsManager }> = new LRUMap(
82
+ 100,
83
+ 80,
84
+ );
85
+ private _treeModelDisposeMap = new DisposableMap();
76
86
  private _whenInitTreeModelReady: Promise<void>;
77
- private _whenActiveChangeDeferred: Deferred<void> | null;
78
87
 
79
88
  private _whenReady: Promise<void>;
80
89
 
@@ -95,6 +104,7 @@ export class OutlineModelService {
95
104
  private disposableCollection: DisposableCollection = new DisposableCollection();
96
105
 
97
106
  private onDidRefreshedEmitter: Emitter<void> = new Emitter();
107
+ private onLoadingStateChangedEmitter: Emitter<boolean> = new Emitter();
98
108
  private onDidUpdateTreeModelEmitter: Emitter<OutlineTreeModel | undefined> = new Emitter();
99
109
 
100
110
  private _ignoreFollowCursorUpdateEventTimer = 0;
@@ -135,7 +145,9 @@ export class OutlineModelService {
135
145
  get selectedNodes() {
136
146
  return this._selectedNodes;
137
147
  }
138
-
148
+ get onLoadingStateChange(): Event<boolean> {
149
+ return this.onLoadingStateChangedEmitter.event;
150
+ }
139
151
  get onDidRefreshed(): Event<void> {
140
152
  return this.onDidRefreshedEmitter.event;
141
153
  }
@@ -144,10 +156,6 @@ export class OutlineModelService {
144
156
  return this.onDidUpdateTreeModelEmitter.event;
145
157
  }
146
158
 
147
- get whenActiveChangeReady() {
148
- return this._whenActiveChangeDeferred?.promise;
149
- }
150
-
151
159
  get whenInitTreeModelReady() {
152
160
  return this._whenInitTreeModelReady;
153
161
  }
@@ -156,50 +164,69 @@ export class OutlineModelService {
156
164
  return this.refreshDeferred?.promise;
157
165
  }
158
166
 
159
- async initTreeModelByCurrentUri(uri?: URI | null) {
160
- await this.outlineTreeService.whenReady;
161
- // 等待上一次刷新完成
162
- await this.refreshDeferred?.promise;
163
- this.outlineTreeService.currentUri = uri;
164
- if (!!uri && this._allTreeModels.has(uri.toString())) {
165
- const treeModelStore = this._allTreeModels.get(uri.toString());
166
- // 初始化节点装饰器
167
- this._activeTreeModel = treeModelStore!.treeModel;
168
- this._decorations = treeModelStore!.decoration;
169
- this.onDidUpdateTreeModelEmitter.fire(this._activeTreeModel);
170
- } else if (uri) {
171
- // 根据是否为多工作区创建不同根节点
167
+ private setTreeModel(treeModel?: OutlineTreeModel) {
168
+ this._activeTreeModel = treeModel;
169
+ this.onDidUpdateTreeModelEmitter.fire(this._activeTreeModel);
170
+ }
171
+
172
+ private async doInitTreeModelByCurrentUri(uri?: URI | null) {
173
+ let treeModel: OutlineTreeModel | undefined;
174
+ if (uri) {
175
+ // FIXME: 根据是否为多工作区创建不同根节点
172
176
  const root = (await this.outlineTreeService.resolveChildren())[0];
173
177
  if (!root) {
178
+ this.logger.error(`init outline tree model error: cannot resolve ${uri} children`);
174
179
  return;
175
180
  }
176
- const treeModel = this.injector.get<any>(OutlineTreeModel, [root]);
181
+ treeModel = this.injector.get(OutlineTreeModel, [root]);
177
182
  await treeModel.ensureReady;
178
- this._activeTreeModel = treeModel;
179
183
  // 初始化节点装饰器
180
184
  const decoration = this.initDecorations(root);
181
- if (uri) {
182
- this._allTreeModels.set(uri?.toString(), {
183
- treeModel,
184
- decoration,
185
- });
185
+ if (this._allTreeModels.has(uri.toString())) {
186
+ this._allTreeModels.delete(uri.toString());
186
187
  }
188
+
189
+ this._allTreeModels.set(uri.toString(), {
190
+ treeModel,
191
+ decoration,
192
+ });
187
193
  this.disposableCollection.push(
194
+ this._allTreeModels.onKeyDidDelete(uri.toString(), ({ key }) => {
195
+ this._treeModelDisposeMap.disposeKey(key);
196
+ }),
197
+ );
198
+ this._treeModelDisposeMap.set(
199
+ uri.toString(),
188
200
  treeModel.onWillUpdate(() => {
189
201
  if (this.focusedNode) {
190
202
  // 更新树前更新下选中节点
191
- const node = treeModel?.root.getTreeNodeById(this.focusedNode.id);
203
+ const node = treeModel!.root.getTreeNodeById(this.focusedNode.id);
192
204
  this.activeNodeDecoration(node as OutlineTreeNode, false);
193
205
  } else if (this.selectedNodes.length !== 0) {
194
206
  // 仅处理一下单选情况
195
- const node = treeModel?.root.getTreeNodeById(this.selectedNodes[0].id);
207
+ const node = treeModel!.root.getTreeNodeById(this.selectedNodes[0].id);
196
208
  this.selectNodeDecoration(node as OutlineTreeNode, false);
197
209
  }
198
210
  }),
199
211
  );
200
- this.onDidUpdateTreeModelEmitter.fire(treeModel);
212
+ }
213
+ this.setTreeModel(treeModel);
214
+ return treeModel;
215
+ }
216
+
217
+ async initTreeModelByCurrentUri(uri?: URI | null) {
218
+ await this.outlineTreeService.whenReady;
219
+ // 等待上一次刷新完成
220
+ await this.refreshDeferred?.promise;
221
+
222
+ this.outlineTreeService.currentUri = uri;
223
+
224
+ if (uri && this._allTreeModels.has(uri.toString())) {
225
+ const treeModelStore = this._allTreeModels.get(uri.toString())!;
226
+ this._decorations = treeModelStore.decoration;
227
+ this.setTreeModel(treeModelStore.treeModel);
201
228
  } else {
202
- this.onDidUpdateTreeModelEmitter.fire(undefined);
229
+ await this.doInitTreeModelByCurrentUri(uri);
203
230
  }
204
231
  }
205
232
 
@@ -221,12 +248,10 @@ export class OutlineModelService {
221
248
 
222
249
  this.disposableCollection.push(
223
250
  this.outlineEventService.onDidActiveChange(async () => {
224
- if (!this._whenActiveChangeDeferred) {
225
- this._whenActiveChangeDeferred = new Deferred<void>();
226
- }
227
251
  if (!this.initTreeModelDelayer.isTriggered()) {
228
252
  this.initTreeModelDelayer.cancel();
229
253
  }
254
+ this.onLoadingStateChangedEmitter.fire(true);
230
255
  this.initTreeModelDelayer.trigger(async () => {
231
256
  await this._whenInitTreeModelReady;
232
257
  // 初始化时如果存在还未刷新的执行逻辑时,需要进行清理
@@ -235,8 +260,7 @@ export class OutlineModelService {
235
260
  }
236
261
  const uri = this.editorService.currentEditor?.currentUri;
237
262
  this._whenInitTreeModelReady = this.initTreeModelByCurrentUri(uri);
238
- this._whenActiveChangeDeferred?.resolve();
239
- this._whenActiveChangeDeferred = null;
263
+ this.onLoadingStateChangedEmitter.fire(false);
240
264
  });
241
265
  }),
242
266
  );
@@ -252,12 +276,21 @@ export class OutlineModelService {
252
276
  );
253
277
 
254
278
  this.disposableCollection.push(
255
- this.outlineEventService.onDidChange((url: URI | null) => {
256
- this.outlineTreeService.currentUri = this.editorService.currentEditor?.currentUri;
257
- this.refresh();
279
+ this.outlineEventService.onDidChange((uri: URI | null) => {
280
+ if (uri === this.editorService.currentEditor?.currentUri) {
281
+ // 因为刷新 children 那个函数不能传 currentUri,这里利用一下副作用
282
+ this.outlineTreeService.currentUri = this.editorService.currentEditor?.currentUri;
283
+ this.refresh();
284
+ }
285
+ }),
286
+ );
287
+ this.disposableCollection.push(
288
+ this.outlineEventService.onDidViewCollapseChange((collapsed) => {
289
+ if (!collapsed) {
290
+ this.refresh();
291
+ }
258
292
  }),
259
293
  );
260
-
261
294
  this.disposableCollection.push(
262
295
  this.outlineTreeService.onDidChange(() => {
263
296
  this.refresh();
@@ -484,16 +517,18 @@ export class OutlineModelService {
484
517
  * 刷新指定下的所有子节点
485
518
  */
486
519
  async refresh() {
487
- await this.whenActiveChangeReady;
520
+ this.onLoadingStateChangedEmitter.fire(true);
521
+
488
522
  await this.whenInitTreeModelReady;
489
523
  await this.whenRefreshReady;
490
524
 
491
525
  const node: OutlineRoot = this.treeModel?.root as OutlineRoot;
492
526
 
493
- if ((!node && this.editorService?.currentEditor?.currentUri) || !this.editorService?.currentEditor?.currentUri) {
527
+ if (!node || !this.editorService?.currentEditor?.currentUri) {
494
528
  // 1. 初次加载时可能还没有初始化Tree,主要原因在于没办法在outline加载时准确把握拿到currentEditor的时机
495
529
  // 2. 当前没有激活的URI时,需要情况当前的Tree
496
530
  this._whenInitTreeModelReady = this.initTreeModelByCurrentUri(this.editorService?.currentEditor?.currentUri);
531
+ this.onLoadingStateChangedEmitter.fire(false);
497
532
  return;
498
533
  }
499
534
 
@@ -508,6 +543,7 @@ export class OutlineModelService {
508
543
  this.refreshDeferred.resolve();
509
544
  this.refreshDeferred = null;
510
545
  }
546
+ this.onLoadingStateChangedEmitter.fire(false);
511
547
  return;
512
548
  }
513
549
  if (!this.refreshDeferred) {
@@ -515,23 +551,23 @@ export class OutlineModelService {
515
551
  }
516
552
  this.outlineTreeService.currentUri = this.editorService?.currentEditor?.currentUri;
517
553
  if (
518
- !!node.currentUri &&
519
- !!this.outlineTreeService.currentUri &&
554
+ node.currentUri &&
555
+ this.outlineTreeService.currentUri &&
520
556
  this.outlineTreeService.currentUri.isEqual(node.currentUri)
521
557
  ) {
522
558
  // 刷新前需要更新诊断信息数据
523
- this.decorationService.updateDiagnosisInfo(this.outlineTreeService.currentUri!);
559
+ this.decorationService.updateDiagnosisInfo(this.outlineTreeService.currentUri);
524
560
  // 因为Outline模块的节点是自展开的,不需要遍历
525
561
  await node.refresh();
526
562
  this.onDidRefreshedEmitter.fire();
527
563
  }
528
564
  this.refreshDeferred?.resolve();
529
565
  this.refreshDeferred = null;
566
+ this.onLoadingStateChangedEmitter.fire(false);
530
567
  });
531
568
  }
532
569
 
533
570
  public flushEventQueue = () => {
534
- let promise: Promise<any>;
535
571
  if (!this._changeEventDispatchQueue || this._changeEventDispatchQueue.length === 0) {
536
572
  return;
537
573
  }
@@ -548,9 +584,9 @@ export class OutlineModelService {
548
584
  roots.push(path);
549
585
  }
550
586
  }
551
- promise = pSeries(
587
+ const promise = pSeries(
552
588
  roots.map((path) => async () => {
553
- const watcher = this.treeModel.root?.watchEvents.get(path);
589
+ const watcher = this.treeModel?.root?.watchEvents.get(path);
554
590
  if (watcher && typeof watcher.callback === 'function') {
555
591
  await watcher.callback({ type: WatchEvent.Changed, path });
556
592
  }
@@ -580,5 +616,6 @@ export class OutlineModelService {
580
616
 
581
617
  dispose() {
582
618
  this.disposableCollection.dispose();
619
+ this._treeModelDisposeMap.dispose();
583
620
  }
584
621
  }
@@ -65,6 +65,9 @@ export class OutlineTreeService extends Tree {
65
65
  return this._whenReady;
66
66
  }
67
67
 
68
+ /**
69
+ * trigger when outline tree changed(include sortType, followCursor changed)
70
+ */
68
71
  get onDidChange(): Event<void> {
69
72
  return this.onDidChangeEmitter.event;
70
73
  }
@@ -130,7 +133,6 @@ export class OutlineTreeService extends Tree {
130
133
  children =
131
134
  parent.raw.children
132
135
  ?.map((symbol: INormalizedDocumentSymbol) => {
133
- const cache = this.cacheOutlineNodes.get(symbol.id);
134
136
  if (symbol.children?.length) {
135
137
  return new OutlineCompositeTreeNode(this, parent, symbol, getSymbolIcon(symbol.kind) + ' outline-icon');
136
138
  }