@opensumi/ide-debug 2.21.7-rc-1670229502.0 → 2.21.7

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 (323) hide show
  1. package/lib/browser/breakpoint/breakpoint-manager.js.map +1 -1
  2. package/lib/browser/breakpoint/breakpoint-marker.d.ts +1 -1
  3. package/lib/browser/breakpoint/breakpoint-marker.d.ts.map +1 -1
  4. package/lib/browser/breakpoint/breakpoint-marker.js +2 -3
  5. package/lib/browser/breakpoint/breakpoint-marker.js.map +1 -1
  6. package/lib/browser/contextkeys/debug-call-stack-item-type-key.d.ts +1 -1
  7. package/lib/browser/contextkeys/debug-call-stack-item-type-key.d.ts.map +1 -1
  8. package/lib/browser/contextkeys/debug-contextkey.service.js.map +1 -1
  9. package/lib/browser/debug-configuration-manager.d.ts +2 -2
  10. package/lib/browser/debug-configuration-manager.d.ts.map +1 -1
  11. package/lib/browser/debug-configuration-manager.js.map +1 -1
  12. package/lib/browser/debug-contribution.d.ts +147 -2
  13. package/lib/browser/debug-contribution.d.ts.map +1 -1
  14. package/lib/browser/debug-contribution.js +197 -48
  15. package/lib/browser/debug-contribution.js.map +1 -1
  16. package/lib/browser/debug-exception-widget.js.map +1 -1
  17. package/lib/browser/debug-link-detector.js.map +1 -1
  18. package/lib/browser/debug-memory.js +4 -4
  19. package/lib/browser/debug-memory.js.map +1 -1
  20. package/lib/browser/debug-preferences.d.ts +1 -1
  21. package/lib/browser/debug-preferences.d.ts.map +1 -1
  22. package/lib/browser/debug-progress.service.js.map +1 -1
  23. package/lib/browser/debug-schema-updater.js.map +1 -1
  24. package/lib/browser/debug-service.js.map +1 -1
  25. package/lib/browser/debug-session-connection.d.ts +3 -2
  26. package/lib/browser/debug-session-connection.d.ts.map +1 -1
  27. package/lib/browser/debug-session-connection.js.map +1 -1
  28. package/lib/browser/debug-session-contribution.js.map +1 -1
  29. package/lib/browser/debug-session-manager.d.ts +4 -3
  30. package/lib/browser/debug-session-manager.d.ts.map +1 -1
  31. package/lib/browser/debug-session-manager.js +7 -6
  32. package/lib/browser/debug-session-manager.js.map +1 -1
  33. package/lib/browser/debug-session.d.ts +4 -3
  34. package/lib/browser/debug-session.d.ts.map +1 -1
  35. package/lib/browser/debug-session.js +11 -15
  36. package/lib/browser/debug-session.js.map +1 -1
  37. package/lib/browser/debugUtils.js +4 -4
  38. package/lib/browser/debugUtils.js.map +1 -1
  39. package/lib/browser/editor/debug-breakpoint-widget.js.map +1 -1
  40. package/lib/browser/editor/debug-breakpoint-zone-widget.js +7 -7
  41. package/lib/browser/editor/debug-breakpoint-zone-widget.js.map +1 -1
  42. package/lib/browser/editor/debug-editor-contribution.d.ts +2 -2
  43. package/lib/browser/editor/debug-editor-contribution.d.ts.map +1 -1
  44. package/lib/browser/editor/debug-editor-contribution.js +4 -3
  45. package/lib/browser/editor/debug-editor-contribution.js.map +1 -1
  46. package/lib/browser/editor/debug-expression-provider.js.map +1 -1
  47. package/lib/browser/editor/debug-hover-model.js.map +1 -1
  48. package/lib/browser/editor/debug-hover-source.d.ts +1 -1
  49. package/lib/browser/editor/debug-hover-source.d.ts.map +1 -1
  50. package/lib/browser/editor/debug-hover-source.js.map +1 -1
  51. package/lib/browser/editor/debug-hover-tree.model.service.js.map +1 -1
  52. package/lib/browser/editor/debug-hover-widget.js.map +1 -1
  53. package/lib/browser/editor/debug-model-manager.d.ts +9 -2
  54. package/lib/browser/editor/debug-model-manager.d.ts.map +1 -1
  55. package/lib/browser/editor/debug-model-manager.js +15 -8
  56. package/lib/browser/editor/debug-model-manager.js.map +1 -1
  57. package/lib/browser/editor/debug-model.d.ts +2 -2
  58. package/lib/browser/editor/debug-model.d.ts.map +1 -1
  59. package/lib/browser/editor/debug-model.js +27 -27
  60. package/lib/browser/editor/debug-model.js.map +1 -1
  61. package/lib/browser/editor/debug-run-to-cursor.service.js +7 -7
  62. package/lib/browser/editor/debug-run-to-cursor.service.js.map +1 -1
  63. package/lib/browser/editor/evaluatable-expression.js.map +1 -1
  64. package/lib/browser/index.d.ts +14 -0
  65. package/lib/browser/index.d.ts.map +1 -1
  66. package/lib/browser/index.js +24 -8
  67. package/lib/browser/index.js.map +1 -1
  68. package/lib/browser/markers/marker-manager.js.map +1 -1
  69. package/lib/browser/model/debug-source.d.ts +3 -3
  70. package/lib/browser/model/debug-source.d.ts.map +1 -1
  71. package/lib/browser/model/debug-source.js.map +1 -1
  72. package/lib/browser/model/debug-thread.d.ts +1 -1
  73. package/lib/browser/model/debug-thread.d.ts.map +1 -1
  74. package/lib/browser/model/debug-watch.d.ts.map +1 -1
  75. package/lib/browser/model/debug-watch.js +2 -1
  76. package/lib/browser/model/debug-watch.js.map +1 -1
  77. package/lib/browser/preferences/launch-folder-preference-provider.d.ts +2 -2
  78. package/lib/browser/preferences/launch-folder-preference-provider.d.ts.map +1 -1
  79. package/lib/browser/preferences/launch-folder-preference-provider.js +2 -2
  80. package/lib/browser/preferences/launch-folder-preference-provider.js.map +1 -1
  81. package/lib/browser/preferences/launch-preferences-contribution.js.map +1 -1
  82. package/lib/browser/tree/debug-console-tree-node.define.js +6 -6
  83. package/lib/browser/tree/debug-console-tree-node.define.js.map +1 -1
  84. package/lib/browser/tree/debug-tree-node.define.js +18 -18
  85. package/lib/browser/tree/debug-tree-node.define.js.map +1 -1
  86. package/lib/browser/view/breakpoints/debug-breakpoints.service.js +3 -3
  87. package/lib/browser/view/breakpoints/debug-breakpoints.service.js.map +1 -1
  88. package/lib/browser/view/configuration/debug-configuration.module.less +5 -5
  89. package/lib/browser/view/configuration/debug-configuration.service.d.ts +2 -1
  90. package/lib/browser/view/configuration/debug-configuration.service.d.ts.map +1 -1
  91. package/lib/browser/view/configuration/debug-configuration.service.js.map +1 -1
  92. package/lib/browser/view/configuration/debug-configuration.view.d.ts.map +1 -1
  93. package/lib/browser/view/configuration/debug-configuration.view.js +1 -1
  94. package/lib/browser/view/configuration/debug-configuration.view.js.map +1 -1
  95. package/lib/browser/view/configuration/debug-toolbar.service.js.map +1 -1
  96. package/lib/browser/view/configuration/debug-toolbar.view.js +2 -2
  97. package/lib/browser/view/configuration/debug-toolbar.view.js.map +1 -1
  98. package/lib/browser/view/console/debug-console-filter.model.js.map +1 -1
  99. package/lib/browser/view/console/debug-console-filter.service.js.map +1 -1
  100. package/lib/browser/view/console/debug-console-model.js.map +1 -1
  101. package/lib/browser/view/console/debug-console-session.d.ts +2 -3
  102. package/lib/browser/view/console/debug-console-session.d.ts.map +1 -1
  103. package/lib/browser/view/console/debug-console-session.js.map +1 -1
  104. package/lib/browser/view/console/debug-console-tree.model.service.d.ts +1 -1
  105. package/lib/browser/view/console/debug-console-tree.model.service.d.ts.map +1 -1
  106. package/lib/browser/view/console/debug-console-tree.model.service.js.map +1 -1
  107. package/lib/browser/view/console/debug-console.contribution.d.ts.map +1 -1
  108. package/lib/browser/view/console/debug-console.contribution.js +23 -21
  109. package/lib/browser/view/console/debug-console.contribution.js.map +1 -1
  110. package/lib/browser/view/console/debug-console.module.less +1 -2
  111. package/lib/browser/view/console/debug-console.service.js +7 -7
  112. package/lib/browser/view/console/debug-console.service.js.map +1 -1
  113. package/lib/browser/view/console/debug-console.view.d.ts +1 -1
  114. package/lib/browser/view/console/debug-console.view.d.ts.map +1 -1
  115. package/lib/browser/view/console/debug-console.view.js +2 -2
  116. package/lib/browser/view/console/debug-console.view.js.map +1 -1
  117. package/lib/browser/view/debug-view-model.js.map +1 -1
  118. package/lib/browser/view/frames/debug-call-stack-session.view.d.ts.map +1 -1
  119. package/lib/browser/view/frames/debug-call-stack-session.view.js +16 -13
  120. package/lib/browser/view/frames/debug-call-stack-session.view.js.map +1 -1
  121. package/lib/browser/view/frames/debug-call-stack.contribution.js +5 -5
  122. package/lib/browser/view/frames/debug-call-stack.contribution.js.map +1 -1
  123. package/lib/browser/view/frames/debug-call-stack.service.js.map +1 -1
  124. package/lib/browser/view/variables/debug-variables-model.js.map +1 -1
  125. package/lib/browser/view/variables/debug-variables-tree.model.service.d.ts +1 -1
  126. package/lib/browser/view/variables/debug-variables-tree.model.service.d.ts.map +1 -1
  127. package/lib/browser/view/variables/debug-variables-tree.model.service.js.map +1 -1
  128. package/lib/browser/view/variables/debug-variables.contribution.d.ts.map +1 -1
  129. package/lib/browser/view/variables/debug-variables.contribution.js +13 -12
  130. package/lib/browser/view/variables/debug-variables.contribution.js.map +1 -1
  131. package/lib/browser/view/variables/debug-variables.module.less +1 -2
  132. package/lib/browser/view/variables/debug-variables.view.d.ts +1 -1
  133. package/lib/browser/view/variables/debug-variables.view.d.ts.map +1 -1
  134. package/lib/browser/view/variables/debug-variables.view.js +1 -1
  135. package/lib/browser/view/variables/debug-variables.view.js.map +1 -1
  136. package/lib/browser/view/watch/debug-watch-model.js.map +1 -1
  137. package/lib/browser/view/watch/debug-watch-tree.model.service.d.ts +2 -2
  138. package/lib/browser/view/watch/debug-watch-tree.model.service.d.ts.map +1 -1
  139. package/lib/browser/view/watch/debug-watch-tree.model.service.js.map +1 -1
  140. package/lib/browser/view/watch/debug-watch.contribution.d.ts.map +1 -1
  141. package/lib/browser/view/watch/debug-watch.contribution.js +19 -21
  142. package/lib/browser/view/watch/debug-watch.contribution.js.map +1 -1
  143. package/lib/browser/view/watch/debug-watch.module.less +1 -2
  144. package/lib/browser/view/watch/debug-watch.view.d.ts +1 -1
  145. package/lib/browser/view/watch/debug-watch.view.d.ts.map +1 -1
  146. package/lib/browser/view/watch/debug-watch.view.js +1 -1
  147. package/lib/browser/view/watch/debug-watch.view.js.map +1 -1
  148. package/lib/common/debug-breakpoint.d.ts +3 -3
  149. package/lib/common/debug-breakpoint.d.ts.map +1 -1
  150. package/lib/common/debug-configuration.d.ts +1 -1
  151. package/lib/common/debug-configuration.d.ts.map +1 -1
  152. package/lib/common/debug-editor.d.ts +1 -1
  153. package/lib/common/debug-editor.d.ts.map +1 -1
  154. package/lib/common/debug-model.d.ts +4 -19
  155. package/lib/common/debug-model.d.ts.map +1 -1
  156. package/lib/common/debug-model.js +6 -14
  157. package/lib/common/debug-model.js.map +1 -1
  158. package/lib/common/debug-service.d.ts +1 -1
  159. package/lib/common/debug-service.d.ts.map +1 -1
  160. package/lib/common/debug-session.d.ts +1 -1
  161. package/lib/common/debug-session.d.ts.map +1 -1
  162. package/lib/common/index.d.ts +0 -2
  163. package/lib/common/index.d.ts.map +1 -1
  164. package/lib/common/index.js +0 -2
  165. package/lib/common/index.js.map +1 -1
  166. package/lib/common/inline-values.d.ts +1 -1
  167. package/lib/common/inline-values.d.ts.map +1 -1
  168. package/lib/common/terminal.js +10 -10
  169. package/lib/common/terminal.js.map +1 -1
  170. package/package.json +25 -24
  171. package/lib/common/commands.d.ts +0 -46
  172. package/lib/common/commands.d.ts.map +0 -1
  173. package/lib/common/commands.js +0 -149
  174. package/lib/common/commands.js.map +0 -1
  175. package/lib/common/debug-console.d.ts +0 -18
  176. package/lib/common/debug-console.d.ts.map +0 -1
  177. package/lib/common/debug-console.js +0 -5
  178. package/lib/common/debug-console.js.map +0 -1
  179. package/src/browser/assets/breakpoint-conditional-disabled.svg +0 -4
  180. package/src/browser/assets/breakpoint-conditional-unverified.svg +0 -4
  181. package/src/browser/assets/breakpoint-conditional.svg +0 -4
  182. package/src/browser/assets/breakpoint-disabled.svg +0 -4
  183. package/src/browser/assets/breakpoint-hint.svg +0 -4
  184. package/src/browser/assets/breakpoint-log-disabled.svg +0 -4
  185. package/src/browser/assets/breakpoint-log-unverified.svg +0 -4
  186. package/src/browser/assets/breakpoint-log.svg +0 -4
  187. package/src/browser/assets/breakpoint-unsupported.svg +0 -4
  188. package/src/browser/assets/breakpoint-unverified.svg +0 -4
  189. package/src/browser/assets/breakpoint.svg +0 -4
  190. package/src/browser/assets/breakpoints-activate-inverse.svg +0 -4
  191. package/src/browser/assets/breakpoints-activate.svg +0 -4
  192. package/src/browser/assets/configure-inverse.svg +0 -4
  193. package/src/browser/assets/configure.svg +0 -4
  194. package/src/browser/assets/continue-inverse.svg +0 -4
  195. package/src/browser/assets/current-and-breakpoint.svg +0 -4
  196. package/src/browser/assets/current-arrow.svg +0 -4
  197. package/src/browser/assets/remove-all-inverse.svg +0 -4
  198. package/src/browser/assets/remove-all.svg +0 -4
  199. package/src/browser/assets/repl-inverse.svg +0 -4
  200. package/src/browser/assets/repl.svg +0 -4
  201. package/src/browser/assets/restart-inverse.svg +0 -4
  202. package/src/browser/assets/stackframe-and-breakpoint.svg +0 -4
  203. package/src/browser/assets/stackframe-arrow.svg +0 -4
  204. package/src/browser/assets/start-inverse.svg +0 -4
  205. package/src/browser/breakpoint/breakpoint-decoration.ts +0 -57
  206. package/src/browser/breakpoint/breakpoint-manager.ts +0 -348
  207. package/src/browser/breakpoint/breakpoint-marker.ts +0 -70
  208. package/src/browser/breakpoint/index.ts +0 -3
  209. package/src/browser/components/debug-action/index.module.less +0 -73
  210. package/src/browser/components/debug-action/index.tsx +0 -40
  211. package/src/browser/components/debug-exception-widget.less +0 -42
  212. package/src/browser/components/floating-click-widget/index.module.less +0 -5
  213. package/src/browser/components/floating-click-widget/index.tsx +0 -21
  214. package/src/browser/components/index.ts +0 -1
  215. package/src/browser/contextkeys/debug-call-stack-item-type-key.ts +0 -4
  216. package/src/browser/contextkeys/debug-contextkey.service.ts +0 -54
  217. package/src/browser/contextkeys/index.ts +0 -1
  218. package/src/browser/debug-ansi-handle.ts +0 -521
  219. package/src/browser/debug-configuration-manager.ts +0 -513
  220. package/src/browser/debug-configuration-model.ts +0 -66
  221. package/src/browser/debug-contribution.ts +0 -757
  222. package/src/browser/debug-exception-widget.tsx +0 -89
  223. package/src/browser/debug-link-detector.ts +0 -234
  224. package/src/browser/debug-memory.ts +0 -220
  225. package/src/browser/debug-preferences.ts +0 -70
  226. package/src/browser/debug-progress.service.ts +0 -122
  227. package/src/browser/debug-schema-updater.ts +0 -67
  228. package/src/browser/debug-service.ts +0 -42
  229. package/src/browser/debug-session-connection.ts +0 -331
  230. package/src/browser/debug-session-contribution.ts +0 -57
  231. package/src/browser/debug-session-manager.ts +0 -622
  232. package/src/browser/debug-session.ts +0 -1181
  233. package/src/browser/debug-style.less +0 -128
  234. package/src/browser/debugUtils.ts +0 -110
  235. package/src/browser/editor/debug-breakpoint-widget.ts +0 -99
  236. package/src/browser/editor/debug-breakpoint-zone-widget.tsx +0 -262
  237. package/src/browser/editor/debug-breakpoint.module.less +0 -31
  238. package/src/browser/editor/debug-editor-contribution.ts +0 -589
  239. package/src/browser/editor/debug-expression-provider.ts +0 -101
  240. package/src/browser/editor/debug-hover-model.ts +0 -38
  241. package/src/browser/editor/debug-hover-source.ts +0 -107
  242. package/src/browser/editor/debug-hover-tree.model.service.ts +0 -332
  243. package/src/browser/editor/debug-hover-widget.tsx +0 -200
  244. package/src/browser/editor/debug-hover.module.less +0 -29
  245. package/src/browser/editor/debug-hover.view.tsx +0 -147
  246. package/src/browser/editor/debug-model-manager.ts +0 -219
  247. package/src/browser/editor/debug-model.ts +0 -853
  248. package/src/browser/editor/debug-run-to-cursor.service.ts +0 -180
  249. package/src/browser/editor/debug-styles.ts +0 -66
  250. package/src/browser/editor/evaluatable-expression.ts +0 -47
  251. package/src/browser/editor/index.ts +0 -6
  252. package/src/browser/index.ts +0 -119
  253. package/src/browser/markers/index.ts +0 -2
  254. package/src/browser/markers/marker-manager.ts +0 -201
  255. package/src/browser/markers/marker.ts +0 -20
  256. package/src/browser/model/debug-source.ts +0 -144
  257. package/src/browser/model/debug-stack-frame.ts +0 -111
  258. package/src/browser/model/debug-thread.ts +0 -186
  259. package/src/browser/model/debug-watch.ts +0 -129
  260. package/src/browser/model/index.ts +0 -4
  261. package/src/browser/preferences/launch-folder-preference-provider.ts +0 -23
  262. package/src/browser/preferences/launch-preferences-contribution.ts +0 -9
  263. package/src/browser/preferences/launch-preferences.ts +0 -16
  264. package/src/browser/tree/debug-console-tree-node.define.tsx +0 -76
  265. package/src/browser/tree/debug-tree-node.define.ts +0 -768
  266. package/src/browser/tree/index.ts +0 -2
  267. package/src/browser/view/breakpoints/debug-breakpoints.module.less +0 -72
  268. package/src/browser/view/breakpoints/debug-breakpoints.service.ts +0 -217
  269. package/src/browser/view/breakpoints/debug-breakpoints.view.tsx +0 -174
  270. package/src/browser/view/configuration/debug-configuration.module.less +0 -110
  271. package/src/browser/view/configuration/debug-configuration.service.ts +0 -170
  272. package/src/browser/view/configuration/debug-configuration.view.tsx +0 -252
  273. package/src/browser/view/configuration/debug-toolbar.service.ts +0 -167
  274. package/src/browser/view/configuration/debug-toolbar.view.tsx +0 -335
  275. package/src/browser/view/console/debug-console-filter.model.ts +0 -49
  276. package/src/browser/view/console/debug-console-filter.service.ts +0 -81
  277. package/src/browser/view/console/debug-console-filter.view.tsx +0 -78
  278. package/src/browser/view/console/debug-console-model.ts +0 -48
  279. package/src/browser/view/console/debug-console-session.ts +0 -165
  280. package/src/browser/view/console/debug-console-toolbar.view.tsx +0 -28
  281. package/src/browser/view/console/debug-console-tree.model.service.ts +0 -550
  282. package/src/browser/view/console/debug-console.contribution.ts +0 -179
  283. package/src/browser/view/console/debug-console.module.less +0 -373
  284. package/src/browser/view/console/debug-console.service.ts +0 -433
  285. package/src/browser/view/console/debug-console.view.tsx +0 -500
  286. package/src/browser/view/debug-view-model.ts +0 -182
  287. package/src/browser/view/frames/debug-call-stack-frame.view.tsx +0 -224
  288. package/src/browser/view/frames/debug-call-stack-session.view.tsx +0 -237
  289. package/src/browser/view/frames/debug-call-stack-thread.view.tsx +0 -93
  290. package/src/browser/view/frames/debug-call-stack.contribution.ts +0 -88
  291. package/src/browser/view/frames/debug-call-stack.module.less +0 -193
  292. package/src/browser/view/frames/debug-call-stack.operation.tsx +0 -97
  293. package/src/browser/view/frames/debug-call-stack.service.ts +0 -105
  294. package/src/browser/view/frames/debug-call-stack.view.tsx +0 -43
  295. package/src/browser/view/variables/debug-variables-model.ts +0 -38
  296. package/src/browser/view/variables/debug-variables-tree.model.service.ts +0 -467
  297. package/src/browser/view/variables/debug-variables.contribution.ts +0 -243
  298. package/src/browser/view/variables/debug-variables.module.less +0 -149
  299. package/src/browser/view/variables/debug-variables.view.tsx +0 -303
  300. package/src/browser/view/watch/debug-watch-model.ts +0 -38
  301. package/src/browser/view/watch/debug-watch-tree.model.service.ts +0 -567
  302. package/src/browser/view/watch/debug-watch.contribution.ts +0 -170
  303. package/src/browser/view/watch/debug-watch.module.less +0 -189
  304. package/src/browser/view/watch/debug-watch.view.tsx +0 -337
  305. package/src/common/commands.ts +0 -146
  306. package/src/common/constants.ts +0 -81
  307. package/src/common/debug-breakpoint.ts +0 -43
  308. package/src/common/debug-configuration.ts +0 -68
  309. package/src/common/debug-console.ts +0 -20
  310. package/src/common/debug-editor.ts +0 -4
  311. package/src/common/debug-hover.ts +0 -31
  312. package/src/common/debug-model.ts +0 -272
  313. package/src/common/debug-progress.ts +0 -8
  314. package/src/common/debug-schema-updater.ts +0 -1
  315. package/src/common/debug-service.ts +0 -176
  316. package/src/common/debug-session-options.ts +0 -19
  317. package/src/common/debug-session.ts +0 -200
  318. package/src/common/evaluatable-expression.ts +0 -43
  319. package/src/common/index.ts +0 -16
  320. package/src/common/inline-values.ts +0 -77
  321. package/src/common/terminal.ts +0 -163
  322. package/src/common/types.ts +0 -86
  323. package/src/index.ts +0 -1
@@ -1,224 +0,0 @@
1
- import cls from 'classnames';
2
- import { observer } from 'mobx-react-lite';
3
- import React from 'react';
4
-
5
- import { RecycleList } from '@opensumi/ide-components';
6
- import {
7
- ViewState,
8
- isUndefined,
9
- useInjectable,
10
- localize,
11
- DisposableCollection,
12
- getIcon,
13
- } from '@opensumi/ide-core-browser';
14
-
15
- import { IDebugSessionManager } from '../../../common';
16
- import { DebugSession } from '../../debug-session';
17
- import { DebugSessionManager } from '../../debug-session-manager';
18
- import { DebugStackFrame } from '../../model';
19
- import { DebugThread } from '../../model/debug-thread';
20
-
21
- import styles from './debug-call-stack.module.less';
22
- import { DebugCallStackService } from './debug-call-stack.service';
23
-
24
-
25
- export interface DebugStackSessionViewProps {
26
- frames: DebugStackFrame[];
27
- session: DebugSession;
28
- thread: DebugThread;
29
- viewState: ViewState;
30
- indent?: number;
31
- }
32
-
33
- export const DebugStackFramesView = observer((props: DebugStackSessionViewProps) => {
34
- const { viewState, frames: rawFrames, thread, indent = 0, session } = props;
35
- const [selected, setSelected] = React.useState<number | undefined>();
36
- const [isLoading, setIsLoading] = React.useState<boolean>(false);
37
- const [frames, setFrames] = React.useState<DebugStackFrame[]>([]);
38
- const [framesErrorMessage, setFramesErrorMessage] = React.useState<string>('');
39
- const [canLoadMore, setCanLoadMore] = React.useState<boolean>(false);
40
- const manager = useInjectable<DebugSessionManager>(IDebugSessionManager);
41
- const debugCallStackService = useInjectable<DebugCallStackService>(DebugCallStackService);
42
-
43
- const loadMore = async () => {
44
- if (!thread) {
45
- return;
46
- }
47
- const remainingFramesCount =
48
- typeof thread.stoppedDetails?.totalFrames === 'number'
49
- ? thread.stoppedDetails?.totalFrames - thread.frameCount
50
- : undefined;
51
- const frames = await thread.fetchFrames(remainingFramesCount);
52
- setFrames(frames);
53
- };
54
-
55
- const frameOpenSource = (frame: DebugStackFrame) => {
56
- if (frame && frame.source) {
57
- frame.source.open({}, frame);
58
- }
59
- };
60
-
61
- React.useEffect(() => {
62
- setFrames([...rawFrames]);
63
-
64
- const disposable = new DisposableCollection();
65
-
66
- disposable.push(
67
- manager.onDidChangeActiveDebugSession(({ previous }) => {
68
- if (previous && previous !== thread.session) {
69
- setSelected(undefined);
70
- }
71
- }),
72
- );
73
-
74
- if (session) {
75
- disposable.push(
76
- session.onDidChangeCallStack(() => {
77
- setFrames([...thread.frames]);
78
- }),
79
- );
80
- }
81
-
82
- return () => {
83
- disposable.dispose();
84
- };
85
- }, []);
86
-
87
- React.useEffect(() => {
88
- if (thread) {
89
- const hasSourceFrame = thread.frames.find((e: DebugStackFrame) => !!e.source);
90
- if (hasSourceFrame) {
91
- setSelected(hasSourceFrame.raw.id);
92
- frameOpenSource(hasSourceFrame);
93
- }
94
- }
95
- }, [thread.frameCount]);
96
-
97
- React.useEffect(() => {
98
- if (thread) {
99
- if (thread.stoppedDetails) {
100
- const { framesErrorMessage, totalFrames } = thread.stoppedDetails;
101
- setFramesErrorMessage(framesErrorMessage || '');
102
- if (totalFrames && totalFrames > thread.frameCount) {
103
- setCanLoadMore(true);
104
- } else {
105
- setCanLoadMore(false);
106
- }
107
- } else {
108
- setCanLoadMore(false);
109
- }
110
- } else {
111
- setCanLoadMore(false);
112
- }
113
- }, [frames]);
114
-
115
- const template = ({ data }) => {
116
- const frame: DebugStackFrame = data;
117
- const isLabel = frame.raw.presentationHint === 'label';
118
- const isSubtle = frame.raw.presentationHint === 'subtle';
119
- const clickHandler = () => {
120
- if (isLabel || isSubtle) {
121
- return;
122
- }
123
- manager.updateCurrentSession(frame.session);
124
-
125
- frame.session.currentThread = frame.thread;
126
- setSelected(frame.raw.id);
127
- frameOpenSource(frame);
128
- };
129
-
130
- const restartFrame = (event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {
131
- event.preventDefault();
132
- event.stopPropagation();
133
-
134
- if (frame.canRestart) {
135
- frame.restart();
136
- }
137
- };
138
-
139
- return (
140
- <div
141
- style={{ paddingLeft: `${indent}px` }}
142
- className={cls(
143
- styles.debug_stack_frames_item,
144
- selected === frame.raw.id && styles.selected,
145
- !(frame.raw && frame.raw.source && frame.raw.source.name) && styles.debug_stack_frames_item_hidden,
146
- )}
147
- onClick={clickHandler}
148
- onContextMenu={(event: React.MouseEvent<HTMLDivElement, MouseEvent>) =>
149
- debugCallStackService.handleContextMenu(event, data)
150
- }
151
- >
152
- <span className={cls(styles.debug_stack_frames_item_label, isLabel && styles.label, isSubtle && styles.subtle)}>
153
- {frame.raw && frame.raw.name}
154
- </span>
155
- <span className={styles.debug_stack_frames_item_description}>
156
- {(frame.raw && frame.raw.source && frame.raw.source.name) || localize('debug.stack.frame.noSource')}
157
- </span>
158
- <>
159
- <a
160
- title=''
161
- onClick={(event) => restartFrame(event)}
162
- className={cls(styles.debug_restart_frame_icon, getIcon('debug-restart-frame'))}
163
- ></a>
164
- <div className={cls(!isUndefined(frame.raw.line) && styles.debug_stack_frames_item_badge)}>
165
- {frame.raw && frame.raw.line}
166
- {!isUndefined(frame.raw.line) && ':'}
167
- {frame.raw && frame.raw.column}
168
- </div>
169
- </>
170
- </div>
171
- );
172
- };
173
-
174
- const renderLoadMoreStackFrames = () => {
175
- const clickHandler = async () => {
176
- setIsLoading(true);
177
- await loadMore();
178
- setIsLoading(false);
179
- };
180
- return (
181
- <div className={styles.debug_stack_frames_item} onClick={clickHandler}>
182
- <span className={styles.debug_stack_frames_load_more}>{localize('debug.stack.loadMore')}</span>
183
- </div>
184
- );
185
- };
186
-
187
- const renderLoading = () => (
188
- <div className={styles.debug_stack_frames_item}>
189
- <span className={styles.debug_stack_frames_load_more}>{localize('debug.stack.loading')}</span>
190
- </div>
191
- );
192
-
193
- const renderFramesErrorMessage = (message: string) => (
194
- <div className={styles.debug_stack_frames_item}>
195
- <span className={styles.debug_stack_frames_error_message} title={message}>
196
- {message}
197
- </span>
198
- </div>
199
- );
200
-
201
- if (framesErrorMessage) {
202
- return <div className={styles.debug_stack_frames}>{renderFramesErrorMessage(framesErrorMessage)}</div>;
203
- }
204
-
205
- const footer = () => {
206
- if (isLoading) {
207
- return renderLoading();
208
- } else if (canLoadMore) {
209
- return renderLoadMoreStackFrames();
210
- }
211
- return null;
212
- };
213
-
214
- return (
215
- <RecycleList
216
- data={frames}
217
- template={template}
218
- itemHeight={22}
219
- width={viewState.width}
220
- height={isLoading || canLoadMore ? (frames.length + 1) * 22 : frames.length * 22}
221
- footer={isLoading || canLoadMore ? footer : undefined}
222
- />
223
- );
224
- });
@@ -1,237 +0,0 @@
1
- import cls from 'classnames';
2
- import React from 'react';
3
-
4
- import { ViewState, getIcon, useInjectable, DisposableCollection } from '@opensumi/ide-core-browser';
5
-
6
- import { DebugState, IDebugSessionManager } from '../../../common';
7
- import { DebugSession } from '../../debug-session';
8
- import { DebugSessionManager } from '../../debug-session-manager';
9
- import { DebugThread } from '../../model/debug-thread';
10
-
11
- import { DebugStackThreadView } from './debug-call-stack-thread.view';
12
- import styles from './debug-call-stack.module.less';
13
- import { DebugStackOperationView } from './debug-call-stack.operation';
14
- import { DebugCallStackService } from './debug-call-stack.service';
15
-
16
- export interface DebugStackSessionViewProps {
17
- session: DebugSession;
18
- viewState: ViewState;
19
- indent: number;
20
- }
21
-
22
- export const DebugStackSessionView = (props: DebugStackSessionViewProps) => {
23
- const { session, viewState, indent } = props;
24
- const manager = useInjectable<DebugSessionManager>(IDebugSessionManager);
25
- const debugCallStackService = useInjectable<DebugCallStackService>(DebugCallStackService);
26
- const [threads, setThreads] = React.useState<DebugThread[]>([]);
27
- const [otherThreads, setOtherThreads] = React.useState<DebugThread[]>([]);
28
- const [multipleThreadPaused, setMultipleThreadPaused] = React.useState<DebugThread[]>([]);
29
- const [subSession, setSubSession] = React.useState<DebugSession[]>([]);
30
- const [unfold, setUnfold] = React.useState<boolean>(true);
31
- const [hover, setHover] = React.useState<boolean>(false);
32
- const [loading, setLoading] = React.useState<boolean>(true);
33
- // 多 session 调试
34
- const mutipleSession = manager.sessions.length > 1;
35
- const supportsThreadIdCorrespond = session.supportsThreadIdCorrespond;
36
-
37
- // 从 manager.sessions 中找出 parentSession id 是当前 session id 的 session
38
- const findSubSessions = () => {
39
- const hasParentSessions = manager.sessions.filter((s) => s.parentSession);
40
- const subSession: DebugSession[] = [];
41
- while (hasParentSessions[0]) {
42
- if (manager.getSession(hasParentSessions[0].parentSession?.id)?.id === session.id) {
43
- subSession.push(hasParentSessions[0]);
44
- }
45
- hasParentSessions.shift();
46
- }
47
-
48
- return subSession;
49
- };
50
-
51
- // 加载更多线程信息
52
- const fetchOtherThreads = async () => {
53
- setLoading(true);
54
- const _threads = await session.fetchThreads();
55
- setLoading(false);
56
- setOtherThreads(_threads);
57
- };
58
-
59
- React.useEffect(() => {
60
- const createDispose = manager.onDidCreateDebugSession(() => {
61
- const sub = findSubSessions();
62
- setSubSession(sub);
63
- });
64
-
65
- const destroyDispose = manager.onDidDestroyDebugSession(() => {
66
- const sub = findSubSessions();
67
- setSubSession(sub);
68
- });
69
-
70
- return () => {
71
- createDispose.dispose();
72
- destroyDispose.dispose();
73
- setSubSession([]);
74
- };
75
- }, []);
76
-
77
- React.useEffect(() => {
78
- setThreads(Array.from(session.threads));
79
-
80
- const disposable = new DisposableCollection();
81
-
82
- disposable.push(
83
- session.onDidChange(() => {
84
- setThreads([...session.threads]);
85
- }),
86
- );
87
-
88
- disposable.push(
89
- session.onDidThread(async ({ body: { reason } }) => {
90
- if (!session.supportsThreadIdCorrespond) {
91
- return;
92
- }
93
-
94
- if (session.state === DebugState.Stopped && reason === 'started') {
95
- await fetchOtherThreads();
96
- }
97
- }),
98
- );
99
-
100
- disposable.push(
101
- session.onDidStop(async () => {
102
- if (!session.supportsThreadIdCorrespond) {
103
- return;
104
- }
105
-
106
- const multipleThreads = Array.from(session.multipleThreadPaused.values());
107
- setMultipleThreadPaused(multipleThreads);
108
-
109
- await fetchOtherThreads();
110
- }),
111
- );
112
-
113
- disposable.push(
114
- session.onDidContinued(async () => {
115
- if (!session.supportsThreadIdCorrespond) {
116
- return;
117
- }
118
-
119
- const multipleThreads = Array.from(session.multipleThreadPaused.values());
120
- setMultipleThreadPaused(multipleThreads);
121
- }),
122
- );
123
-
124
- return () => {
125
- disposable.dispose();
126
- };
127
- }, []);
128
-
129
- // 渲染 "加载更多线程"
130
- const renderLoadMoreThread = () => {
131
- if (session.state !== DebugState.Stopped) {
132
- return null;
133
- }
134
-
135
- if (supportsThreadIdCorrespond && unfold) {
136
- return loading ? (
137
- <div className={styles.debug_stack_item_loading}>
138
- <span>正在加载线程...</span>
139
- </div>
140
- ) : (
141
- otherThreads.map(
142
- (thread) =>
143
- !session.hasInMultipleThreadPaused(thread.raw.id) && (
144
- <DebugStackThreadView
145
- key={thread.id}
146
- indent={mutipleSession ? 16 : 0}
147
- viewState={viewState}
148
- thread={thread}
149
- session={session}
150
- />
151
- ),
152
- )
153
- );
154
- }
155
- };
156
-
157
- const isIncompressible = (stat: DebugSession) => {
158
- if (stat.threads.some((t) => t.frameCount > 0)) {
159
- return false;
160
- }
161
-
162
- const sub = findSubSessions();
163
- if (sub.length !== 1) {
164
- return false;
165
- }
166
-
167
- if (!sub[0].compact) {
168
- return false;
169
- }
170
-
171
- return true;
172
- };
173
-
174
- if (isIncompressible(session)) {
175
- const sub = findSubSessions();
176
- return (
177
- <div className={styles.debug_stack_item}>
178
- {sub.map((s) => (
179
- <DebugStackSessionView key={s.id} viewState={viewState} session={s} indent={1} />
180
- ))}
181
- </div>
182
- );
183
- }
184
-
185
- return (
186
- <div
187
- className={styles.debug_stack_item}
188
- onContextMenu={(event: React.MouseEvent<HTMLDivElement, MouseEvent>) =>
189
- debugCallStackService.handleContextMenu(event, session)
190
- }
191
- >
192
- {mutipleSession && (
193
- <div
194
- className={styles.debug_stack_item_label}
195
- onMouseEnter={() => setHover(true)}
196
- onMouseLeave={() => setHover(false)}
197
- >
198
- {(supportsThreadIdCorrespond || threads.length > 0) && (
199
- <>
200
- <div className={unfold ? getIcon('down') : getIcon('right')} onClick={() => setUnfold(!unfold)}></div>
201
- <div className={cls([getIcon('debug'), styles.debug_session_icon])}></div>
202
- </>
203
- )}
204
- <div className={styles.debug_stack_item_label_title}>{session.label}</div>
205
- {hover && <DebugStackOperationView session={session} />}
206
- </div>
207
- )}
208
- {supportsThreadIdCorrespond && unfold
209
- ? multipleThreadPaused.map((t) => (
210
- <DebugStackThreadView
211
- key={t.id}
212
- indent={mutipleSession ? 16 : 0}
213
- viewState={viewState}
214
- thread={t}
215
- session={session}
216
- />
217
- ))
218
- : null}
219
- {!supportsThreadIdCorrespond &&
220
- (!mutipleSession || unfold) &&
221
- threads.map((thread) => (
222
- <DebugStackThreadView
223
- key={thread.id}
224
- indent={mutipleSession ? 16 : 0}
225
- viewState={viewState}
226
- thread={thread}
227
- session={session}
228
- />
229
- ))}
230
- {subSession.length > 0 &&
231
- subSession.map(
232
- (s) => unfold && <DebugStackSessionView key={s.id} viewState={viewState} session={s} indent={1} />,
233
- )}
234
- {renderLoadMoreThread()}
235
- </div>
236
- );
237
- };
@@ -1,93 +0,0 @@
1
- import React from 'react';
2
-
3
- import { ViewState, getIcon, useInjectable, localize, DisposableCollection } from '@opensumi/ide-core-browser';
4
-
5
- import { IDebugSessionManager } from '../../../common';
6
- import { DebugSession } from '../../debug-session';
7
- import { DebugSessionManager } from '../../debug-session-manager';
8
- import { DebugThread } from '../../model/debug-thread';
9
-
10
- import { DebugStackFramesView } from './debug-call-stack-frame.view';
11
- import styles from './debug-call-stack.module.less';
12
- import { DebugStackOperationView } from './debug-call-stack.operation';
13
- import { DebugCallStackService } from './debug-call-stack.service';
14
-
15
- export interface DebugStackThreadViewProps {
16
- session: DebugSession;
17
- viewState: ViewState;
18
- thread: DebugThread;
19
- indent?: number;
20
- }
21
-
22
- export const DebugStackThreadView = (props: DebugStackThreadViewProps) => {
23
- const { thread, viewState, indent, session } = props;
24
- const manager = useInjectable<DebugSessionManager>(IDebugSessionManager);
25
- const debugCallStackService = useInjectable<DebugCallStackService>(DebugCallStackService);
26
- const [unfold, setUnfold] = React.useState<boolean>(true);
27
-
28
- const mutipleS = manager.sessions.length > 1;
29
- const mutiple = manager.currentSession?.supportsThreadIdCorrespond
30
- ? true
31
- : manager.sessions.length > 1 || (manager.sessions[0] && manager.sessions[0].threadCount > 1);
32
-
33
- React.useEffect(() => {
34
- const disposable = new DisposableCollection();
35
-
36
- disposable.push(
37
- session.onDidChangeCallStack(() => {
38
- if (thread.stopped && manager.currentThread && manager.currentThread.id === thread.id) {
39
- setUnfold(true);
40
- } else {
41
- setUnfold(false);
42
- }
43
- }),
44
- );
45
-
46
- return () => {
47
- disposable.dispose();
48
- };
49
- }, []);
50
-
51
- return (
52
- <div
53
- className={styles.debug_stack_item}
54
- onContextMenu={(event: React.MouseEvent<HTMLDivElement, MouseEvent>) =>
55
- debugCallStackService.handleContextMenu(event, thread)
56
- }
57
- >
58
- {mutiple && (
59
- <div style={{ paddingLeft: `${indent}px` }} className={styles.debug_stack_item_label}>
60
- {thread.frames.length > 0 ? (
61
- <div className={unfold ? getIcon('down') : getIcon('right')} onClick={() => setUnfold(!unfold)}></div>
62
- ) : (
63
- <div style={{ width: 14 }}></div>
64
- )}
65
- <div className={styles.debug_threads_item}>{thread.raw.name}</div>
66
- <>
67
- <div className={styles.debug_threads_operation}>
68
- <DebugStackOperationView thread={thread} />
69
- </div>
70
- <span className={styles.debug_threads_description}>
71
- {thread.stopped && thread.stoppedDetails
72
- ? thread.raw.id === thread.stoppedDetails.threadId
73
- ? `${localize('debug.stack.frame.because')} ${thread.stoppedDetails.reason} ${localize(
74
- 'debug.stack.frame.stopped',
75
- )}`
76
- : localize('debug.stack.frame.stopped')
77
- : localize('debug.stack.frame.running')}
78
- </span>
79
- </>
80
- </div>
81
- )}
82
- {(!mutiple || unfold) && thread.frames.length > 0 && (
83
- <DebugStackFramesView
84
- indent={mutiple ? (mutipleS ? 24 + 14 : 16 + 14) : 8}
85
- viewState={viewState}
86
- thread={thread}
87
- frames={thread.frames}
88
- session={session}
89
- />
90
- )}
91
- </div>
92
- );
93
- };
@@ -1,88 +0,0 @@
1
- import { Autowired } from '@opensumi/di';
2
- import { Domain, CommandContribution, CommandRegistry, localize, IClipboardService } from '@opensumi/ide-core-browser';
3
- import { MenuContribution, IMenuRegistry, MenuId } from '@opensumi/ide-core-browser/lib/menu/next';
4
-
5
- import { DEBUG_COMMANDS } from '../../../common';
6
-
7
- import {
8
- CONTEXT_CALLSTACK_ITEM_TYPE,
9
- CONTEXT_RESTART_FRAME_SUPPORTED,
10
- CONTEXT_STACK_FRAME_SUPPORTS_RESTART,
11
- } from './../../../common/constants';
12
- import { IDebugSessionManager } from './../../../common/debug-session';
13
- import { CallStackContext } from './../../../common/types';
14
- import { DebugSessionManager } from './../../debug-session-manager';
15
- import { DebugStackFrame } from './../../model/debug-stack-frame';
16
- import { DebugThread } from './../../model/debug-thread';
17
-
18
- function isStackFrameContext(obj: any): obj is CallStackContext {
19
- return (
20
- obj && typeof obj.sessionId === 'string' && typeof obj.threadId === 'string' && typeof obj.frameId === 'string'
21
- );
22
- }
23
-
24
- function getFrame(debugService: DebugSessionManager, context: CallStackContext | unknown): DebugStackFrame | undefined {
25
- if (isStackFrameContext(context)) {
26
- const session = debugService.getSession(context.sessionId);
27
- if (session) {
28
- const thread = [session.currentThread, ...session.threads].find((t: DebugThread) => t.id === context.threadId);
29
- if (thread) {
30
- return thread.frames.find((sf: DebugStackFrame) => sf.id === context.frameId);
31
- }
32
- }
33
- }
34
-
35
- return undefined;
36
- }
37
-
38
- @Domain(MenuContribution, CommandContribution)
39
- export class DebugCallStackContribution implements MenuContribution, CommandContribution {
40
- @Autowired(IDebugSessionManager)
41
- protected readonly debugSessionManager: DebugSessionManager;
42
-
43
- @Autowired(IClipboardService)
44
- private readonly clipboardService: IClipboardService;
45
-
46
- registerCommands(registry: CommandRegistry) {
47
- registry.registerCommand(DEBUG_COMMANDS.RESTART_FRAME, {
48
- execute: async (_: string, context: CallStackContext) => {
49
- const frame = getFrame(this.debugSessionManager, context);
50
- if (frame) {
51
- await frame.restart();
52
- }
53
- },
54
- });
55
- registry.registerCommand(DEBUG_COMMANDS.COPY_STACK_TRACE, {
56
- execute: async (_: string, context: CallStackContext) => {
57
- const frame = getFrame(this.debugSessionManager, context);
58
- if (frame) {
59
- const callStacks = frame.thread.frames.map(
60
- (e: DebugStackFrame) =>
61
- `${e.raw && e.raw.name} (${e.raw && e.raw.source && e.raw.source.path}:${e.raw && e.raw.line})`,
62
- );
63
- this.clipboardService.writeText(callStacks.join('\n'));
64
- }
65
- },
66
- });
67
- }
68
-
69
- registerMenus(registry: IMenuRegistry) {
70
- registry.registerMenuItem(MenuId.DebugCallStackContext, {
71
- command: {
72
- id: DEBUG_COMMANDS.RESTART_FRAME.id,
73
- label: localize('debugger.menu.restartFrame'),
74
- },
75
- when: `${CONTEXT_CALLSTACK_ITEM_TYPE.equalsTo('stackFrame')} && ${CONTEXT_RESTART_FRAME_SUPPORTED.raw}`,
76
- enabledWhen: CONTEXT_STACK_FRAME_SUPPORTS_RESTART.raw,
77
- order: 10,
78
- });
79
- registry.registerMenuItem(MenuId.DebugCallStackContext, {
80
- command: {
81
- id: DEBUG_COMMANDS.COPY_STACK_TRACE.id,
82
- label: localize('debugger.menu.copyCallstack'),
83
- },
84
- when: CONTEXT_CALLSTACK_ITEM_TYPE.equalsTo('stackFrame'),
85
- order: 20,
86
- });
87
- }
88
- }