@opensumi/ide-debug 2.21.9-rc-1671176957.0 → 2.21.9

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.
Files changed (182) hide show
  1. package/lib/browser/debug-configuration-manager.js +1 -1
  2. package/lib/browser/debug-configuration-manager.js.map +1 -1
  3. package/lib/browser/debug-session-manager.js +1 -1
  4. package/lib/browser/debug-session-manager.js.map +1 -1
  5. package/lib/browser/debug-session.d.ts.map +1 -1
  6. package/lib/browser/debug-session.js +1 -5
  7. package/lib/browser/debug-session.js.map +1 -1
  8. package/lib/browser/index.d.ts.map +1 -1
  9. package/lib/browser/index.js +9 -2
  10. package/lib/browser/index.js.map +1 -1
  11. package/lib/browser/preferences/launch-folder-preference-provider.d.ts +2 -2
  12. package/lib/browser/preferences/launch-folder-preference-provider.d.ts.map +1 -1
  13. package/lib/browser/preferences/launch-folder-preference-provider.js +2 -2
  14. package/lib/browser/preferences/launch-folder-preference-provider.js.map +1 -1
  15. package/lib/browser/view/configuration/debug-configuration.module.less +5 -5
  16. package/lib/browser/view/configuration/debug-configuration.view.d.ts.map +1 -1
  17. package/lib/browser/view/configuration/debug-configuration.view.js +1 -1
  18. package/lib/browser/view/configuration/debug-configuration.view.js.map +1 -1
  19. package/lib/browser/view/configuration/debug-toolbar.view.js +2 -2
  20. package/lib/browser/view/configuration/debug-toolbar.view.js.map +1 -1
  21. package/lib/browser/view/console/debug-console.module.less +1 -2
  22. package/lib/browser/view/console/debug-console.view.js +2 -2
  23. package/lib/browser/view/console/debug-console.view.js.map +1 -1
  24. package/lib/browser/view/frames/debug-call-stack-frame.view.d.ts.map +1 -1
  25. package/lib/browser/view/frames/debug-call-stack-frame.view.js +24 -32
  26. package/lib/browser/view/frames/debug-call-stack-frame.view.js.map +1 -1
  27. package/lib/browser/view/frames/debug-call-stack-session.view.d.ts.map +1 -1
  28. package/lib/browser/view/frames/debug-call-stack-session.view.js +5 -8
  29. package/lib/browser/view/frames/debug-call-stack-session.view.js.map +1 -1
  30. package/lib/browser/view/frames/debug-call-stack-thread.view.d.ts.map +1 -1
  31. package/lib/browser/view/frames/debug-call-stack-thread.view.js +7 -12
  32. package/lib/browser/view/frames/debug-call-stack-thread.view.js.map +1 -1
  33. package/lib/browser/view/variables/debug-variables.module.less +1 -2
  34. package/lib/browser/view/variables/debug-variables.view.js +1 -1
  35. package/lib/browser/view/variables/debug-variables.view.js.map +1 -1
  36. package/lib/browser/view/watch/debug-watch.module.less +1 -2
  37. package/lib/browser/view/watch/debug-watch.view.js +1 -1
  38. package/lib/browser/view/watch/debug-watch.view.js.map +1 -1
  39. package/package.json +24 -25
  40. package/src/browser/assets/breakpoint-conditional-disabled.svg +0 -4
  41. package/src/browser/assets/breakpoint-conditional-unverified.svg +0 -4
  42. package/src/browser/assets/breakpoint-conditional.svg +0 -4
  43. package/src/browser/assets/breakpoint-disabled.svg +0 -4
  44. package/src/browser/assets/breakpoint-hint.svg +0 -4
  45. package/src/browser/assets/breakpoint-log-disabled.svg +0 -4
  46. package/src/browser/assets/breakpoint-log-unverified.svg +0 -4
  47. package/src/browser/assets/breakpoint-log.svg +0 -4
  48. package/src/browser/assets/breakpoint-unsupported.svg +0 -4
  49. package/src/browser/assets/breakpoint-unverified.svg +0 -4
  50. package/src/browser/assets/breakpoint.svg +0 -4
  51. package/src/browser/assets/breakpoints-activate-inverse.svg +0 -4
  52. package/src/browser/assets/breakpoints-activate.svg +0 -4
  53. package/src/browser/assets/configure-inverse.svg +0 -4
  54. package/src/browser/assets/configure.svg +0 -4
  55. package/src/browser/assets/continue-inverse.svg +0 -4
  56. package/src/browser/assets/current-and-breakpoint.svg +0 -4
  57. package/src/browser/assets/current-arrow.svg +0 -4
  58. package/src/browser/assets/remove-all-inverse.svg +0 -4
  59. package/src/browser/assets/remove-all.svg +0 -4
  60. package/src/browser/assets/repl-inverse.svg +0 -4
  61. package/src/browser/assets/repl.svg +0 -4
  62. package/src/browser/assets/restart-inverse.svg +0 -4
  63. package/src/browser/assets/stackframe-and-breakpoint.svg +0 -4
  64. package/src/browser/assets/stackframe-arrow.svg +0 -4
  65. package/src/browser/assets/start-inverse.svg +0 -4
  66. package/src/browser/breakpoint/breakpoint-decoration.ts +0 -57
  67. package/src/browser/breakpoint/breakpoint-manager.ts +0 -348
  68. package/src/browser/breakpoint/breakpoint-marker.ts +0 -70
  69. package/src/browser/breakpoint/index.ts +0 -3
  70. package/src/browser/components/debug-action/index.module.less +0 -73
  71. package/src/browser/components/debug-action/index.tsx +0 -40
  72. package/src/browser/components/debug-exception-widget.less +0 -42
  73. package/src/browser/components/floating-click-widget/index.module.less +0 -5
  74. package/src/browser/components/floating-click-widget/index.tsx +0 -21
  75. package/src/browser/components/index.ts +0 -1
  76. package/src/browser/contextkeys/debug-call-stack-item-type-key.ts +0 -4
  77. package/src/browser/contextkeys/debug-contextkey.service.ts +0 -54
  78. package/src/browser/contextkeys/index.ts +0 -1
  79. package/src/browser/debug-ansi-handle.ts +0 -521
  80. package/src/browser/debug-configuration-manager.ts +0 -513
  81. package/src/browser/debug-configuration-model.ts +0 -66
  82. package/src/browser/debug-contribution.ts +0 -904
  83. package/src/browser/debug-exception-widget.tsx +0 -89
  84. package/src/browser/debug-link-detector.ts +0 -234
  85. package/src/browser/debug-memory.ts +0 -220
  86. package/src/browser/debug-preferences.ts +0 -70
  87. package/src/browser/debug-progress.service.ts +0 -122
  88. package/src/browser/debug-schema-updater.ts +0 -67
  89. package/src/browser/debug-service.ts +0 -42
  90. package/src/browser/debug-session-connection.ts +0 -333
  91. package/src/browser/debug-session-contribution.ts +0 -57
  92. package/src/browser/debug-session-manager.ts +0 -622
  93. package/src/browser/debug-session.ts +0 -1182
  94. package/src/browser/debug-style.less +0 -128
  95. package/src/browser/debugUtils.ts +0 -110
  96. package/src/browser/editor/debug-breakpoint-widget.ts +0 -99
  97. package/src/browser/editor/debug-breakpoint-zone-widget.tsx +0 -262
  98. package/src/browser/editor/debug-breakpoint.module.less +0 -31
  99. package/src/browser/editor/debug-editor-contribution.ts +0 -590
  100. package/src/browser/editor/debug-expression-provider.ts +0 -101
  101. package/src/browser/editor/debug-hover-model.ts +0 -38
  102. package/src/browser/editor/debug-hover-source.ts +0 -107
  103. package/src/browser/editor/debug-hover-tree.model.service.ts +0 -332
  104. package/src/browser/editor/debug-hover-widget.tsx +0 -200
  105. package/src/browser/editor/debug-hover.module.less +0 -29
  106. package/src/browser/editor/debug-hover.view.tsx +0 -147
  107. package/src/browser/editor/debug-model-manager.ts +0 -220
  108. package/src/browser/editor/debug-model.ts +0 -853
  109. package/src/browser/editor/debug-run-to-cursor.service.ts +0 -180
  110. package/src/browser/editor/debug-styles.ts +0 -66
  111. package/src/browser/editor/evaluatable-expression.ts +0 -47
  112. package/src/browser/editor/index.ts +0 -6
  113. package/src/browser/index.ts +0 -121
  114. package/src/browser/markers/index.ts +0 -2
  115. package/src/browser/markers/marker-manager.ts +0 -201
  116. package/src/browser/markers/marker.ts +0 -20
  117. package/src/browser/model/debug-source.ts +0 -144
  118. package/src/browser/model/debug-stack-frame.ts +0 -111
  119. package/src/browser/model/debug-thread.ts +0 -186
  120. package/src/browser/model/debug-watch.ts +0 -130
  121. package/src/browser/model/index.ts +0 -4
  122. package/src/browser/preferences/launch-folder-preference-provider.ts +0 -23
  123. package/src/browser/preferences/launch-preferences-contribution.ts +0 -9
  124. package/src/browser/preferences/launch-preferences.ts +0 -16
  125. package/src/browser/tree/debug-console-tree-node.define.tsx +0 -76
  126. package/src/browser/tree/debug-tree-node.define.ts +0 -768
  127. package/src/browser/tree/index.ts +0 -2
  128. package/src/browser/view/breakpoints/debug-breakpoints.module.less +0 -72
  129. package/src/browser/view/breakpoints/debug-breakpoints.service.ts +0 -217
  130. package/src/browser/view/breakpoints/debug-breakpoints.view.tsx +0 -174
  131. package/src/browser/view/configuration/debug-configuration.module.less +0 -110
  132. package/src/browser/view/configuration/debug-configuration.service.ts +0 -170
  133. package/src/browser/view/configuration/debug-configuration.view.tsx +0 -252
  134. package/src/browser/view/configuration/debug-toolbar.service.ts +0 -167
  135. package/src/browser/view/configuration/debug-toolbar.view.tsx +0 -335
  136. package/src/browser/view/console/debug-console-filter.model.ts +0 -49
  137. package/src/browser/view/console/debug-console-filter.service.ts +0 -81
  138. package/src/browser/view/console/debug-console-filter.view.tsx +0 -78
  139. package/src/browser/view/console/debug-console-model.ts +0 -48
  140. package/src/browser/view/console/debug-console-session.ts +0 -164
  141. package/src/browser/view/console/debug-console-toolbar.view.tsx +0 -28
  142. package/src/browser/view/console/debug-console-tree.model.service.ts +0 -550
  143. package/src/browser/view/console/debug-console.contribution.ts +0 -181
  144. package/src/browser/view/console/debug-console.module.less +0 -373
  145. package/src/browser/view/console/debug-console.service.ts +0 -433
  146. package/src/browser/view/console/debug-console.view.tsx +0 -500
  147. package/src/browser/view/debug-view-model.ts +0 -182
  148. package/src/browser/view/frames/debug-call-stack-frame.view.tsx +0 -238
  149. package/src/browser/view/frames/debug-call-stack-session.view.tsx +0 -253
  150. package/src/browser/view/frames/debug-call-stack-thread.view.tsx +0 -103
  151. package/src/browser/view/frames/debug-call-stack.contribution.ts +0 -88
  152. package/src/browser/view/frames/debug-call-stack.module.less +0 -193
  153. package/src/browser/view/frames/debug-call-stack.operation.tsx +0 -97
  154. package/src/browser/view/frames/debug-call-stack.service.ts +0 -105
  155. package/src/browser/view/frames/debug-call-stack.view.tsx +0 -43
  156. package/src/browser/view/variables/debug-variables-model.ts +0 -38
  157. package/src/browser/view/variables/debug-variables-tree.model.service.ts +0 -467
  158. package/src/browser/view/variables/debug-variables.contribution.ts +0 -244
  159. package/src/browser/view/variables/debug-variables.module.less +0 -149
  160. package/src/browser/view/variables/debug-variables.view.tsx +0 -303
  161. package/src/browser/view/watch/debug-watch-model.ts +0 -38
  162. package/src/browser/view/watch/debug-watch-tree.model.service.ts +0 -567
  163. package/src/browser/view/watch/debug-watch.contribution.ts +0 -167
  164. package/src/browser/view/watch/debug-watch.module.less +0 -189
  165. package/src/browser/view/watch/debug-watch.view.tsx +0 -337
  166. package/src/common/constants.ts +0 -81
  167. package/src/common/debug-breakpoint.ts +0 -43
  168. package/src/common/debug-configuration.ts +0 -68
  169. package/src/common/debug-editor.ts +0 -4
  170. package/src/common/debug-hover.ts +0 -31
  171. package/src/common/debug-model.ts +0 -247
  172. package/src/common/debug-progress.ts +0 -8
  173. package/src/common/debug-schema-updater.ts +0 -1
  174. package/src/common/debug-service.ts +0 -176
  175. package/src/common/debug-session-options.ts +0 -19
  176. package/src/common/debug-session.ts +0 -200
  177. package/src/common/evaluatable-expression.ts +0 -43
  178. package/src/common/index.ts +0 -14
  179. package/src/common/inline-values.ts +0 -77
  180. package/src/common/terminal.ts +0 -163
  181. package/src/common/types.ts +0 -86
  182. package/src/index.ts +0 -1
@@ -1,147 +0,0 @@
1
- import cls from 'classnames';
2
- import { observer } from 'mobx-react-lite';
3
- import React from 'react';
4
-
5
- import { IRecycleTreeHandle, RecycleTree, INodeRendererWrapProps, TreeNodeEvent } from '@opensumi/ide-components';
6
- import { useInjectable } from '@opensumi/ide-core-browser';
7
- import { IDisposable } from '@opensumi/ide-core-common';
8
-
9
- import {
10
- ExpressionNode,
11
- ExpressionContainer,
12
- DebugHoverVariableRoot,
13
- DebugVariable,
14
- } from '../tree/debug-tree-node.define';
15
- import { DebugVariableRenderedNode, DEBUG_VARIABLE_TREE_NODE_HEIGHT } from '../view/variables/debug-variables.view';
16
-
17
- import { DebugHoverModel } from './debug-hover-model';
18
- import { DebugHoverTreeModelService, IDebugHoverUpdateData } from './debug-hover-tree.model.service';
19
- import styles from './debug-hover.module.less';
20
-
21
- export const DebugHoverView = observer(() => {
22
- const debugHoverTreeModelService: DebugHoverTreeModelService = useInjectable(DebugHoverTreeModelService);
23
- const DEFAULT_LAYOUT_HEIGHT = 250;
24
-
25
- const [model, setModel] = React.useState<{ treeModel?: DebugHoverModel; variable?: DebugVariable }>({});
26
- const [treeLayoutHeight, setTreeLayoutHeight] = React.useState<number>(DEFAULT_LAYOUT_HEIGHT);
27
- const wrapperRef: React.RefObject<HTMLDivElement> = React.createRef();
28
-
29
- React.useEffect(() => {
30
- debugHoverTreeModelService.onDidUpdateTreeModelOrVariable(async (data: IDebugHoverUpdateData) => {
31
- const { treeModel, variable } = data;
32
- if (treeModel) {
33
- await treeModel.ensureReady;
34
- }
35
- setModel({ treeModel, variable });
36
- });
37
- ensureLoaded();
38
- return () => {
39
- debugHoverTreeModelService.removeNodeDecoration();
40
- };
41
- }, []);
42
-
43
- React.useEffect(() => {
44
- let disposable: IDisposable;
45
- setTreeLayoutHeight(DEFAULT_LAYOUT_HEIGHT);
46
-
47
- if (model.treeModel) {
48
- disposable = model.treeModel.root.watcher.on(TreeNodeEvent.DidChangeExpansionState, (data) => {
49
- const treeHeight = Math.max(DEFAULT_LAYOUT_HEIGHT, ~~model.treeModel?.root.branchSize! * 22);
50
- setTreeLayoutHeight(Math.min(500, treeHeight));
51
- });
52
- }
53
- return () => {
54
- disposable?.dispose();
55
- };
56
- }, [model.treeModel]);
57
-
58
- const ensureLoaded = async () => {
59
- if (debugHoverTreeModelService.treeModel) {
60
- await debugHoverTreeModelService.treeModel.ensureReady;
61
- setModel({ treeModel: debugHoverTreeModelService.treeModel });
62
- }
63
- };
64
-
65
- const handleTreeReady = (handle: IRecycleTreeHandle) => {
66
- debugHoverTreeModelService.handleTreeHandler({
67
- ...handle,
68
- getModel: () => model?.treeModel!,
69
- hasDirectFocus: () => wrapperRef.current === document.activeElement,
70
- });
71
- };
72
-
73
- const handleTwistierClick = (ev: React.MouseEvent, item: ExpressionNode | ExpressionContainer) => {
74
- // 阻止点击事件冒泡
75
- ev.stopPropagation();
76
-
77
- const { handleTwistierClick } = debugHoverTreeModelService;
78
- if (!item) {
79
- return;
80
- }
81
- handleTwistierClick(item);
82
- };
83
-
84
- const shouldRenderVariableTree =
85
- !!model.treeModel && !!(model.treeModel.root as DebugHoverVariableRoot).variablesReference;
86
-
87
- const renderVariableTreeNode = React.useCallback(
88
- (props: INodeRendererWrapProps) => {
89
- const decorations = debugHoverTreeModelService.decorations.getDecorations(props.item as any);
90
- return (
91
- <DebugVariableRenderedNode
92
- item={props.item}
93
- itemType={props.itemType}
94
- decorations={decorations}
95
- onClick={handleTwistierClick}
96
- onTwistierClick={handleTwistierClick}
97
- defaultLeftPadding={0}
98
- leftPadding={4}
99
- />
100
- );
101
- },
102
- [model.treeModel],
103
- );
104
-
105
- const renderVariableTree = () => {
106
- if (!shouldRenderVariableTree) {
107
- return null;
108
- }
109
- return (
110
- <div className={styles.debug_hover_content} tabIndex={-1} ref={wrapperRef}>
111
- <RecycleTree
112
- height={treeLayoutHeight}
113
- itemHeight={DEBUG_VARIABLE_TREE_NODE_HEIGHT}
114
- onReady={handleTreeReady}
115
- model={model.treeModel!}
116
- placeholder={() => <span></span>}
117
- overflow={'auto'}
118
- >
119
- {renderVariableTreeNode}
120
- </RecycleTree>
121
- </div>
122
- );
123
- };
124
-
125
- return (
126
- <div className={styles.debug_hover}>
127
- {model.treeModel ? (
128
- <div
129
- className={cls(styles.debug_hover_title, shouldRenderVariableTree && styles.has_complex_value)}
130
- title={model.treeModel.root.name}
131
- >
132
- {model.treeModel.root.name}
133
- </div>
134
- ) : (
135
- model.variable && (
136
- <div
137
- className={cls(styles.debug_hover_title, shouldRenderVariableTree && styles.has_complex_value)}
138
- title={model.variable.name}
139
- >
140
- {model.variable.value}
141
- </div>
142
- )
143
- )}
144
- {renderVariableTree()}
145
- </div>
146
- );
147
- });
@@ -1,220 +0,0 @@
1
- import { Injectable, Autowired } from '@opensumi/di';
2
- import { Disposable, URI, Emitter, Event, DisposableCollection } from '@opensumi/ide-core-common';
3
- import { EditorCollectionService, ICodeEditor, WorkbenchEditorService } from '@opensumi/ide-editor';
4
- import type { ICodeEditor as IMonacoCodeEditor } from '@opensumi/ide-monaco/lib/browser/monaco-api/types';
5
- import * as monaco from '@opensumi/monaco-editor-core/esm/vs/editor/editor.api';
6
-
7
- import { DebugModelFactory, IDebugModel, BreakpointsChangeEvent } from '../../common';
8
- import { BreakpointManager } from '../breakpoint';
9
- import { DebugConfigurationManager } from '../debug-configuration-manager';
10
-
11
- enum DebugModelSupportedEventType {
12
- down = 'Down',
13
- move = 'Move',
14
- leave = 'Leave',
15
- contextMenu = 'contextMenu',
16
- }
17
-
18
- @Injectable()
19
- export class DebugModelManager extends Disposable {
20
- private models: Map<string, IDebugModel[]>;
21
- protected readonly toDispose = new DisposableCollection();
22
-
23
- @Autowired(WorkbenchEditorService)
24
- private editorService: WorkbenchEditorService;
25
-
26
- @Autowired(EditorCollectionService)
27
- private editorCollection: EditorCollectionService;
28
-
29
- @Autowired(DebugModelFactory)
30
- private debugModelFactory: DebugModelFactory;
31
-
32
- @Autowired(BreakpointManager)
33
- private breakpointManager: BreakpointManager;
34
-
35
- @Autowired(DebugConfigurationManager)
36
- private debugConfigurationManager: DebugConfigurationManager;
37
-
38
- private _onMouseDown = new Emitter<monaco.editor.IEditorMouseEvent>();
39
- private _onMouseMove = new Emitter<monaco.editor.IEditorMouseEvent>();
40
- private _onMouseLeave = new Emitter<monaco.editor.IPartialEditorMouseEvent>();
41
- private _onMouseUp = new Emitter<monaco.editor.IEditorMouseEvent>();
42
-
43
- public onMouseDown = this._onMouseDown;
44
- public onMouseMove = this._onMouseMove;
45
- public onMouseLeave = this._onMouseLeave;
46
- public onMouseUp = this._onMouseUp;
47
-
48
- private _onModelChanged = new Emitter<monaco.editor.IModelChangedEvent>();
49
- public onModelChanged: Event<monaco.editor.IModelChangedEvent> = this._onModelChanged.event;
50
-
51
- constructor() {
52
- super();
53
- this.models = new Map();
54
- }
55
-
56
- dispose() {
57
- for (const model of this.models.values()) {
58
- this.toDispose.pushAll(model);
59
- }
60
- this.toDispose.dispose();
61
- this.models.clear();
62
- }
63
-
64
- init() {
65
- this.editorCollection.onCodeEditorCreate((codeEditor: ICodeEditor) => this.push(codeEditor));
66
-
67
- this.breakpointManager.onDidChangeBreakpoints((event) => {
68
- const { currentEditor } = this.editorService;
69
- const uri = currentEditor && currentEditor.currentUri;
70
- if (uri) {
71
- this.render(uri);
72
- }
73
- this.closeBreakpointIfAffected(event);
74
- });
75
- }
76
-
77
- get model(): IDebugModel | undefined {
78
- const { currentEditor } = this.editorService;
79
- const uri = currentEditor && currentEditor.currentUri;
80
- if (uri) {
81
- const models = this.models.get(uri.toString());
82
- return models && models[0];
83
- }
84
- }
85
-
86
- protected closeBreakpointIfAffected({ affected, removed }: BreakpointsChangeEvent): void {
87
- affected.forEach((uri) => {
88
- const models = this.models.get(uri.toString());
89
- if (!models) {
90
- return;
91
- }
92
- for (const model of models) {
93
- const breakpointWidget = model.getBreakpointWidget();
94
- const position = breakpointWidget.position;
95
- if (!position) {
96
- return;
97
- }
98
- for (const breakpoint of removed) {
99
- if (breakpoint.raw.line === position.lineNumber) {
100
- breakpointWidget.dispose();
101
- }
102
- }
103
- }
104
- });
105
- }
106
-
107
- protected render(uri: URI): void {
108
- const models = this.models.get(uri.toString());
109
- if (!models) {
110
- return;
111
- }
112
- for (const model of models) {
113
- model.render();
114
- }
115
- }
116
-
117
- protected push(codeEditor: ICodeEditor): void {
118
- const monacoEditor = (codeEditor as any).monacoEditor;
119
- codeEditor.onRefOpen((ref) => {
120
- const uriString = ref.instance.uri.toString();
121
- const debugModel = this.models.get(uriString) || [];
122
- let isRendered = false;
123
- if (debugModel.length > 0) {
124
- for (const model of debugModel) {
125
- if ((model.getEditor() as any)._id === (monacoEditor as any)._id) {
126
- model.render();
127
- isRendered = true;
128
- break;
129
- }
130
- }
131
- }
132
- if (!isRendered) {
133
- const monacoModel = ref.instance.getMonacoModel();
134
- const model = this.debugModelFactory(monacoEditor);
135
- debugModel.push(model);
136
- this.models.set(uriString, debugModel);
137
- monacoModel.onWillDispose(() => {
138
- model!.dispose();
139
- this.models.delete(uriString);
140
- });
141
- }
142
- });
143
-
144
- const handleMonacoModelEvent = (
145
- type: DebugModelSupportedEventType,
146
- event: monaco.editor.IPartialEditorMouseEvent,
147
- ) => {
148
- const model = monacoEditor.getModel();
149
- if (!model) {
150
- throw new Error('Not find model');
151
- }
152
-
153
- this.handleMouseEvent(
154
- new URI(model.uri.toString()),
155
- type,
156
- event as monaco.editor.IEditorMouseEvent,
157
- monacoEditor,
158
- );
159
- };
160
- this.toDispose.push(
161
- monacoEditor.onMouseMove((event) => handleMonacoModelEvent(DebugModelSupportedEventType.move, event)),
162
- );
163
- this.toDispose.push(
164
- monacoEditor.onMouseDown((event) => handleMonacoModelEvent(DebugModelSupportedEventType.down, event)),
165
- );
166
- this.toDispose.push(
167
- monacoEditor.onMouseLeave((event) => handleMonacoModelEvent(DebugModelSupportedEventType.leave, event)),
168
- );
169
- this.toDispose.push(
170
- monacoEditor.onContextMenu((event) => handleMonacoModelEvent(DebugModelSupportedEventType.contextMenu, event)),
171
- );
172
- this.toDispose.push(monacoEditor.onDidChangeModel((event) => this._onModelChanged.fire(event)));
173
- }
174
-
175
- resolve(uri: URI) {
176
- const model = this.models.get(uri.toString());
177
- if (!model) {
178
- return undefined;
179
- }
180
- return model;
181
- }
182
-
183
- handleMouseEvent(
184
- uri: URI,
185
- type: DebugModelSupportedEventType,
186
- event: monaco.editor.IEditorMouseEvent | monaco.editor.IPartialEditorMouseEvent,
187
- monacoEditor: IMonacoCodeEditor,
188
- ) {
189
- const debugModel = this.models.get(uri.toString());
190
- if (!debugModel) {
191
- return;
192
- }
193
- // 同一个uri可能对应多个打开的monacoEditor,这里只需要验证其中一个即可
194
- const canSetBreakpoints = this.debugConfigurationManager.canSetBreakpointsIn(debugModel[0].getEditor().getModel()!);
195
- if (!canSetBreakpoints) {
196
- return;
197
- }
198
- for (const model of debugModel) {
199
- if (model.getEditor().getId() === monacoEditor.getId()) {
200
- switch (type) {
201
- case DebugModelSupportedEventType.contextMenu:
202
- model.onContextMenu(event);
203
- break;
204
- case DebugModelSupportedEventType.down:
205
- model.onMouseDown(event);
206
- break;
207
- case DebugModelSupportedEventType.leave:
208
- model.onMouseLeave(event);
209
- break;
210
- case DebugModelSupportedEventType.move:
211
- model.onMouseMove(event);
212
- break;
213
- default:
214
- break;
215
- }
216
- break;
217
- }
218
- }
219
- }
220
- }