@opensumi/ide-debug 2.21.8-rc-1670567192.0 → 2.21.8

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 (169) hide show
  1. package/lib/browser/debug-session.d.ts.map +1 -1
  2. package/lib/browser/debug-session.js +1 -5
  3. package/lib/browser/debug-session.js.map +1 -1
  4. package/lib/browser/index.d.ts.map +1 -1
  5. package/lib/browser/index.js +9 -2
  6. package/lib/browser/index.js.map +1 -1
  7. package/lib/browser/preferences/launch-folder-preference-provider.d.ts +2 -2
  8. package/lib/browser/preferences/launch-folder-preference-provider.d.ts.map +1 -1
  9. package/lib/browser/preferences/launch-folder-preference-provider.js +2 -2
  10. package/lib/browser/preferences/launch-folder-preference-provider.js.map +1 -1
  11. package/lib/browser/view/configuration/debug-configuration.module.less +5 -5
  12. package/lib/browser/view/configuration/debug-configuration.view.d.ts.map +1 -1
  13. package/lib/browser/view/configuration/debug-configuration.view.js +1 -1
  14. package/lib/browser/view/configuration/debug-configuration.view.js.map +1 -1
  15. package/lib/browser/view/configuration/debug-toolbar.view.js +2 -2
  16. package/lib/browser/view/configuration/debug-toolbar.view.js.map +1 -1
  17. package/lib/browser/view/console/debug-console.module.less +1 -2
  18. package/lib/browser/view/console/debug-console.view.js +2 -2
  19. package/lib/browser/view/console/debug-console.view.js.map +1 -1
  20. package/lib/browser/view/variables/debug-variables.module.less +1 -2
  21. package/lib/browser/view/variables/debug-variables.view.js +1 -1
  22. package/lib/browser/view/variables/debug-variables.view.js.map +1 -1
  23. package/lib/browser/view/watch/debug-watch.module.less +1 -2
  24. package/lib/browser/view/watch/debug-watch.view.js +1 -1
  25. package/lib/browser/view/watch/debug-watch.view.js.map +1 -1
  26. package/package.json +24 -25
  27. package/src/browser/assets/breakpoint-conditional-disabled.svg +0 -4
  28. package/src/browser/assets/breakpoint-conditional-unverified.svg +0 -4
  29. package/src/browser/assets/breakpoint-conditional.svg +0 -4
  30. package/src/browser/assets/breakpoint-disabled.svg +0 -4
  31. package/src/browser/assets/breakpoint-hint.svg +0 -4
  32. package/src/browser/assets/breakpoint-log-disabled.svg +0 -4
  33. package/src/browser/assets/breakpoint-log-unverified.svg +0 -4
  34. package/src/browser/assets/breakpoint-log.svg +0 -4
  35. package/src/browser/assets/breakpoint-unsupported.svg +0 -4
  36. package/src/browser/assets/breakpoint-unverified.svg +0 -4
  37. package/src/browser/assets/breakpoint.svg +0 -4
  38. package/src/browser/assets/breakpoints-activate-inverse.svg +0 -4
  39. package/src/browser/assets/breakpoints-activate.svg +0 -4
  40. package/src/browser/assets/configure-inverse.svg +0 -4
  41. package/src/browser/assets/configure.svg +0 -4
  42. package/src/browser/assets/continue-inverse.svg +0 -4
  43. package/src/browser/assets/current-and-breakpoint.svg +0 -4
  44. package/src/browser/assets/current-arrow.svg +0 -4
  45. package/src/browser/assets/remove-all-inverse.svg +0 -4
  46. package/src/browser/assets/remove-all.svg +0 -4
  47. package/src/browser/assets/repl-inverse.svg +0 -4
  48. package/src/browser/assets/repl.svg +0 -4
  49. package/src/browser/assets/restart-inverse.svg +0 -4
  50. package/src/browser/assets/stackframe-and-breakpoint.svg +0 -4
  51. package/src/browser/assets/stackframe-arrow.svg +0 -4
  52. package/src/browser/assets/start-inverse.svg +0 -4
  53. package/src/browser/breakpoint/breakpoint-decoration.ts +0 -57
  54. package/src/browser/breakpoint/breakpoint-manager.ts +0 -348
  55. package/src/browser/breakpoint/breakpoint-marker.ts +0 -70
  56. package/src/browser/breakpoint/index.ts +0 -3
  57. package/src/browser/components/debug-action/index.module.less +0 -73
  58. package/src/browser/components/debug-action/index.tsx +0 -40
  59. package/src/browser/components/debug-exception-widget.less +0 -42
  60. package/src/browser/components/floating-click-widget/index.module.less +0 -5
  61. package/src/browser/components/floating-click-widget/index.tsx +0 -21
  62. package/src/browser/components/index.ts +0 -1
  63. package/src/browser/contextkeys/debug-call-stack-item-type-key.ts +0 -4
  64. package/src/browser/contextkeys/debug-contextkey.service.ts +0 -54
  65. package/src/browser/contextkeys/index.ts +0 -1
  66. package/src/browser/debug-ansi-handle.ts +0 -521
  67. package/src/browser/debug-configuration-manager.ts +0 -513
  68. package/src/browser/debug-configuration-model.ts +0 -66
  69. package/src/browser/debug-contribution.ts +0 -904
  70. package/src/browser/debug-exception-widget.tsx +0 -89
  71. package/src/browser/debug-link-detector.ts +0 -234
  72. package/src/browser/debug-memory.ts +0 -220
  73. package/src/browser/debug-preferences.ts +0 -70
  74. package/src/browser/debug-progress.service.ts +0 -122
  75. package/src/browser/debug-schema-updater.ts +0 -67
  76. package/src/browser/debug-service.ts +0 -42
  77. package/src/browser/debug-session-connection.ts +0 -333
  78. package/src/browser/debug-session-contribution.ts +0 -57
  79. package/src/browser/debug-session-manager.ts +0 -622
  80. package/src/browser/debug-session.ts +0 -1182
  81. package/src/browser/debug-style.less +0 -128
  82. package/src/browser/debugUtils.ts +0 -110
  83. package/src/browser/editor/debug-breakpoint-widget.ts +0 -99
  84. package/src/browser/editor/debug-breakpoint-zone-widget.tsx +0 -262
  85. package/src/browser/editor/debug-breakpoint.module.less +0 -31
  86. package/src/browser/editor/debug-editor-contribution.ts +0 -590
  87. package/src/browser/editor/debug-expression-provider.ts +0 -101
  88. package/src/browser/editor/debug-hover-model.ts +0 -38
  89. package/src/browser/editor/debug-hover-source.ts +0 -107
  90. package/src/browser/editor/debug-hover-tree.model.service.ts +0 -332
  91. package/src/browser/editor/debug-hover-widget.tsx +0 -200
  92. package/src/browser/editor/debug-hover.module.less +0 -29
  93. package/src/browser/editor/debug-hover.view.tsx +0 -147
  94. package/src/browser/editor/debug-model-manager.ts +0 -220
  95. package/src/browser/editor/debug-model.ts +0 -853
  96. package/src/browser/editor/debug-run-to-cursor.service.ts +0 -180
  97. package/src/browser/editor/debug-styles.ts +0 -66
  98. package/src/browser/editor/evaluatable-expression.ts +0 -47
  99. package/src/browser/editor/index.ts +0 -6
  100. package/src/browser/index.ts +0 -121
  101. package/src/browser/markers/index.ts +0 -2
  102. package/src/browser/markers/marker-manager.ts +0 -201
  103. package/src/browser/markers/marker.ts +0 -20
  104. package/src/browser/model/debug-source.ts +0 -144
  105. package/src/browser/model/debug-stack-frame.ts +0 -111
  106. package/src/browser/model/debug-thread.ts +0 -186
  107. package/src/browser/model/debug-watch.ts +0 -130
  108. package/src/browser/model/index.ts +0 -4
  109. package/src/browser/preferences/launch-folder-preference-provider.ts +0 -23
  110. package/src/browser/preferences/launch-preferences-contribution.ts +0 -9
  111. package/src/browser/preferences/launch-preferences.ts +0 -16
  112. package/src/browser/tree/debug-console-tree-node.define.tsx +0 -76
  113. package/src/browser/tree/debug-tree-node.define.ts +0 -768
  114. package/src/browser/tree/index.ts +0 -2
  115. package/src/browser/view/breakpoints/debug-breakpoints.module.less +0 -72
  116. package/src/browser/view/breakpoints/debug-breakpoints.service.ts +0 -217
  117. package/src/browser/view/breakpoints/debug-breakpoints.view.tsx +0 -174
  118. package/src/browser/view/configuration/debug-configuration.module.less +0 -110
  119. package/src/browser/view/configuration/debug-configuration.service.ts +0 -170
  120. package/src/browser/view/configuration/debug-configuration.view.tsx +0 -252
  121. package/src/browser/view/configuration/debug-toolbar.service.ts +0 -167
  122. package/src/browser/view/configuration/debug-toolbar.view.tsx +0 -335
  123. package/src/browser/view/console/debug-console-filter.model.ts +0 -49
  124. package/src/browser/view/console/debug-console-filter.service.ts +0 -81
  125. package/src/browser/view/console/debug-console-filter.view.tsx +0 -78
  126. package/src/browser/view/console/debug-console-model.ts +0 -48
  127. package/src/browser/view/console/debug-console-session.ts +0 -164
  128. package/src/browser/view/console/debug-console-toolbar.view.tsx +0 -28
  129. package/src/browser/view/console/debug-console-tree.model.service.ts +0 -550
  130. package/src/browser/view/console/debug-console.contribution.ts +0 -181
  131. package/src/browser/view/console/debug-console.module.less +0 -373
  132. package/src/browser/view/console/debug-console.service.ts +0 -433
  133. package/src/browser/view/console/debug-console.view.tsx +0 -500
  134. package/src/browser/view/debug-view-model.ts +0 -182
  135. package/src/browser/view/frames/debug-call-stack-frame.view.tsx +0 -224
  136. package/src/browser/view/frames/debug-call-stack-session.view.tsx +0 -244
  137. package/src/browser/view/frames/debug-call-stack-thread.view.tsx +0 -93
  138. package/src/browser/view/frames/debug-call-stack.contribution.ts +0 -88
  139. package/src/browser/view/frames/debug-call-stack.module.less +0 -193
  140. package/src/browser/view/frames/debug-call-stack.operation.tsx +0 -97
  141. package/src/browser/view/frames/debug-call-stack.service.ts +0 -105
  142. package/src/browser/view/frames/debug-call-stack.view.tsx +0 -43
  143. package/src/browser/view/variables/debug-variables-model.ts +0 -38
  144. package/src/browser/view/variables/debug-variables-tree.model.service.ts +0 -467
  145. package/src/browser/view/variables/debug-variables.contribution.ts +0 -244
  146. package/src/browser/view/variables/debug-variables.module.less +0 -149
  147. package/src/browser/view/variables/debug-variables.view.tsx +0 -303
  148. package/src/browser/view/watch/debug-watch-model.ts +0 -38
  149. package/src/browser/view/watch/debug-watch-tree.model.service.ts +0 -567
  150. package/src/browser/view/watch/debug-watch.contribution.ts +0 -167
  151. package/src/browser/view/watch/debug-watch.module.less +0 -189
  152. package/src/browser/view/watch/debug-watch.view.tsx +0 -337
  153. package/src/common/constants.ts +0 -81
  154. package/src/common/debug-breakpoint.ts +0 -43
  155. package/src/common/debug-configuration.ts +0 -68
  156. package/src/common/debug-editor.ts +0 -4
  157. package/src/common/debug-hover.ts +0 -31
  158. package/src/common/debug-model.ts +0 -247
  159. package/src/common/debug-progress.ts +0 -8
  160. package/src/common/debug-schema-updater.ts +0 -1
  161. package/src/common/debug-service.ts +0 -176
  162. package/src/common/debug-session-options.ts +0 -19
  163. package/src/common/debug-session.ts +0 -200
  164. package/src/common/evaluatable-expression.ts +0 -43
  165. package/src/common/index.ts +0 -14
  166. package/src/common/inline-values.ts +0 -77
  167. package/src/common/terminal.ts +0 -163
  168. package/src/common/types.ts +0 -86
  169. package/src/index.ts +0 -1
@@ -1,2 +0,0 @@
1
- export * from './debug-tree-node.define';
2
- export * from './debug-console-tree-node.define';
@@ -1,72 +0,0 @@
1
- .debug_breakpoints {
2
- width: 100%;
3
- height: 100%;
4
- display: flex;
5
- flex-direction: column;
6
- }
7
-
8
- .debug_breakpoints_disabled {
9
- opacity: 0.7;
10
- }
11
-
12
- .debug_breakpoints_item {
13
- height: 22px;
14
- display: flex;
15
- align-items: center;
16
- cursor: pointer;
17
- flex-direction: row;
18
- &:hover {
19
- background: var(--list-hoverBackground);
20
- color: var(--list-hoverForeground);
21
- .debug_remove_breakpoints_icon {
22
- display: inline-block;
23
- pointer-events: all;
24
- margin-right: 6px;
25
- }
26
- .debug_breakpoints_badge {
27
- display: none;
28
- }
29
- }
30
- &.selected {
31
- background: var(--list-activeSelectionBackground);
32
- color: var(--list-activeSelectionForeground);
33
- }
34
- }
35
-
36
- .debug_breakpoints_icon {
37
- width: 19px;
38
- height: 19px;
39
- min-width: 19px;
40
- }
41
-
42
- .debug_remove_breakpoints_icon {
43
- color: #c5c5c5;
44
- display: none;
45
- pointer-events: none;
46
- }
47
-
48
- .debug_breakpoints_badge {
49
- display: block;
50
- margin-right: 5px;
51
- }
52
-
53
- .debug_breakpoints_description {
54
- display: block;
55
- transform: scale(0.95);
56
- opacity: 0.7;
57
- margin-left: 5px;
58
- display: inline;
59
- }
60
-
61
- .debug_breakpoints_name {
62
- flex-grow: 0;
63
- display: inline;
64
- }
65
-
66
- .debug_breakpoints_wrapper {
67
- overflow: hidden;
68
- text-overflow: ellipsis;
69
- white-space: nowrap;
70
- margin-right: 5px;
71
- flex: 1;
72
- }
@@ -1,217 +0,0 @@
1
- import { observable, action, runInAction } from 'mobx';
2
-
3
- import { Injectable, Autowired } from '@opensumi/di';
4
- import { URI, WithEventBus, OnEvent, IContextKeyService, IReporterService, Schemes } from '@opensumi/ide-core-browser';
5
- import { LabelService } from '@opensumi/ide-core-browser/lib/services';
6
- import { ICodeEditor, EditorCollectionService, getSimpleEditorOptions } from '@opensumi/ide-editor';
7
- import { IEditorDocumentModelService } from '@opensumi/ide-editor/lib/browser';
8
- import { IWorkspaceService } from '@opensumi/ide-workspace';
9
- import { WorkspaceEditDidRenameFileEvent, WorkspaceEditDidDeleteFileEvent } from '@opensumi/ide-workspace-edit';
10
-
11
- import { DEBUG_REPORT_NAME, CONTEXT_IN_DEBUG_MODE_KEY, IDebugBreakpoint } from '../../../common';
12
- import { IDebugSessionManager } from '../../../common/debug-session';
13
- import {
14
- DebugBreakpoint,
15
- DebugExceptionBreakpoint,
16
- isDebugBreakpoint,
17
- isDebugExceptionBreakpoint,
18
- BreakpointManager,
19
- DebugDecorator,
20
- } from '../../breakpoint';
21
- import { DebugSessionManager } from '../../debug-session-manager';
22
- import { DebugViewModel } from '../debug-view-model';
23
-
24
- import { BreakpointItem } from './debug-breakpoints.view';
25
-
26
- @Injectable()
27
- export class DebugBreakpointsService extends WithEventBus {
28
- @Autowired(DebugViewModel)
29
- protected readonly model: DebugViewModel;
30
-
31
- @Autowired(IWorkspaceService)
32
- protected readonly workspaceService: IWorkspaceService;
33
-
34
- @Autowired(BreakpointManager)
35
- protected readonly breakpoints: BreakpointManager;
36
-
37
- @Autowired(IDebugSessionManager)
38
- protected readonly sessions: DebugSessionManager;
39
-
40
- @Autowired(LabelService)
41
- protected readonly labelProvider: LabelService;
42
-
43
- @Autowired(IContextKeyService)
44
- protected readonly contextKeyService: IContextKeyService;
45
-
46
- @Autowired(IReporterService)
47
- protected readonly reporterService: IReporterService;
48
-
49
- @Autowired(EditorCollectionService)
50
- protected readonly editorService: EditorCollectionService;
51
-
52
- @Autowired(IEditorDocumentModelService)
53
- protected readonly documentService: IEditorDocumentModelService;
54
-
55
- private _inputEditor: ICodeEditor;
56
-
57
- public get inputEditor(): ICodeEditor {
58
- return this._inputEditor;
59
- }
60
-
61
- @observable
62
- public nodes: BreakpointItem[] = [];
63
-
64
- @observable
65
- public enable: boolean;
66
-
67
- @observable
68
- public inDebugMode: boolean;
69
-
70
- public roots: URI[];
71
-
72
- constructor() {
73
- super();
74
- this.init();
75
- }
76
-
77
- async init() {
78
- await this.updateRoots();
79
- this.updateBreakpoints();
80
- this.workspaceService.onWorkspaceChanged(async () => {
81
- await this.updateRoots();
82
- this.updateBreakpoints();
83
- });
84
- this.breakpoints.onDidChangeBreakpoints(() => {
85
- this.updateBreakpoints();
86
- });
87
- this.breakpoints.onDidChangeExceptionsBreakpoints(() => {
88
- this.updateBreakpoints();
89
- });
90
- this.contextKeyService.onDidChangeContext((e) => {
91
- if (e.payload.affectsSome(new Set([CONTEXT_IN_DEBUG_MODE_KEY]))) {
92
- runInAction(() => {
93
- this.inDebugMode = this.contextKeyService.getContextValue(CONTEXT_IN_DEBUG_MODE_KEY) || false;
94
- });
95
- }
96
- });
97
- }
98
-
99
- public getBreakpointDecoration(breakpoint: IDebugBreakpoint, isDebugMode = false, enabled = true) {
100
- return new DebugDecorator().getDecoration(breakpoint, isDebugMode, enabled);
101
- }
102
-
103
- @OnEvent(WorkspaceEditDidRenameFileEvent)
104
- onRenameFile(e: WorkspaceEditDidRenameFileEvent) {
105
- this.removeBreakpoints(e.payload.oldUri);
106
- }
107
-
108
- @OnEvent(WorkspaceEditDidDeleteFileEvent)
109
- onDeleteFile(e: WorkspaceEditDidDeleteFileEvent) {
110
- this.removeBreakpoints(e.payload.oldUri);
111
- }
112
-
113
- private removeBreakpoints(uri: URI) {
114
- this.breakpoints.cleanAllMarkers(uri);
115
- this.updateBreakpoints();
116
- }
117
-
118
- @action
119
- async updateRoots() {
120
- this.enable = this.breakpoints.breakpointsEnabled;
121
- this.inDebugMode = this.contextKeyService.getContextValue(CONTEXT_IN_DEBUG_MODE_KEY) || false;
122
- const roots = await this.workspaceService.roots;
123
- this.roots = roots.map((file) => new URI(file.uri));
124
- }
125
-
126
- @action.bound
127
- toggleBreakpointEnable(data: IDebugBreakpoint | DebugExceptionBreakpoint) {
128
- if (isDebugBreakpoint(data)) {
129
- const real = this.breakpoints.getBreakpoint(URI.parse(data.uri), {
130
- lineNumber: data.raw.line,
131
- column: data.raw.column,
132
- });
133
- if (real) {
134
- real.enabled = !real.enabled;
135
- this.breakpoints.updateBreakpoint(real);
136
- }
137
- }
138
- if (isDebugExceptionBreakpoint(data)) {
139
- this.breakpoints.updateExceptionBreakpoints(data.filter, !data.default);
140
- }
141
- }
142
-
143
- extractNodes(items: (DebugExceptionBreakpoint | IDebugBreakpoint)[]) {
144
- const nodes: BreakpointItem[] = [];
145
- items.forEach((item) => {
146
- if (isDebugBreakpoint(item)) {
147
- const uri = URI.parse(item.uri);
148
- const parent = this.roots.filter((root) => root.isEqualOrParent(uri))[0];
149
- nodes.push({
150
- id: item.id,
151
- name: uri.displayName,
152
- description: parent && parent.relative(uri)!.toString(),
153
- breakpoint: item,
154
- });
155
- }
156
- if (isDebugExceptionBreakpoint(item)) {
157
- nodes.push({
158
- id: item.filter,
159
- name: item.label,
160
- description: '',
161
- breakpoint: item,
162
- });
163
- }
164
- });
165
- return nodes;
166
- }
167
-
168
- @action
169
- private updateBreakpoints() {
170
- this.nodes = this.extractNodes([
171
- ...this.breakpoints.getExceptionBreakpoints(),
172
- ...this.breakpoints.getBreakpoints(),
173
- ]);
174
- }
175
-
176
- removeAllBreakpoints() {
177
- this.breakpoints.clearBreakpoints();
178
- }
179
-
180
- delBreakpoint(bp: IDebugBreakpoint): void {
181
- this.breakpoints.delBreakpoint(bp);
182
- }
183
-
184
- @action
185
- toggleBreakpoints() {
186
- this.breakpoints.breakpointsEnabled = !this.breakpoints.breakpointsEnabled;
187
- this.enable = this.breakpoints.breakpointsEnabled;
188
-
189
- if (this.enable) {
190
- this.reporterService.point(DEBUG_REPORT_NAME?.DEBUG_BREAKPOINT, 'enabled');
191
- } else {
192
- this.reporterService.point(DEBUG_REPORT_NAME?.DEBUG_BREAKPOINT, 'unenabled');
193
- }
194
- }
195
-
196
- public async createBreakpointInput(container: HTMLElement): Promise<ICodeEditor> {
197
- this._inputEditor = await this.editorService.createCodeEditor(container!, {
198
- ...getSimpleEditorOptions(),
199
- lineHeight: 21,
200
- scrollbar: {
201
- horizontal: 'hidden',
202
- vertical: 'hidden',
203
- handleMouseWheel: false,
204
- },
205
- acceptSuggestionOnEnter: 'on',
206
- renderIndentGuides: false,
207
- });
208
- const docModel = await this.documentService.createModelReference(
209
- new URI('debug/breakpoint/expression/input').withScheme(Schemes.walkThroughSnippet),
210
- );
211
-
212
- const model = docModel.instance.getMonacoModel();
213
- model.updateOptions({ tabSize: 2 });
214
- this._inputEditor.monacoEditor.setModel(model);
215
- return Promise.resolve(this.inputEditor);
216
- }
217
- }
@@ -1,174 +0,0 @@
1
- import cls from 'classnames';
2
- import { observer } from 'mobx-react-lite';
3
- import React from 'react';
4
-
5
- import { CheckBox } from '@opensumi/ide-components';
6
- import { Badge, RecycleList } from '@opensumi/ide-components';
7
- import { useInjectable, ViewState, CommandService, EDITOR_COMMANDS, URI, getIcon } from '@opensumi/ide-core-browser';
8
- import { DebugProtocol } from '@opensumi/vscode-debugprotocol/lib/debugProtocol';
9
-
10
- import { IDebugBreakpoint, IDebugSessionManager, ISourceBreakpoint } from '../../../common';
11
- import {
12
- DebugBreakpoint,
13
- DebugExceptionBreakpoint,
14
- isDebugBreakpoint,
15
- isRuntimeBreakpoint,
16
- getStatus,
17
- } from '../../breakpoint';
18
- import { DebugSessionManager } from '../../debug-session-manager';
19
-
20
- import styles from './debug-breakpoints.module.less';
21
- import { DebugBreakpointsService } from './debug-breakpoints.service';
22
-
23
- export interface BreakpointItem {
24
- name: string;
25
- id: string;
26
- description: string;
27
- breakpoint: IDebugBreakpoint | DebugExceptionBreakpoint;
28
- }
29
-
30
- export const DebugBreakpointView = observer(({ viewState }: React.PropsWithChildren<{ viewState: ViewState }>) => {
31
- const { nodes, enable, inDebugMode, toggleBreakpointEnable }: DebugBreakpointsService =
32
- useInjectable(DebugBreakpointsService);
33
- const template = ({ data }: { data: BreakpointItem }) => (
34
- <BreakpointItem
35
- toggle={() => toggleBreakpointEnable(data.breakpoint)}
36
- breakpointEnabled={enable}
37
- data={data}
38
- isDebugMode={inDebugMode}
39
- ></BreakpointItem>
40
- );
41
-
42
- const containerStyle = {
43
- height: viewState.height,
44
- width: viewState.width,
45
- } as React.CSSProperties;
46
-
47
- return (
48
- <div className={cls(styles.debug_breakpoints, !enable && styles.debug_breakpoints_disabled)}>
49
- <RecycleList data={nodes} itemHeight={22} template={template} style={containerStyle} />
50
- </div>
51
- );
52
- });
53
-
54
- export const BreakpointItem = ({
55
- data,
56
- toggle,
57
- isDebugMode,
58
- breakpointEnabled,
59
- }: {
60
- data: BreakpointItem;
61
- toggle: () => void;
62
- isDebugMode: boolean;
63
- breakpointEnabled: boolean;
64
- }) => {
65
- const defaultValue = isDebugBreakpoint(data.breakpoint) ? data.breakpoint.enabled : !!data.breakpoint.default;
66
- const manager = useInjectable<DebugSessionManager>(IDebugSessionManager);
67
- const commandService = useInjectable<CommandService>(CommandService);
68
- const debugBreakpointsService = useInjectable<DebugBreakpointsService>(DebugBreakpointsService);
69
- const [enabled, setEnabled] = React.useState<boolean>(defaultValue);
70
- const [status, setStatus] = React.useState<DebugProtocol.Breakpoint | false | undefined>(undefined);
71
-
72
- const handleBreakpointChange = () => {
73
- toggle();
74
- setEnabled(!enabled);
75
- };
76
-
77
- const handleBreakpointClick = () => {
78
- if ((data.breakpoint as ISourceBreakpoint).uri) {
79
- const options = {
80
- preview: true,
81
- focus: true,
82
- };
83
- if (status) {
84
- options['range'] = {
85
- startColumn: status.column || 0,
86
- endColumn: status.column || 0,
87
- startLineNumber: status.line,
88
- endLineNumber: status.line,
89
- };
90
- } else {
91
- options['range'] = {
92
- startColumn: (data.breakpoint as IDebugBreakpoint).raw.column || 0,
93
- endColumn: (data.breakpoint as IDebugBreakpoint).raw.column || 0,
94
- startLineNumber: (data.breakpoint as IDebugBreakpoint).raw.line,
95
- endLineNumber: (data.breakpoint as IDebugBreakpoint).raw.line,
96
- };
97
- }
98
- commandService.executeCommand(
99
- EDITOR_COMMANDS.OPEN_RESOURCE.id,
100
- new URI((data.breakpoint as ISourceBreakpoint).uri),
101
- options,
102
- );
103
- }
104
- };
105
-
106
- React.useEffect(() => {
107
- const exec = () => {
108
- if (isDebugBreakpoint(data.breakpoint) && isRuntimeBreakpoint(data.breakpoint)) {
109
- const status = getStatus(data.breakpoint);
110
- setStatus(status);
111
- }
112
- };
113
-
114
- const disposable = manager.onDidChangeActiveDebugSession(() => exec());
115
- exec();
116
-
117
- return () => {
118
- setStatus(undefined);
119
- disposable.dispose();
120
- };
121
- }, []);
122
-
123
- const verified = !isDebugMode ? true : isDebugBreakpoint(data.breakpoint) && isRuntimeBreakpoint(data.breakpoint);
124
-
125
- const getBreakpointIcon = () => {
126
- const { className } = debugBreakpointsService.getBreakpointDecoration(
127
- data.breakpoint as IDebugBreakpoint,
128
- isDebugMode,
129
- breakpointEnabled && enabled,
130
- );
131
- return className;
132
- };
133
-
134
- const converBreakpointClsState = () => {
135
- if (isDebugBreakpoint(data.breakpoint)) {
136
- if (!verified) {
137
- return 'sumi-debug-breakpoint-unverified';
138
- }
139
-
140
- return getBreakpointIcon();
141
- }
142
-
143
- return '';
144
- };
145
-
146
- const removeBreakpoint = (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {
147
- event.stopPropagation();
148
- debugBreakpointsService.delBreakpoint(data.breakpoint as IDebugBreakpoint);
149
- };
150
-
151
- return (
152
- <div className={cls(styles.debug_breakpoints_item)}>
153
- <div className={cls(converBreakpointClsState(), styles.debug_breakpoints_icon)}></div>
154
- <CheckBox id={data.id} onChange={handleBreakpointChange} checked={enabled}></CheckBox>
155
- <div className={styles.debug_breakpoints_wrapper} onClick={handleBreakpointClick}>
156
- <span className={styles.debug_breakpoints_name}>{data.name}</span>
157
- <span className={styles.debug_breakpoints_description}>{data.description}</span>
158
- </div>
159
- {isDebugBreakpoint(data.breakpoint) ? (
160
- <>
161
- <a
162
- title='删除断点'
163
- onClick={(event) => removeBreakpoint(event)}
164
- className={cls(styles.debug_remove_breakpoints_icon, getIcon('close'))}
165
- ></a>
166
- <Badge className={styles.debug_breakpoints_badge}>
167
- {(data.breakpoint as IDebugBreakpoint).raw.line}
168
- {!!data.breakpoint.raw.column && `:${data.breakpoint.raw.column}`}
169
- </Badge>
170
- </>
171
- ) : null}
172
- </div>
173
- );
174
- };
@@ -1,110 +0,0 @@
1
- @import '~@opensumi/ide-components/lib/style/mixins.less';
2
-
3
- .debug_action_bar {
4
- height: 28px;
5
- display: flex;
6
- align-items: center;
7
- padding: 0px 8px;
8
- margin-bottom: 8px;
9
- justify-content: flex-start;
10
- pointer-events: all;
11
- overflow: hidden;
12
-
13
- .debug_actions {
14
- display: flex;
15
- justify-content: space-between;
16
- align-items: center;
17
- min-width: 124px;
18
- & > *:not(:first-child) {
19
- margin-left: 6px;
20
- }
21
- }
22
-
23
- .debug_selection {
24
- width: 100%;
25
- min-width: 50px;
26
- margin-right: 10px;
27
- max-width: 200px;
28
- &:focus-visible {
29
- outline: 0;
30
- }
31
- :global(.kt-select-value) {
32
- & > option {
33
- min-width: 22px;
34
- }
35
- }
36
- }
37
- }
38
-
39
- .debug_configuration_toolbar {
40
- display: flex;
41
- height: 28px;
42
- padding-right: 8px;
43
- margin-bottom: 8px;
44
- align-items: center;
45
-
46
- .debug_actions {
47
- display: flex;
48
- flex: 1;
49
- justify-content: space-between;
50
- align-items: center;
51
- min-width: 58px;
52
- max-width: 66px;
53
- }
54
-
55
- .debug_selection {
56
- width: 100%;
57
- min-width: 50px;
58
- margin-left: 8px;
59
- margin-right: 6px;
60
-
61
- &:focus-visible {
62
- outline: 0;
63
- }
64
- :global(.kt-select-value) {
65
- & > option {
66
- min-width: 22px;
67
- }
68
- }
69
- }
70
- }
71
-
72
- .debug_toolbar_container {
73
- position: absolute;
74
- width: 100%;
75
- height: 100%;
76
- display: flex;
77
- align-content: center;
78
- justify-content: center;
79
- z-index: 10;
80
- user-select: none;
81
-
82
- .debug_action_bar {
83
- height: 100%;
84
- padding: 0px 12px;
85
- }
86
- }
87
-
88
- .debug_toolbar_wrapper {
89
- display: flex;
90
- height: 28px;
91
- padding-left: 5px;
92
- background-color: var(--debugToolBar-background);
93
- border: 1px solid var(--debugToolBar-border);
94
- .modal-shadow();
95
- }
96
-
97
- .debug_toolbar_wrapper_electron {
98
- -webkit-app-region: none;
99
- }
100
-
101
- .debug_toolbar_drag {
102
- pointer-events: all;
103
- cursor: pointer;
104
- }
105
-
106
- .debug_toolbar_drag_wrapper {
107
- display: flex;
108
- height: 100%;
109
- align-items: center;
110
- }