@opensumi/ide-debug 2.21.4-rc-1668395886.0 → 2.21.4

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 (221) hide show
  1. package/lib/browser/debug-contribution.d.ts +148 -2
  2. package/lib/browser/debug-contribution.d.ts.map +1 -1
  3. package/lib/browser/debug-contribution.js +204 -49
  4. package/lib/browser/debug-contribution.js.map +1 -1
  5. package/lib/browser/debug-session-manager.d.ts +3 -2
  6. package/lib/browser/debug-session-manager.d.ts.map +1 -1
  7. package/lib/browser/debug-session-manager.js +3 -2
  8. package/lib/browser/debug-session-manager.js.map +1 -1
  9. package/lib/browser/debug-session.d.ts +4 -3
  10. package/lib/browser/debug-session.d.ts.map +1 -1
  11. package/lib/browser/debug-session.js.map +1 -1
  12. package/lib/browser/debug-style.less +7 -3
  13. package/lib/browser/editor/debug-breakpoint-zone-widget.js +2 -2
  14. package/lib/browser/editor/debug-breakpoint-zone-widget.js.map +1 -1
  15. package/lib/browser/editor/debug-breakpoint.module.less +4 -2
  16. package/lib/browser/editor/debug-editor-contribution.d.ts +2 -2
  17. package/lib/browser/editor/debug-editor-contribution.d.ts.map +1 -1
  18. package/lib/browser/editor/debug-editor-contribution.js +3 -2
  19. package/lib/browser/editor/debug-editor-contribution.js.map +1 -1
  20. package/lib/browser/editor/debug-model-manager.d.ts +9 -2
  21. package/lib/browser/editor/debug-model-manager.d.ts.map +1 -1
  22. package/lib/browser/editor/debug-model-manager.js +15 -8
  23. package/lib/browser/editor/debug-model-manager.js.map +1 -1
  24. package/lib/browser/index.d.ts +14 -0
  25. package/lib/browser/index.d.ts.map +1 -1
  26. package/lib/browser/index.js +15 -6
  27. package/lib/browser/index.js.map +1 -1
  28. package/lib/browser/model/debug-source.d.ts +3 -3
  29. package/lib/browser/model/debug-source.d.ts.map +1 -1
  30. package/lib/browser/model/debug-source.js.map +1 -1
  31. package/lib/browser/model/debug-watch.d.ts.map +1 -1
  32. package/lib/browser/model/debug-watch.js +2 -1
  33. package/lib/browser/model/debug-watch.js.map +1 -1
  34. package/lib/browser/view/breakpoints/debug-breakpoints.service.d.ts.map +1 -1
  35. package/lib/browser/view/breakpoints/debug-breakpoints.service.js +1 -1
  36. package/lib/browser/view/breakpoints/debug-breakpoints.service.js.map +1 -1
  37. package/lib/browser/view/console/debug-console-session.d.ts +1 -2
  38. package/lib/browser/view/console/debug-console-session.d.ts.map +1 -1
  39. package/lib/browser/view/console/debug-console-session.js.map +1 -1
  40. package/lib/browser/view/console/debug-console.contribution.d.ts.map +1 -1
  41. package/lib/browser/view/console/debug-console.contribution.js +23 -21
  42. package/lib/browser/view/console/debug-console.contribution.js.map +1 -1
  43. package/lib/browser/view/console/debug-console.module.less +4 -1
  44. package/lib/browser/view/console/debug-console.view.js +2 -2
  45. package/lib/browser/view/console/debug-console.view.js.map +1 -1
  46. package/lib/browser/view/frames/debug-call-stack.contribution.js +5 -5
  47. package/lib/browser/view/frames/debug-call-stack.contribution.js.map +1 -1
  48. package/lib/browser/view/variables/debug-variables.contribution.d.ts.map +1 -1
  49. package/lib/browser/view/variables/debug-variables.contribution.js +13 -12
  50. package/lib/browser/view/variables/debug-variables.contribution.js.map +1 -1
  51. package/lib/browser/view/variables/debug-variables.module.less +1 -1
  52. package/lib/browser/view/variables/debug-variables.view.js +1 -1
  53. package/lib/browser/view/variables/debug-variables.view.js.map +1 -1
  54. package/lib/browser/view/watch/debug-watch.contribution.d.ts.map +1 -1
  55. package/lib/browser/view/watch/debug-watch.contribution.js +19 -21
  56. package/lib/browser/view/watch/debug-watch.contribution.js.map +1 -1
  57. package/lib/browser/view/watch/debug-watch.module.less +1 -1
  58. package/lib/browser/view/watch/debug-watch.view.js +1 -1
  59. package/lib/browser/view/watch/debug-watch.view.js.map +1 -1
  60. package/lib/common/debug-model.d.ts +2 -17
  61. package/lib/common/debug-model.d.ts.map +1 -1
  62. package/lib/common/debug-model.js +1 -9
  63. package/lib/common/debug-model.js.map +1 -1
  64. package/lib/common/index.d.ts +0 -2
  65. package/lib/common/index.d.ts.map +1 -1
  66. package/lib/common/index.js +0 -2
  67. package/lib/common/index.js.map +1 -1
  68. package/package.json +24 -25
  69. package/lib/common/commands.d.ts +0 -46
  70. package/lib/common/commands.d.ts.map +0 -1
  71. package/lib/common/commands.js +0 -149
  72. package/lib/common/commands.js.map +0 -1
  73. package/lib/common/debug-console.d.ts +0 -18
  74. package/lib/common/debug-console.d.ts.map +0 -1
  75. package/lib/common/debug-console.js +0 -5
  76. package/lib/common/debug-console.js.map +0 -1
  77. package/src/browser/assets/breakpoint-conditional-disabled.svg +0 -4
  78. package/src/browser/assets/breakpoint-conditional-unverified.svg +0 -4
  79. package/src/browser/assets/breakpoint-conditional.svg +0 -4
  80. package/src/browser/assets/breakpoint-disabled.svg +0 -4
  81. package/src/browser/assets/breakpoint-hint.svg +0 -4
  82. package/src/browser/assets/breakpoint-log-disabled.svg +0 -4
  83. package/src/browser/assets/breakpoint-log-unverified.svg +0 -4
  84. package/src/browser/assets/breakpoint-log.svg +0 -4
  85. package/src/browser/assets/breakpoint-unsupported.svg +0 -4
  86. package/src/browser/assets/breakpoint-unverified.svg +0 -4
  87. package/src/browser/assets/breakpoint.svg +0 -4
  88. package/src/browser/assets/breakpoints-activate-inverse.svg +0 -4
  89. package/src/browser/assets/breakpoints-activate.svg +0 -4
  90. package/src/browser/assets/configure-inverse.svg +0 -4
  91. package/src/browser/assets/configure.svg +0 -4
  92. package/src/browser/assets/continue-inverse.svg +0 -4
  93. package/src/browser/assets/current-and-breakpoint.svg +0 -4
  94. package/src/browser/assets/current-arrow.svg +0 -4
  95. package/src/browser/assets/remove-all-inverse.svg +0 -4
  96. package/src/browser/assets/remove-all.svg +0 -4
  97. package/src/browser/assets/repl-inverse.svg +0 -4
  98. package/src/browser/assets/repl.svg +0 -4
  99. package/src/browser/assets/restart-inverse.svg +0 -4
  100. package/src/browser/assets/stackframe-and-breakpoint.svg +0 -4
  101. package/src/browser/assets/stackframe-arrow.svg +0 -4
  102. package/src/browser/assets/start-inverse.svg +0 -4
  103. package/src/browser/breakpoint/breakpoint-decoration.ts +0 -57
  104. package/src/browser/breakpoint/breakpoint-manager.ts +0 -348
  105. package/src/browser/breakpoint/breakpoint-marker.ts +0 -70
  106. package/src/browser/breakpoint/index.ts +0 -3
  107. package/src/browser/components/debug-action/index.module.less +0 -73
  108. package/src/browser/components/debug-action/index.tsx +0 -40
  109. package/src/browser/components/debug-exception-widget.less +0 -42
  110. package/src/browser/components/floating-click-widget/index.module.less +0 -5
  111. package/src/browser/components/floating-click-widget/index.tsx +0 -21
  112. package/src/browser/components/index.ts +0 -1
  113. package/src/browser/contextkeys/debug-call-stack-item-type-key.ts +0 -4
  114. package/src/browser/contextkeys/debug-contextkey.service.ts +0 -54
  115. package/src/browser/contextkeys/index.ts +0 -1
  116. package/src/browser/debug-ansi-handle.ts +0 -521
  117. package/src/browser/debug-configuration-manager.ts +0 -513
  118. package/src/browser/debug-configuration-model.ts +0 -66
  119. package/src/browser/debug-contribution.ts +0 -751
  120. package/src/browser/debug-exception-widget.tsx +0 -89
  121. package/src/browser/debug-link-detector.ts +0 -234
  122. package/src/browser/debug-memory.ts +0 -220
  123. package/src/browser/debug-preferences.ts +0 -70
  124. package/src/browser/debug-progress.service.ts +0 -122
  125. package/src/browser/debug-schema-updater.ts +0 -67
  126. package/src/browser/debug-service.ts +0 -42
  127. package/src/browser/debug-session-connection.ts +0 -333
  128. package/src/browser/debug-session-contribution.ts +0 -57
  129. package/src/browser/debug-session-manager.ts +0 -622
  130. package/src/browser/debug-session.ts +0 -1178
  131. package/src/browser/debug-style.less +0 -124
  132. package/src/browser/debugUtils.ts +0 -110
  133. package/src/browser/editor/debug-breakpoint-widget.ts +0 -99
  134. package/src/browser/editor/debug-breakpoint-zone-widget.tsx +0 -262
  135. package/src/browser/editor/debug-breakpoint.module.less +0 -29
  136. package/src/browser/editor/debug-editor-contribution.ts +0 -589
  137. package/src/browser/editor/debug-expression-provider.ts +0 -101
  138. package/src/browser/editor/debug-hover-model.ts +0 -38
  139. package/src/browser/editor/debug-hover-source.ts +0 -107
  140. package/src/browser/editor/debug-hover-tree.model.service.ts +0 -332
  141. package/src/browser/editor/debug-hover-widget.tsx +0 -200
  142. package/src/browser/editor/debug-hover.module.less +0 -29
  143. package/src/browser/editor/debug-hover.view.tsx +0 -147
  144. package/src/browser/editor/debug-model-manager.ts +0 -219
  145. package/src/browser/editor/debug-model.ts +0 -853
  146. package/src/browser/editor/debug-run-to-cursor.service.ts +0 -180
  147. package/src/browser/editor/debug-styles.ts +0 -66
  148. package/src/browser/editor/evaluatable-expression.ts +0 -47
  149. package/src/browser/editor/index.ts +0 -6
  150. package/src/browser/index.ts +0 -127
  151. package/src/browser/markers/index.ts +0 -2
  152. package/src/browser/markers/marker-manager.ts +0 -201
  153. package/src/browser/markers/marker.ts +0 -20
  154. package/src/browser/model/debug-source.ts +0 -144
  155. package/src/browser/model/debug-stack-frame.ts +0 -111
  156. package/src/browser/model/debug-thread.ts +0 -186
  157. package/src/browser/model/debug-watch.ts +0 -129
  158. package/src/browser/model/index.ts +0 -4
  159. package/src/browser/preferences/launch-folder-preference-provider.ts +0 -23
  160. package/src/browser/preferences/launch-preferences-contribution.ts +0 -9
  161. package/src/browser/preferences/launch-preferences.ts +0 -16
  162. package/src/browser/tree/debug-console-tree-node.define.tsx +0 -76
  163. package/src/browser/tree/debug-tree-node.define.ts +0 -768
  164. package/src/browser/tree/index.ts +0 -2
  165. package/src/browser/view/breakpoints/debug-breakpoints.module.less +0 -72
  166. package/src/browser/view/breakpoints/debug-breakpoints.service.ts +0 -216
  167. package/src/browser/view/breakpoints/debug-breakpoints.view.tsx +0 -174
  168. package/src/browser/view/configuration/debug-configuration.module.less +0 -110
  169. package/src/browser/view/configuration/debug-configuration.service.ts +0 -170
  170. package/src/browser/view/configuration/debug-configuration.view.tsx +0 -253
  171. package/src/browser/view/configuration/debug-toolbar.service.ts +0 -167
  172. package/src/browser/view/configuration/debug-toolbar.view.tsx +0 -335
  173. package/src/browser/view/console/debug-console-filter.model.ts +0 -49
  174. package/src/browser/view/console/debug-console-filter.service.ts +0 -81
  175. package/src/browser/view/console/debug-console-filter.view.tsx +0 -78
  176. package/src/browser/view/console/debug-console-model.ts +0 -48
  177. package/src/browser/view/console/debug-console-session.ts +0 -165
  178. package/src/browser/view/console/debug-console-toolbar.view.tsx +0 -28
  179. package/src/browser/view/console/debug-console-tree.model.service.ts +0 -550
  180. package/src/browser/view/console/debug-console.contribution.ts +0 -179
  181. package/src/browser/view/console/debug-console.module.less +0 -369
  182. package/src/browser/view/console/debug-console.service.ts +0 -433
  183. package/src/browser/view/console/debug-console.view.tsx +0 -500
  184. package/src/browser/view/debug-view-model.ts +0 -182
  185. package/src/browser/view/frames/debug-call-stack-frame.view.tsx +0 -224
  186. package/src/browser/view/frames/debug-call-stack-session.view.tsx +0 -237
  187. package/src/browser/view/frames/debug-call-stack-thread.view.tsx +0 -93
  188. package/src/browser/view/frames/debug-call-stack.contribution.ts +0 -88
  189. package/src/browser/view/frames/debug-call-stack.module.less +0 -193
  190. package/src/browser/view/frames/debug-call-stack.operation.tsx +0 -97
  191. package/src/browser/view/frames/debug-call-stack.service.ts +0 -105
  192. package/src/browser/view/frames/debug-call-stack.view.tsx +0 -43
  193. package/src/browser/view/variables/debug-variables-model.ts +0 -38
  194. package/src/browser/view/variables/debug-variables-tree.model.service.ts +0 -467
  195. package/src/browser/view/variables/debug-variables.contribution.ts +0 -243
  196. package/src/browser/view/variables/debug-variables.module.less +0 -148
  197. package/src/browser/view/variables/debug-variables.view.tsx +0 -303
  198. package/src/browser/view/watch/debug-watch-model.ts +0 -38
  199. package/src/browser/view/watch/debug-watch-tree.model.service.ts +0 -567
  200. package/src/browser/view/watch/debug-watch.contribution.ts +0 -170
  201. package/src/browser/view/watch/debug-watch.module.less +0 -188
  202. package/src/browser/view/watch/debug-watch.view.tsx +0 -337
  203. package/src/common/commands.ts +0 -146
  204. package/src/common/constants.ts +0 -81
  205. package/src/common/debug-breakpoint.ts +0 -43
  206. package/src/common/debug-configuration.ts +0 -68
  207. package/src/common/debug-console.ts +0 -20
  208. package/src/common/debug-editor.ts +0 -4
  209. package/src/common/debug-hover.ts +0 -31
  210. package/src/common/debug-model.ts +0 -272
  211. package/src/common/debug-progress.ts +0 -8
  212. package/src/common/debug-schema-updater.ts +0 -1
  213. package/src/common/debug-service.ts +0 -176
  214. package/src/common/debug-session-options.ts +0 -19
  215. package/src/common/debug-session.ts +0 -200
  216. package/src/common/evaluatable-expression.ts +0 -43
  217. package/src/common/index.ts +0 -16
  218. package/src/common/inline-values.ts +0 -77
  219. package/src/common/terminal.ts +0 -163
  220. package/src/common/types.ts +0 -86
  221. package/src/index.ts +0 -1
@@ -1,751 +0,0 @@
1
- import { Injector, Autowired, INJECTOR_TOKEN } from '@opensumi/di';
2
- import {
3
- Domain,
4
- ClientAppContribution,
5
- localize,
6
- CommandContribution,
7
- CommandRegistry,
8
- KeybindingContribution,
9
- JsonSchemaContribution,
10
- IJSONSchemaRegistry,
11
- PreferenceSchema,
12
- PreferenceContribution,
13
- CommandService,
14
- IReporterService,
15
- formatLocalize,
16
- CoreConfiguration,
17
- ComponentContribution,
18
- ComponentRegistry,
19
- KeybindingRegistry,
20
- getIcon,
21
- PreferenceService,
22
- IPreferenceSettingsService,
23
- COMMON_COMMANDS,
24
- } from '@opensumi/ide-core-browser';
25
- import { browserViews } from '@opensumi/ide-core-browser/lib/extensions/schema/browserViews';
26
- import { ToolbarRegistry, TabBarToolbarContribution } from '@opensumi/ide-core-browser/lib/layout';
27
- import { MenuContribution, MenuId, IMenuRegistry } from '@opensumi/ide-core-browser/lib/menu/next';
28
- import { IExtensionsSchemaService, URI } from '@opensumi/ide-core-common';
29
- import {
30
- BrowserEditorContribution,
31
- IEditorFeatureRegistry,
32
- EditorComponentRegistry,
33
- IEditor,
34
- } from '@opensumi/ide-editor/lib/browser';
35
- import { IFileServiceClient, IShadowFileProvider } from '@opensumi/ide-file-service';
36
- import { FileServiceClient } from '@opensumi/ide-file-service/lib/browser/file-service-client';
37
- import { IMainLayoutService, IViewsRegistry } from '@opensumi/ide-main-layout';
38
- import { WelcomeView } from '@opensumi/ide-main-layout/lib/browser/welcome.view';
39
- import * as monaco from '@opensumi/monaco-editor-core/esm/vs/editor/editor.api';
40
-
41
- import {
42
- IDebugSessionManager,
43
- launchSchemaUri,
44
- DEBUG_CONTAINER_ID,
45
- DEBUG_WATCH_ID,
46
- DEBUG_VARIABLES_ID,
47
- DEBUG_STACK_ID,
48
- DEBUG_BREAKPOINTS_ID,
49
- DEBUG_FLOATING_CLICK_WIDGET,
50
- DEBUG_REPORT_NAME,
51
- DEBUG_WELCOME_ID,
52
- DEBUG_SCHEME,
53
- TSourceBrekpointProperties,
54
- DEBUG_COMMANDS,
55
- IDebugModelManager,
56
- } from '../common';
57
-
58
- import {
59
- CONTEXT_DEBUGGERS_AVAILABLE,
60
- CONTEXT_IN_DEBUG_MODE,
61
- CONTEXT_BREAKPOINT_INPUT_FOCUSED,
62
- CONTEXT_EXCEPTION_WIDGET_VISIBLE,
63
- } from './../common/constants';
64
- import { BreakpointManager, SelectedBreakpoint } from './breakpoint';
65
- import { FloatingClickWidget } from './components/floating-click-widget';
66
- import { DebugContextKey } from './contextkeys/debug-contextkey.service';
67
- import { DebugConfigurationManager } from './debug-configuration-manager';
68
- import { DebugPreferences, debugPreferencesSchema } from './debug-preferences';
69
- import { DebugProgressService } from './debug-progress.service';
70
- import { launchSchema } from './debug-schema-updater';
71
- import { DebugSession } from './debug-session';
72
- import { DebugSessionManager } from './debug-session-manager';
73
- import { DebugEditorContribution } from './editor/debug-editor-contribution';
74
- import { DebugRunToCursorService } from './editor/debug-run-to-cursor.service';
75
- import { DebugBreakpointsService } from './view/breakpoints/debug-breakpoints.service';
76
- import { DebugBreakpointView } from './view/breakpoints/debug-breakpoints.view';
77
- import { DebugConfigurationService } from './view/configuration/debug-configuration.service';
78
- import { DebugConfigurationView } from './view/configuration/debug-configuration.view';
79
- import { DebugToolbarService } from './view/configuration/debug-toolbar.service';
80
- import { DebugConsoleService } from './view/console/debug-console.service';
81
- import { DebugViewModel } from './view/debug-view-model';
82
- import { DebugCallStackView } from './view/frames/debug-call-stack.view';
83
- import { DebugVariableView } from './view/variables/debug-variables.view';
84
- import { DebugWatchView } from './view/watch/debug-watch.view';
85
-
86
- const LAUNCH_JSON_REGEX = /launch\.json$/;
87
-
88
- export namespace DebugBreakpointWidgetCommands {
89
- export const ACCEPT = {
90
- id: 'debug.breakpointWidget.accept',
91
- };
92
- export const CLOSE = {
93
- id: 'debug.breakpointWidget.close',
94
- };
95
- }
96
-
97
- @Domain(
98
- ClientAppContribution,
99
- ComponentContribution,
100
- TabBarToolbarContribution,
101
- CommandContribution,
102
- KeybindingContribution,
103
- JsonSchemaContribution,
104
- PreferenceContribution,
105
- MenuContribution,
106
- BrowserEditorContribution,
107
- )
108
- export class DebugContribution
109
- implements
110
- ComponentContribution,
111
- TabBarToolbarContribution,
112
- CommandContribution,
113
- KeybindingContribution,
114
- JsonSchemaContribution,
115
- PreferenceContribution,
116
- MenuContribution,
117
- BrowserEditorContribution
118
- {
119
- schema: PreferenceSchema = debugPreferencesSchema;
120
-
121
- @Autowired(IMainLayoutService)
122
- protected readonly mainlayoutService: IMainLayoutService;
123
-
124
- @Autowired(BreakpointManager)
125
- protected readonly breakpointManager: BreakpointManager;
126
-
127
- @Autowired(DebugConfigurationManager)
128
- protected readonly configurations: DebugConfigurationManager;
129
-
130
- @Autowired(IDebugModelManager)
131
- protected debugEditorController: IDebugModelManager;
132
-
133
- @Autowired(DebugBreakpointsService)
134
- protected debugBreakpointsService: DebugBreakpointsService;
135
-
136
- @Autowired(DebugViewModel)
137
- protected readonly debugModel: DebugViewModel;
138
-
139
- @Autowired(DebugPreferences)
140
- protected readonly debugPreferences: DebugPreferences;
141
-
142
- @Autowired(DebugConsoleService)
143
- protected readonly debugConsole: DebugConsoleService;
144
-
145
- @Autowired(DebugConfigurationService)
146
- protected readonly debugConfigurationService: DebugConfigurationService;
147
-
148
- @Autowired(IDebugSessionManager)
149
- protected readonly sessionManager: DebugSessionManager;
150
-
151
- @Autowired(CommandService)
152
- protected readonly commandService: CommandService;
153
-
154
- @Autowired(DebugToolbarService)
155
- protected readonly debugToolbarService: DebugToolbarService;
156
-
157
- @Autowired(INJECTOR_TOKEN)
158
- private readonly injector: Injector;
159
-
160
- @Autowired(PreferenceService)
161
- protected readonly preferences: PreferenceService;
162
-
163
- @Autowired(IReporterService)
164
- private readonly reporterService: IReporterService;
165
-
166
- @Autowired(IViewsRegistry)
167
- private viewsRegistry: IViewsRegistry;
168
-
169
- @Autowired(IShadowFileProvider)
170
- private shadowFileServiceProvider: IShadowFileProvider;
171
-
172
- @Autowired(IFileServiceClient)
173
- protected readonly fileSystem: FileServiceClient;
174
-
175
- @Autowired(IPreferenceSettingsService)
176
- protected readonly preferenceSettings: IPreferenceSettingsService;
177
-
178
- @Autowired(DebugProgressService)
179
- protected readonly debugProgressService: DebugProgressService;
180
-
181
- @Autowired(DebugRunToCursorService)
182
- protected readonly debugRunToCursorService: DebugRunToCursorService;
183
-
184
- @Autowired(DebugContextKey)
185
- protected readonly debugContextKey: DebugContextKey;
186
-
187
- @Autowired(IExtensionsSchemaService)
188
- protected readonly extensionsPointService: IExtensionsSchemaService;
189
-
190
- private firstSessionStart = true;
191
-
192
- get selectedBreakpoint(): SelectedBreakpoint | undefined {
193
- const { selectedBreakpoint } = this.breakpointManager;
194
- return selectedBreakpoint;
195
- }
196
-
197
- registerEditorComponent(registry: EditorComponentRegistry) {
198
- registry.registerEditorSideWidget({
199
- id: DEBUG_FLOATING_CLICK_WIDGET,
200
- component: FloatingClickWidget as any,
201
- displaysOnResource: (r) => {
202
- const { configUri } = this.preferences.resolve('launch');
203
- if (!configUri) {
204
- return false;
205
- }
206
- return configUri.isEqual(r.uri) && LAUNCH_JSON_REGEX.test(r.uri.toString());
207
- },
208
- });
209
- }
210
-
211
- registerComponent(registry: ComponentRegistry) {
212
- registry.register(
213
- '@opensumi/ide-debug',
214
- [
215
- {
216
- component: DebugWatchView,
217
- id: DEBUG_WATCH_ID,
218
- name: localize('debug.watch.title'),
219
- when: `${CONTEXT_DEBUGGERS_AVAILABLE.equalsTo(true)} || ${CONTEXT_IN_DEBUG_MODE.equalsTo(true)}`,
220
- collapsed: false,
221
- },
222
- {
223
- component: DebugCallStackView,
224
- id: DEBUG_STACK_ID,
225
- name: localize('debug.callStack.title'),
226
- when: `${CONTEXT_DEBUGGERS_AVAILABLE.equalsTo(true)} || ${CONTEXT_IN_DEBUG_MODE.equalsTo(true)}`,
227
- collapsed: false,
228
- },
229
- {
230
- component: DebugVariableView,
231
- id: DEBUG_VARIABLES_ID,
232
- name: localize('debug.variables.title'),
233
- when: `${CONTEXT_DEBUGGERS_AVAILABLE.equalsTo(true)} || ${CONTEXT_IN_DEBUG_MODE.equalsTo(true)}`,
234
- collapsed: false,
235
- },
236
- {
237
- component: DebugBreakpointView,
238
- id: DEBUG_BREAKPOINTS_ID,
239
- name: localize('debug.breakpoints.title'),
240
- when: `${CONTEXT_DEBUGGERS_AVAILABLE.equalsTo(true)} || ${CONTEXT_IN_DEBUG_MODE.equalsTo(true)}`,
241
- collapsed: false,
242
- },
243
- {
244
- component: WelcomeView,
245
- id: DEBUG_WELCOME_ID,
246
- name: 'Debug Welcome',
247
- when: `${CONTEXT_DEBUGGERS_AVAILABLE.equalsTo(false)} && ${CONTEXT_IN_DEBUG_MODE.equalsTo(false)}`,
248
- initialProps: { viewId: DEBUG_WELCOME_ID },
249
- },
250
- ],
251
- {
252
- iconClass: getIcon('debug'),
253
- priority: 7,
254
- title: localize('debug.container.title'),
255
- containerId: DEBUG_CONTAINER_ID,
256
- titleComponent: DebugConfigurationView,
257
- activateKeyBinding: 'ctrlcmd+shift+d',
258
- },
259
- );
260
- }
261
-
262
- async initialize() {
263
- this.fileSystem.registerProvider(DEBUG_SCHEME, this.shadowFileServiceProvider);
264
- this.debugEditorController.init();
265
- this.debugProgressService.run(this.sessionManager);
266
- }
267
-
268
- onStart() {
269
- this.viewsRegistry.registerViewWelcomeContent(DEBUG_WELCOME_ID, {
270
- content: formatLocalize('welcome-view.noLaunchJson', DEBUG_COMMANDS.START.id),
271
- when: 'default',
272
- });
273
- this.sessionManager.onDidCreateDebugSession((session: DebugSession) => {
274
- this.debugModel.init(session);
275
- });
276
- this.sessionManager.onDidStartDebugSession((session: DebugSession) => {
277
- const { internalConsoleOptions } = session.configuration;
278
- const openDebug = session.configuration.openDebug || this.debugPreferences['debug.openDebug'];
279
- if (openDebug === 'openOnSessionStart' || openDebug === 'openOnFirstSessionStart') {
280
- if (this.firstSessionStart) {
281
- this.openDebugView();
282
- }
283
- } else if (openDebug !== 'neverOpen') {
284
- this.openDebugView();
285
- }
286
-
287
- if (
288
- internalConsoleOptions === 'openOnSessionStart' ||
289
- (internalConsoleOptions === 'openOnFirstSessionStart' && this.firstSessionStart)
290
- ) {
291
- this.openDebugConsoleView();
292
- }
293
- this.firstSessionStart = false;
294
- this.commandService.tryExecuteCommand('statusbar.changeBackgroundColor', 'var(--statusBar-debuggingBackground)');
295
- this.commandService.tryExecuteCommand('statusbar.changeColor', 'var(--statusBar-debuggingForeground)');
296
- });
297
- this.sessionManager.onDidStopDebugSession((session) => {
298
- const { openDebug } = session.configuration;
299
- if (openDebug === 'openOnDebugBreak') {
300
- this.openDebugView();
301
- }
302
- });
303
- this.sessionManager.onDidDestroyDebugSession((session) => {
304
- if (this.sessionManager.sessions.length === 0) {
305
- this.commandService.tryExecuteCommand('statusbar.changeBackgroundColor', 'var(--statusBar-background)');
306
- this.commandService.tryExecuteCommand('statusbar.changeColor');
307
- }
308
- });
309
- this.configurations.load();
310
- this.breakpointManager.load();
311
- this.configurations.onDidChange(() => this.configurations.save());
312
- this.breakpointManager.onDidChangeBreakpoints(() => this.breakpointManager.save());
313
- this.breakpointManager.onDidChangeExceptionsBreakpoints(() => this.breakpointManager.save());
314
- this.breakpointManager.onDidChangeMarkers(() => this.breakpointManager.save());
315
-
316
- this.extensionsPointService.appendExtensionPoint(['browserViews', 'properties'], {
317
- extensionPoint: DEBUG_CONTAINER_ID,
318
- frameworkKind: ['opensumi'],
319
- jsonSchema: {
320
- ...browserViews.properties,
321
- description: formatLocalize('sumiContributes.browserViews.location.custom', localize('menu-bar.title.debug')),
322
- },
323
- });
324
- }
325
-
326
- // 左侧调试面板
327
- openDebugView() {
328
- const handler = this.mainlayoutService.getTabbarHandler(DEBUG_CONTAINER_ID);
329
- if (handler && !handler.isVisible) {
330
- handler.activate();
331
- }
332
- }
333
-
334
- // 底部调试控制台面板
335
- openDebugConsoleView() {
336
- if (!this.debugConsole.isVisible) {
337
- this.debugConsole.activate();
338
- }
339
- }
340
-
341
- onDidRender() {
342
- const handler = this.mainlayoutService.getTabbarHandler(DEBUG_CONTAINER_ID);
343
- if (handler) {
344
- handler!.setTitleComponent(DebugConfigurationView);
345
- }
346
- }
347
-
348
- registerCommands(commands: CommandRegistry) {
349
- commands.registerCommand(COMMON_COMMANDS.OPEN_LAUNCH_CONFIGURATION, {
350
- execute: () => {
351
- this.debugConfigurationService.openConfiguration();
352
- },
353
- });
354
- commands.registerCommand(DEBUG_COMMANDS.REMOVE_ALL_BREAKPOINTS, {
355
- execute: () => {
356
- this.debugBreakpointsService.removeAllBreakpoints();
357
- },
358
- });
359
- commands.registerCommand(DEBUG_COMMANDS.START, {
360
- execute: () => {
361
- this.debugConfigurationService.start();
362
- },
363
- });
364
- commands.registerCommand(DEBUG_COMMANDS.STOP, {
365
- execute: () => {
366
- this.debugToolbarService.doStop();
367
- },
368
- });
369
- commands.registerCommand(DEBUG_COMMANDS.NEXT, {
370
- execute: () => {
371
- this.debugToolbarService.doStepIn();
372
- },
373
- });
374
- commands.registerCommand(DEBUG_COMMANDS.PREV, {
375
- execute: () => {
376
- this.debugToolbarService.doStepOut();
377
- },
378
- });
379
- commands.registerCommand(DEBUG_COMMANDS.CONTINUE, {
380
- execute: () => {
381
- this.debugToolbarService.doContinue();
382
- },
383
- });
384
- commands.registerCommand(DEBUG_COMMANDS.PAUSE, {
385
- execute: () => {
386
- this.debugToolbarService.doPause();
387
- },
388
- });
389
- commands.registerCommand(DEBUG_COMMANDS.OVER, {
390
- execute: () => {
391
- this.debugToolbarService.doStepOver();
392
- },
393
- });
394
- commands.registerCommand(DEBUG_COMMANDS.RESTART, {
395
- execute: () => {
396
- this.debugToolbarService.doRestart();
397
- },
398
- });
399
- commands.registerCommand(DEBUG_COMMANDS.TOGGLE_BREAKPOINTS, {
400
- execute: () => {
401
- this.debugBreakpointsService.toggleBreakpoints();
402
- },
403
- });
404
- commands.registerCommand(DEBUG_COMMANDS.EDIT_BREAKPOINT, {
405
- execute: async (position: monaco.Position) => {
406
- this.reporterService.point(DEBUG_REPORT_NAME?.DEBUG_BREAKPOINT, 'edit');
407
- const { selectedBreakpoint } = this;
408
- if (selectedBreakpoint) {
409
- const { openBreakpointView } = selectedBreakpoint.model;
410
- let defaultContext: TSourceBrekpointProperties = 'condition';
411
- if (selectedBreakpoint.breakpoint) {
412
- const raw = selectedBreakpoint.breakpoint.raw;
413
- if (raw.condition) {
414
- defaultContext = 'condition';
415
- } else if (raw.hitCondition) {
416
- defaultContext = 'hitCondition';
417
- } else if (raw.logMessage) {
418
- defaultContext = 'logMessage';
419
- }
420
- }
421
- openBreakpointView(
422
- position,
423
- selectedBreakpoint.breakpoint && selectedBreakpoint.breakpoint.raw,
424
- defaultContext,
425
- );
426
- }
427
- },
428
- isVisible: () => !!this.selectedBreakpoint && !!this.selectedBreakpoint.breakpoint,
429
- isEnabled: () => !!this.selectedBreakpoint && !!this.selectedBreakpoint.breakpoint,
430
- });
431
- commands.registerCommand(DEBUG_COMMANDS.DISABLE_BREAKPOINT, {
432
- execute: async (position: monaco.Position) => {
433
- const { selectedBreakpoint } = this;
434
- if (selectedBreakpoint) {
435
- const { uri } = selectedBreakpoint.model;
436
- const breakpoint = this.breakpointManager.getBreakpoint(uri, position.lineNumber);
437
- if (breakpoint) {
438
- breakpoint.enabled = false;
439
- this.breakpointManager.updateBreakpoint(breakpoint);
440
- }
441
- }
442
- },
443
- isVisible: () =>
444
- !!this.selectedBreakpoint && !!this.selectedBreakpoint.breakpoint && this.selectedBreakpoint.breakpoint.enabled,
445
- isEnabled: () =>
446
- !!this.selectedBreakpoint && !!this.selectedBreakpoint.breakpoint && this.selectedBreakpoint.breakpoint.enabled,
447
- });
448
- commands.registerCommand(DEBUG_COMMANDS.ENABLE_BREAKPOINT, {
449
- execute: async (position: monaco.Position) => {
450
- const { selectedBreakpoint } = this;
451
- if (selectedBreakpoint) {
452
- const { uri } = selectedBreakpoint.model;
453
- const breakpoint = this.breakpointManager.getBreakpoint(uri, position.lineNumber);
454
- if (breakpoint) {
455
- breakpoint.enabled = true;
456
- this.breakpointManager.updateBreakpoint(breakpoint);
457
- }
458
- }
459
- },
460
- isVisible: () =>
461
- !!this.selectedBreakpoint &&
462
- !!this.selectedBreakpoint.breakpoint &&
463
- !this.selectedBreakpoint.breakpoint.enabled,
464
- isEnabled: () =>
465
- !!this.selectedBreakpoint &&
466
- !!this.selectedBreakpoint.breakpoint &&
467
- !this.selectedBreakpoint.breakpoint.enabled,
468
- });
469
- commands.registerCommand(DEBUG_COMMANDS.DELETE_BREAKPOINT, {
470
- execute: async (position: monaco.Position) => {
471
- const { selectedBreakpoint } = this;
472
- if (selectedBreakpoint) {
473
- const { uri } = selectedBreakpoint.model;
474
- const breakpoint = this.breakpointManager.getBreakpoint(uri, position.lineNumber);
475
- if (breakpoint) {
476
- this.breakpointManager.delBreakpoint(breakpoint);
477
- }
478
- }
479
- },
480
- isVisible: () => !!this.selectedBreakpoint && !!this.selectedBreakpoint.breakpoint,
481
- isEnabled: () => !!this.selectedBreakpoint && !!this.selectedBreakpoint.breakpoint,
482
- });
483
-
484
- commands.registerCommand(DEBUG_COMMANDS.ADD_CONDITIONAL_BREAKPOINT, {
485
- execute: async (position: monaco.Position) => {
486
- const { selectedBreakpoint } = this;
487
- if (selectedBreakpoint) {
488
- const { uri, openBreakpointView, toggleBreakpoint } = selectedBreakpoint.model;
489
- toggleBreakpoint(position);
490
- const breakpoint = this.breakpointManager.getBreakpoint(uri, position!.lineNumber);
491
- // 更新当前右键选中的断点
492
- if (breakpoint) {
493
- this.breakpointManager.selectedBreakpoint = {
494
- breakpoint,
495
- model: selectedBreakpoint.model,
496
- };
497
- }
498
- openBreakpointView(position, selectedBreakpoint.breakpoint && selectedBreakpoint.breakpoint.raw, 'condition');
499
- }
500
- },
501
- isVisible: () => !!this.selectedBreakpoint && !this.selectedBreakpoint.breakpoint,
502
- isEnabled: () => !!this.selectedBreakpoint && !this.selectedBreakpoint.breakpoint,
503
- });
504
- commands.registerCommand(DEBUG_COMMANDS.ADD_LOGPOINT, {
505
- execute: async (position: monaco.Position) => {
506
- const { selectedBreakpoint } = this;
507
- if (selectedBreakpoint) {
508
- const { openBreakpointView, toggleBreakpoint, uri } = selectedBreakpoint.model;
509
- toggleBreakpoint(position);
510
- const breakpoint = this.breakpointManager.getBreakpoint(uri, position!.lineNumber);
511
- // 更新当前右键选中的断点
512
- if (breakpoint) {
513
- this.breakpointManager.selectedBreakpoint = {
514
- breakpoint,
515
- model: selectedBreakpoint.model,
516
- };
517
- }
518
- openBreakpointView(
519
- position,
520
- selectedBreakpoint.breakpoint && selectedBreakpoint.breakpoint.raw,
521
- 'logMessage',
522
- );
523
- }
524
- },
525
- isVisible: () => !!this.selectedBreakpoint && !this.selectedBreakpoint.breakpoint,
526
- isEnabled: () => !!this.selectedBreakpoint && !this.selectedBreakpoint.breakpoint,
527
- });
528
- commands.registerCommand(DEBUG_COMMANDS.ADD_BREAKPOINT, {
529
- execute: async (position: monaco.Position) => {
530
- const { selectedBreakpoint } = this;
531
- if (selectedBreakpoint) {
532
- const { toggleBreakpoint } = selectedBreakpoint.model;
533
- toggleBreakpoint(position);
534
- }
535
- },
536
- isVisible: () => !!this.selectedBreakpoint && !this.selectedBreakpoint.breakpoint,
537
- isEnabled: () => !!this.selectedBreakpoint && !this.selectedBreakpoint.breakpoint,
538
- });
539
-
540
- commands.registerCommand(DebugBreakpointWidgetCommands.ACCEPT, {
541
- execute: () => {
542
- const { selectedBreakpoint } = this;
543
- if (selectedBreakpoint) {
544
- const { acceptBreakpoint } = selectedBreakpoint.model;
545
- acceptBreakpoint();
546
- }
547
- },
548
- isVisible: () => !!this.selectedBreakpoint && !!this.selectedBreakpoint.breakpoint,
549
- isEnabled: () => !!this.selectedBreakpoint && !!this.selectedBreakpoint.breakpoint,
550
- });
551
- commands.registerCommand(DebugBreakpointWidgetCommands.CLOSE, {
552
- execute: () => {
553
- const { selectedBreakpoint } = this;
554
- if (selectedBreakpoint) {
555
- const { closeBreakpointView } = selectedBreakpoint.model;
556
- closeBreakpointView();
557
- }
558
- },
559
- isVisible: () => !!this.selectedBreakpoint && !!this.selectedBreakpoint.breakpoint,
560
- isEnabled: () => !!this.selectedBreakpoint && !!this.selectedBreakpoint.breakpoint,
561
- });
562
- commands.registerCommand(DEBUG_COMMANDS.RUN_TO_CURSOR, {
563
- execute: (uri: URI) => {
564
- this.debugRunToCursorService.run(uri);
565
- },
566
- isEnabled: () => this.debugContextKey.contextDebugState.get() === 'Stopped',
567
- });
568
- commands.registerCommand(DEBUG_COMMANDS.FORCE_RUN_TO_CURSOR, {
569
- execute: (uri: URI) => {
570
- this.debugRunToCursorService.run(uri, true);
571
- },
572
- isEnabled: () => this.debugContextKey.contextDebugState.get() === 'Stopped',
573
- });
574
- }
575
-
576
- registerToolbarItems(registry: ToolbarRegistry) {
577
- /**
578
- * end
579
- */
580
-
581
- /**
582
- * 断点面板菜单
583
- */
584
- registry.registerItem({
585
- id: DEBUG_COMMANDS.REMOVE_ALL_BREAKPOINTS.id,
586
- command: DEBUG_COMMANDS.REMOVE_ALL_BREAKPOINTS.id,
587
- iconClass: getIcon('close-all'),
588
- viewId: DEBUG_BREAKPOINTS_ID,
589
- tooltip: localize('debug.breakpoint.removeAll'),
590
- });
591
-
592
- registry.registerItem({
593
- id: DEBUG_COMMANDS.TOGGLE_BREAKPOINTS.id,
594
- command: DEBUG_COMMANDS.TOGGLE_BREAKPOINTS.id,
595
- iconClass: getIcon('deactivate-breakpoints'),
596
- viewId: DEBUG_BREAKPOINTS_ID,
597
- tooltip: localize('debug.breakpoint.toggle'),
598
- });
599
- /**
600
- * end
601
- */
602
- }
603
-
604
- registerSchema(registry: IJSONSchemaRegistry) {
605
- registry.registerSchema(`${launchSchemaUri}/default`, launchSchema, ['launch.json']);
606
- }
607
-
608
- registerKeybindings(keybindings: KeybindingRegistry) {
609
- keybindings.registerKeybinding({
610
- command: DEBUG_COMMANDS.START.id,
611
- keybinding: 'f5',
612
- when: `!${CONTEXT_IN_DEBUG_MODE.raw}`,
613
- });
614
- keybindings.registerKeybinding({
615
- command: DEBUG_COMMANDS.CONTINUE.id,
616
- keybinding: 'f5',
617
- when: CONTEXT_IN_DEBUG_MODE.raw,
618
- });
619
- keybindings.registerKeybinding({
620
- command: DEBUG_COMMANDS.STOP.id,
621
- keybinding: 'shift+f5',
622
- when: CONTEXT_IN_DEBUG_MODE.raw,
623
- });
624
- keybindings.registerKeybinding({
625
- command: DEBUG_COMMANDS.NEXT.id,
626
- keybinding: 'f11',
627
- when: CONTEXT_IN_DEBUG_MODE.raw,
628
- });
629
- keybindings.registerKeybinding({
630
- command: DEBUG_COMMANDS.PREV.id,
631
- keybinding: 'shift+f11',
632
- when: CONTEXT_IN_DEBUG_MODE.raw,
633
- });
634
- keybindings.registerKeybinding({
635
- command: DEBUG_COMMANDS.OVER.id,
636
- keybinding: 'f10',
637
- when: CONTEXT_IN_DEBUG_MODE.raw,
638
- });
639
- keybindings.registerKeybinding({
640
- command: DEBUG_COMMANDS.RESTART.id,
641
- keybinding: 'shift+ctrlcmd+f5',
642
- when: CONTEXT_IN_DEBUG_MODE.raw,
643
- });
644
-
645
- keybindings.registerKeybinding({
646
- command: DebugBreakpointWidgetCommands.ACCEPT.id,
647
- keybinding: 'enter',
648
- when: CONTEXT_BREAKPOINT_INPUT_FOCUSED.raw,
649
- });
650
- keybindings.registerKeybinding({
651
- command: DebugBreakpointWidgetCommands.CLOSE.id,
652
- keybinding: 'esc',
653
- when: CONTEXT_BREAKPOINT_INPUT_FOCUSED.raw,
654
- });
655
- keybindings.registerKeybinding({
656
- command: DEBUG_COMMANDS.EXCEPTION_WIDGET_CLOSE.id,
657
- keybinding: 'esc',
658
- when: CONTEXT_EXCEPTION_WIDGET_VISIBLE.raw,
659
- });
660
- }
661
-
662
- registerMenus(menuRegistry: IMenuRegistry) {
663
- menuRegistry.registerMenuItem(MenuId.DebugBreakpointsContext, {
664
- command: DEBUG_COMMANDS.DELETE_BREAKPOINT.id,
665
- group: '1_has_breakpoint',
666
- order: 1,
667
- });
668
- menuRegistry.registerMenuItem(MenuId.DebugBreakpointsContext, {
669
- command: DEBUG_COMMANDS.EDIT_BREAKPOINT.id,
670
- group: '1_has_breakpoint',
671
- order: 2,
672
- });
673
- menuRegistry.registerMenuItem(MenuId.DebugBreakpointsContext, {
674
- command: DEBUG_COMMANDS.DISABLE_BREAKPOINT.id,
675
- group: '1_has_breakpoint',
676
- order: 3,
677
- });
678
- menuRegistry.registerMenuItem(MenuId.DebugBreakpointsContext, {
679
- command: DEBUG_COMMANDS.ENABLE_BREAKPOINT.id,
680
- group: '1_has_breakpoint',
681
- order: 4,
682
- });
683
-
684
- menuRegistry.registerMenuItem(MenuId.DebugBreakpointsContext, {
685
- command: DEBUG_COMMANDS.ADD_BREAKPOINT.id,
686
- group: '2_has_not_breakpoint',
687
- });
688
- menuRegistry.registerMenuItem(MenuId.DebugBreakpointsContext, {
689
- command: DEBUG_COMMANDS.ADD_CONDITIONAL_BREAKPOINT.id,
690
- group: '2_has_not_breakpoint',
691
- });
692
- menuRegistry.registerMenuItem(MenuId.DebugBreakpointsContext, {
693
- command: DEBUG_COMMANDS.ADD_LOGPOINT.id,
694
- group: '2_has_not_breakpoint',
695
- });
696
-
697
- // editor/context
698
- menuRegistry.registerMenuItem(MenuId.EditorContext, {
699
- command: {
700
- id: DEBUG_COMMANDS.RUN_TO_CURSOR.id,
701
- label: DEBUG_COMMANDS.RUN_TO_CURSOR.label || '',
702
- },
703
- when: `${CONTEXT_IN_DEBUG_MODE.raw}`,
704
- group: 'debug',
705
- order: 2,
706
- });
707
- menuRegistry.registerMenuItem(MenuId.EditorContext, {
708
- command: {
709
- id: DEBUG_COMMANDS.FORCE_RUN_TO_CURSOR.id,
710
- label: DEBUG_COMMANDS.FORCE_RUN_TO_CURSOR.label || '',
711
- },
712
- when: `${CONTEXT_IN_DEBUG_MODE.raw}`,
713
- group: 'debug',
714
- order: 2,
715
- });
716
-
717
- menuRegistry.registerMenuItem(MenuId.EditorTitle, {
718
- submenu: MenuId.EditorTitleRun,
719
- label: localize('debug.menu.title.run'),
720
- iconClass: getIcon('start'),
721
- group: 'navigation',
722
- order: -1,
723
- });
724
- }
725
-
726
- protected isPosition(position: monaco.Position): boolean {
727
- return position instanceof monaco.Position;
728
- }
729
-
730
- registerEditorFeature(registry: IEditorFeatureRegistry) {
731
- let debugEditorContribution: DebugEditorContribution;
732
-
733
- registry.registerEditorFeatureContribution({
734
- contribute: (editor: IEditor) => {
735
- debugEditorContribution = this.injector.get(DebugEditorContribution, [editor]);
736
- return debugEditorContribution.contribute(editor);
737
- },
738
- });
739
- // 这里是为了通过 MonacoOverrideServiceRegistry 来获取 codeEditorService ,但由于存在时序问题,所以加个 setTimeout 0
740
- setTimeout(() => {
741
- debugEditorContribution?.registerDecorationType();
742
- }, 0);
743
- this.preferenceSettings.setEnumLabels(
744
- 'debug.console.filter.mode' as keyof CoreConfiguration,
745
- {
746
- filter: localize('preference.debug.console.filter.mode.filter'),
747
- matcher: localize('preference.debug.console.filter.mode.matcher'),
748
- } as { [key in CoreConfiguration['debug.console.filter.mode']]: string },
749
- );
750
- }
751
- }