@theia/debug 1.18.0 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/lib/browser/console/debug-console-contribution.d.ts +2 -0
  2. package/lib/browser/console/debug-console-contribution.d.ts.map +1 -1
  3. package/lib/browser/console/debug-console-contribution.js +9 -6
  4. package/lib/browser/console/debug-console-contribution.js.map +1 -1
  5. package/lib/browser/console/debug-console-session.d.ts +1 -1
  6. package/lib/browser/debug-configuration-manager.d.ts.map +1 -1
  7. package/lib/browser/debug-configuration-manager.js +8 -7
  8. package/lib/browser/debug-configuration-manager.js.map +1 -1
  9. package/lib/browser/debug-frontend-application-contribution.d.ts +5 -12
  10. package/lib/browser/debug-frontend-application-contribution.d.ts.map +1 -1
  11. package/lib/browser/debug-frontend-application-contribution.js +131 -105
  12. package/lib/browser/debug-frontend-application-contribution.js.map +1 -1
  13. package/lib/browser/debug-preferences.d.ts +1 -0
  14. package/lib/browser/debug-preferences.d.ts.map +1 -1
  15. package/lib/browser/debug-preferences.js +22 -6
  16. package/lib/browser/debug-preferences.js.map +1 -1
  17. package/lib/browser/debug-prefix-configuration.d.ts.map +1 -1
  18. package/lib/browser/debug-prefix-configuration.js +3 -3
  19. package/lib/browser/debug-prefix-configuration.js.map +1 -1
  20. package/lib/browser/debug-session-connection.d.ts +1 -1
  21. package/lib/browser/debug-session-connection.d.ts.map +1 -1
  22. package/lib/browser/debug-session-contribution.d.ts +1 -1
  23. package/lib/browser/debug-session-contribution.d.ts.map +1 -1
  24. package/lib/browser/debug-session-contribution.js +1 -1
  25. package/lib/browser/debug-session-contribution.js.map +1 -1
  26. package/lib/browser/preferences/launch-preferences.d.ts.map +1 -1
  27. package/lib/browser/preferences/launch-preferences.js +2 -1
  28. package/lib/browser/preferences/launch-preferences.js.map +1 -1
  29. package/lib/browser/view/debug-breakpoints-source.d.ts +0 -1
  30. package/lib/browser/view/debug-breakpoints-source.d.ts.map +1 -1
  31. package/lib/browser/view/debug-breakpoints-source.js +1 -7
  32. package/lib/browser/view/debug-breakpoints-source.js.map +1 -1
  33. package/lib/browser/view/debug-breakpoints-widget.d.ts.map +1 -1
  34. package/lib/browser/view/debug-breakpoints-widget.js +2 -1
  35. package/lib/browser/view/debug-breakpoints-widget.js.map +1 -1
  36. package/lib/browser/view/debug-configuration-widget.d.ts +1 -1
  37. package/lib/browser/view/debug-configuration-widget.d.ts.map +1 -1
  38. package/lib/browser/view/debug-configuration-widget.js +8 -8
  39. package/lib/browser/view/debug-configuration-widget.js.map +1 -1
  40. package/lib/browser/view/debug-session-widget.d.ts +2 -1
  41. package/lib/browser/view/debug-session-widget.d.ts.map +1 -1
  42. package/lib/browser/view/debug-session-widget.js +12 -6
  43. package/lib/browser/view/debug-session-widget.js.map +1 -1
  44. package/lib/browser/view/debug-stack-frames-source.d.ts +0 -1
  45. package/lib/browser/view/debug-stack-frames-source.d.ts.map +1 -1
  46. package/lib/browser/view/debug-stack-frames-source.js +2 -5
  47. package/lib/browser/view/debug-stack-frames-source.js.map +1 -1
  48. package/lib/browser/view/debug-stack-frames-widget.d.ts.map +1 -1
  49. package/lib/browser/view/debug-stack-frames-widget.js +2 -1
  50. package/lib/browser/view/debug-stack-frames-widget.js.map +1 -1
  51. package/lib/browser/view/debug-threads-source.d.ts +0 -1
  52. package/lib/browser/view/debug-threads-source.d.ts.map +1 -1
  53. package/lib/browser/view/debug-threads-source.js +1 -7
  54. package/lib/browser/view/debug-threads-source.js.map +1 -1
  55. package/lib/browser/view/debug-threads-widget.d.ts.map +1 -1
  56. package/lib/browser/view/debug-threads-widget.js +2 -1
  57. package/lib/browser/view/debug-threads-widget.js.map +1 -1
  58. package/lib/browser/view/debug-toolbar-widget.d.ts.map +1 -1
  59. package/lib/browser/view/debug-toolbar-widget.js +9 -8
  60. package/lib/browser/view/debug-toolbar-widget.js.map +1 -1
  61. package/lib/browser/view/debug-variables-source.d.ts +0 -1
  62. package/lib/browser/view/debug-variables-source.d.ts.map +1 -1
  63. package/lib/browser/view/debug-variables-source.js +2 -5
  64. package/lib/browser/view/debug-variables-source.js.map +1 -1
  65. package/lib/browser/view/debug-variables-widget.d.ts.map +1 -1
  66. package/lib/browser/view/debug-variables-widget.js +2 -1
  67. package/lib/browser/view/debug-variables-widget.js.map +1 -1
  68. package/lib/browser/view/debug-watch-source.d.ts +0 -1
  69. package/lib/browser/view/debug-watch-source.d.ts.map +1 -1
  70. package/lib/browser/view/debug-watch-source.js +2 -5
  71. package/lib/browser/view/debug-watch-source.js.map +1 -1
  72. package/lib/browser/view/debug-watch-widget.d.ts.map +1 -1
  73. package/lib/browser/view/debug-watch-widget.js +2 -1
  74. package/lib/browser/view/debug-watch-widget.js.map +1 -1
  75. package/lib/browser/view/debug-widget.d.ts.map +1 -1
  76. package/lib/browser/view/debug-widget.js +2 -1
  77. package/lib/browser/view/debug-widget.js.map +1 -1
  78. package/lib/node/debug-adapter-contribution-registry.d.ts +1 -1
  79. package/lib/node/debug-adapter-contribution-registry.d.ts.map +1 -1
  80. package/lib/node/debug-adapter-contribution-registry.js +1 -1
  81. package/lib/node/debug-adapter-contribution-registry.js.map +1 -1
  82. package/lib/node/debug-adapter-factory.d.ts +1 -1
  83. package/lib/node/debug-adapter-factory.d.ts.map +1 -1
  84. package/lib/node/debug-adapter-factory.js +8 -10
  85. package/lib/node/debug-adapter-factory.js.map +1 -1
  86. package/lib/node/debug-adapter-session-manager.d.ts +1 -1
  87. package/lib/node/debug-adapter-session-manager.d.ts.map +1 -1
  88. package/lib/node/debug-adapter-session-manager.js +1 -1
  89. package/lib/node/debug-adapter-session-manager.js.map +1 -1
  90. package/lib/node/debug-adapter-session.d.ts +1 -7
  91. package/lib/node/debug-adapter-session.d.ts.map +1 -1
  92. package/lib/node/debug-adapter-session.js +4 -48
  93. package/lib/node/debug-adapter-session.js.map +1 -1
  94. package/lib/node/debug-backend-module.js +1 -1
  95. package/lib/node/debug-backend-module.js.map +1 -1
  96. package/lib/{common → node}/debug-model.d.ts +6 -5
  97. package/lib/node/debug-model.d.ts.map +1 -0
  98. package/lib/{common → node}/debug-model.js +0 -0
  99. package/lib/node/debug-model.js.map +1 -0
  100. package/lib/node/inline-communication-provider.d.ts +33 -0
  101. package/lib/node/inline-communication-provider.d.ts.map +1 -0
  102. package/lib/node/inline-communication-provider.js +43 -0
  103. package/lib/node/inline-communication-provider.js.map +1 -0
  104. package/lib/node/stream-communication-provider.d.ts +38 -0
  105. package/lib/node/stream-communication-provider.d.ts.map +1 -0
  106. package/lib/node/stream-communication-provider.js +88 -0
  107. package/lib/node/stream-communication-provider.js.map +1 -0
  108. package/lib/node/vscode/vscode-debug-adapter-contribution.d.ts +1 -1
  109. package/lib/node/vscode/vscode-debug-adapter-contribution.d.ts.map +1 -1
  110. package/package.json +17 -17
  111. package/src/browser/console/debug-console-contribution.tsx +10 -6
  112. package/src/browser/debug-configuration-manager.ts +10 -8
  113. package/src/browser/debug-frontend-application-contribution.ts +152 -118
  114. package/src/browser/debug-preferences.ts +23 -6
  115. package/src/browser/debug-prefix-configuration.ts +3 -3
  116. package/src/browser/debug-session-connection.ts +1 -1
  117. package/src/browser/debug-session-contribution.ts +1 -1
  118. package/src/browser/preferences/launch-preferences.ts +5 -1
  119. package/src/browser/view/debug-breakpoints-source.tsx +0 -6
  120. package/src/browser/view/debug-breakpoints-widget.ts +2 -1
  121. package/src/browser/view/debug-configuration-widget.tsx +8 -7
  122. package/src/browser/view/debug-session-widget.ts +12 -6
  123. package/src/browser/view/debug-stack-frames-source.tsx +0 -6
  124. package/src/browser/view/debug-stack-frames-widget.ts +2 -1
  125. package/src/browser/view/debug-threads-source.tsx +0 -6
  126. package/src/browser/view/debug-threads-widget.ts +2 -1
  127. package/src/browser/view/debug-toolbar-widget.tsx +13 -8
  128. package/src/browser/view/debug-variables-source.ts +0 -6
  129. package/src/browser/view/debug-variables-widget.ts +2 -1
  130. package/src/browser/view/debug-watch-source.ts +0 -6
  131. package/src/browser/view/debug-watch-widget.ts +2 -1
  132. package/src/browser/view/debug-widget.ts +2 -1
  133. package/src/node/debug-adapter-contribution-registry.ts +1 -1
  134. package/src/node/debug-adapter-factory.ts +10 -11
  135. package/src/node/debug-adapter-session-manager.ts +1 -1
  136. package/src/node/debug-adapter-session.ts +8 -57
  137. package/src/node/debug-backend-module.ts +1 -1
  138. package/src/{common → node}/debug-model.ts +6 -4
  139. package/src/node/inline-communication-provider.ts +44 -0
  140. package/src/node/stream-communication-provider.ts +93 -0
  141. package/src/node/vscode/vscode-debug-adapter-contribution.ts +1 -1
  142. package/lib/common/debug-model.d.ts.map +0 -1
  143. package/lib/common/debug-model.js.map +0 -1
@@ -51,6 +51,7 @@ import { ColorContribution } from '@theia/core/lib/browser/color-application-con
51
51
  import { ColorRegistry } from '@theia/core/lib/browser/color-registry';
52
52
  import { DebugFunctionBreakpoint } from './model/debug-function-breakpoint';
53
53
  import { DebugBreakpoint } from './model/debug-breakpoint';
54
+ import { nls } from '@theia/core/lib/common/nls';
54
55
 
55
56
  export namespace DebugMenus {
56
57
  export const DEBUG = [...MAIN_MENU_BAR, '6_debug'];
@@ -63,214 +64,241 @@ export namespace DebugMenus {
63
64
  export const DEBUG_BREAKPOINTS = [...DEBUG, 'f_breakpoints'];
64
65
  }
65
66
 
67
+ function nlsEditBreakpoint(breakpointKey: string, breakpoint: string): string {
68
+ return nls.localize('vscode/breakpointEditorContribution/editBreakpoint', 'Edit {0}...', nls.localize(`vscode/breakpointEditorContribution/${breakpointKey}`, breakpoint));
69
+ }
70
+
71
+ function nlsRemoveBreakpoint(breakpointKey: string, breakpoint: string): string {
72
+ return nls.localize('vscode/breakpointEditorContribution/removeBreakpoint', 'Remove {0}',
73
+ nls.localize(`vscode/breakpointEditorContribution/${breakpointKey}`, breakpoint));
74
+ }
75
+
76
+ function nlsEnableBreakpoint(breakpointKey: string, breakpoint: string): string {
77
+ return nls.localize('vscode/breakpointEditorContribution/enableBreakpoint', 'Enable {0}',
78
+ nls.localize(`vscode/breakpointEditorContribution/${breakpointKey}`, breakpoint));
79
+ }
80
+
81
+ function nlsDisableBreakpoint(breakpointKey: string, breakpoint: string): string {
82
+ return nls.localize('vscode/breakpointEditorContribution/disableBreakpoint', 'Disable {0}',
83
+ nls.localize(`vscode/breakpointEditorContribution/${breakpointKey}`, breakpoint));
84
+ }
85
+
66
86
  export namespace DebugCommands {
67
87
 
88
+ export const DEBUG_CATEGORY_KEY = 'vscode/debugCommands/debug';
68
89
  export const DEBUG_CATEGORY = 'Debug';
69
90
 
70
- export const START: Command = {
91
+ export const START = Command.toLocalizedCommand({
71
92
  id: 'workbench.action.debug.start',
72
93
  category: DEBUG_CATEGORY,
73
94
  label: 'Start Debugging',
74
95
  iconClass: codicon('debug-alt')
75
- };
76
- export const START_NO_DEBUG: Command = {
96
+ }, 'vscode/debugCommands/startDebug', DEBUG_CATEGORY_KEY);
97
+ export const START_NO_DEBUG = Command.toLocalizedCommand({
77
98
  id: 'workbench.action.debug.run',
78
99
  label: 'Debug: Start Without Debugging'
79
- };
80
- export const STOP: Command = {
100
+ }, 'vscode/debugCommands/startWithoutDebugging');
101
+ export const STOP = Command.toLocalizedCommand({
81
102
  id: 'workbench.action.debug.stop',
82
103
  category: DEBUG_CATEGORY,
83
- label: 'Stop Debugging',
104
+ label: 'Stop',
84
105
  iconClass: codicon('debug-stop')
85
- };
86
- export const RESTART: Command = {
106
+ }, 'vscode/debugCommands/stop', DEBUG_CATEGORY_KEY);
107
+ export const RESTART = Command.toLocalizedCommand({
87
108
  id: 'workbench.action.debug.restart',
88
109
  category: DEBUG_CATEGORY,
89
- label: 'Restart Debugging',
90
- };
110
+ label: 'Restart',
111
+ }, 'vscode/debugCommands/restartDebug', DEBUG_CATEGORY_KEY);
91
112
 
92
- export const OPEN_CONFIGURATIONS = {
113
+ export const OPEN_CONFIGURATIONS = Command.toLocalizedCommand({
93
114
  id: 'debug.configurations.open',
94
- label: 'Debug: Open Configurations'
95
- };
96
- export const ADD_CONFIGURATION = {
115
+ category: DEBUG_CATEGORY,
116
+ label: 'Open Configurations'
117
+ }, 'vscode/debugViewlet/miOpenConfigurations', DEBUG_CATEGORY_KEY);
118
+ export const ADD_CONFIGURATION = Command.toLocalizedCommand({
97
119
  id: 'debug.configurations.add',
98
- label: 'Debug: Add Configuration...'
99
- };
120
+ category: DEBUG_CATEGORY,
121
+ label: 'Add Configuration...'
122
+ }, 'vscode/debugActionViewItems/addConfiguration', DEBUG_CATEGORY_KEY);
100
123
 
101
- export const STEP_OVER: Command = {
124
+ export const STEP_OVER = Command.toLocalizedCommand({
102
125
  id: 'workbench.action.debug.stepOver',
103
126
  category: DEBUG_CATEGORY,
104
127
  label: 'Step Over',
105
128
  iconClass: codicon('debug-step-over')
106
- };
107
- export const STEP_INTO: Command = {
129
+ }, 'vscode/debugCommands/stepOverDebug', DEBUG_CATEGORY_KEY);
130
+ export const STEP_INTO = Command.toLocalizedCommand({
108
131
  id: 'workbench.action.debug.stepInto',
109
132
  category: DEBUG_CATEGORY,
110
133
  label: 'Step Into',
111
134
  iconClass: codicon('debug-step-into')
112
- };
113
- export const STEP_OUT: Command = {
135
+ }, 'vscode/debugCommands/stepIntoDebug', DEBUG_CATEGORY_KEY);
136
+ export const STEP_OUT = Command.toLocalizedCommand({
114
137
  id: 'workbench.action.debug.stepOut',
115
138
  category: DEBUG_CATEGORY,
116
139
  label: 'Step Out',
117
140
  iconClass: codicon('debug-step-out')
118
- };
119
- export const CONTINUE: Command = {
141
+ }, 'vscode/debugCommands/stepOutDebug', DEBUG_CATEGORY_KEY);
142
+ export const CONTINUE = Command.toLocalizedCommand({
120
143
  id: 'workbench.action.debug.continue',
121
144
  category: DEBUG_CATEGORY,
122
145
  label: 'Continue',
123
146
  iconClass: codicon('debug-continue')
124
- };
125
- export const PAUSE: Command = {
147
+ }, 'vscode/debugCommands/continueDebug', DEBUG_CATEGORY_KEY);
148
+ export const PAUSE = Command.toLocalizedCommand({
126
149
  id: 'workbench.action.debug.pause',
127
150
  category: DEBUG_CATEGORY,
128
151
  label: 'Pause',
129
152
  iconClass: codicon('debug-pause')
130
- };
131
- export const CONTINUE_ALL: Command = {
153
+ }, 'vscode/debugCommands/pauseDebug', DEBUG_CATEGORY_KEY);
154
+ export const CONTINUE_ALL = Command.toLocalizedCommand({
132
155
  id: 'debug.thread.continue.all',
133
156
  category: DEBUG_CATEGORY,
134
157
  label: 'Continue All',
135
158
  iconClass: codicon('debug-continue')
136
- };
137
- export const PAUSE_ALL: Command = {
159
+ }, 'theia/debug/continueAll', DEBUG_CATEGORY_KEY);
160
+ export const PAUSE_ALL = Command.toLocalizedCommand({
138
161
  id: 'debug.thread.pause.all',
139
162
  category: DEBUG_CATEGORY,
140
163
  label: 'Pause All',
141
164
  iconClass: codicon('debug-pause')
142
- };
165
+ }, 'theia/debug/pauseAll', DEBUG_CATEGORY_KEY);
143
166
 
144
- export const TOGGLE_BREAKPOINT: Command = {
167
+ export const TOGGLE_BREAKPOINT = Command.toLocalizedCommand({
145
168
  id: 'editor.debug.action.toggleBreakpoint',
146
169
  category: DEBUG_CATEGORY,
147
170
  label: 'Toggle Breakpoint',
148
- };
149
- export const INLINE_BREAKPOINT: Command = {
171
+ }, 'vscode/debugEditorActions/miToggleBreakpoint', DEBUG_CATEGORY_KEY);
172
+ export const INLINE_BREAKPOINT = Command.toLocalizedCommand({
150
173
  id: 'editor.debug.action.inlineBreakpoint',
151
174
  category: DEBUG_CATEGORY,
152
175
  label: 'Inline Breakpoint',
153
- };
154
- export const ADD_CONDITIONAL_BREAKPOINT: Command = {
176
+ }, 'vscode/debug.contribution/inlineBreakpoint', DEBUG_CATEGORY_KEY);
177
+ export const ADD_CONDITIONAL_BREAKPOINT = Command.toLocalizedCommand({
155
178
  id: 'debug.breakpoint.add.conditional',
156
179
  category: DEBUG_CATEGORY,
157
180
  label: 'Add Conditional Breakpoint...',
158
- };
159
- export const ADD_LOGPOINT: Command = {
181
+ }, 'vscode/breakpointEditorContribution/addConditionalBreakpoint', DEBUG_CATEGORY_KEY);
182
+ export const ADD_LOGPOINT = Command.toLocalizedCommand({
160
183
  id: 'debug.breakpoint.add.logpoint',
161
184
  category: DEBUG_CATEGORY,
162
185
  label: 'Add Logpoint...',
163
- };
164
- export const ADD_FUNCTION_BREAKPOINT: Command = {
186
+ }, 'vscode/breakpointEditorContribution/addLogPoint', DEBUG_CATEGORY_KEY);
187
+ export const ADD_FUNCTION_BREAKPOINT = Command.toLocalizedCommand({
165
188
  id: 'debug.breakpoint.add.function',
166
189
  category: DEBUG_CATEGORY,
167
190
  label: 'Add Function Breakpoint...',
168
- };
169
- export const ENABLE_ALL_BREAKPOINTS: Command = {
191
+ }, 'vscode/breakpointsView/addFunctionBreakpoint', DEBUG_CATEGORY_KEY);
192
+ export const ENABLE_ALL_BREAKPOINTS = Command.toLocalizedCommand({
170
193
  id: 'debug.breakpoint.enableAll',
171
194
  category: DEBUG_CATEGORY,
172
195
  label: 'Enable All Breakpoints',
173
- };
174
- export const DISABLE_ALL_BREAKPOINTS: Command = {
196
+ }, 'vscode/breakpointsView/enableAllBreakpoints', DEBUG_CATEGORY_KEY);
197
+ export const DISABLE_ALL_BREAKPOINTS = Command.toLocalizedCommand({
175
198
  id: 'debug.breakpoint.disableAll',
176
199
  category: DEBUG_CATEGORY,
177
200
  label: 'Disable All Breakpoints',
178
- };
179
- export const EDIT_BREAKPOINT: Command = {
201
+ }, 'vscode/breakpointsView/disableAllBreakpoints', DEBUG_CATEGORY_KEY);
202
+ export const EDIT_BREAKPOINT = Command.toLocalizedCommand({
180
203
  id: 'debug.breakpoint.edit',
181
204
  category: DEBUG_CATEGORY,
182
- label: 'Edit Breakpoint...',
183
- };
184
- export const EDIT_LOGPOINT: Command = {
205
+ originalLabel: 'Edit Breakpoint...',
206
+ label: nlsEditBreakpoint('breakpoint', 'Breakpoint')
207
+ }, '', DEBUG_CATEGORY_KEY);
208
+ export const EDIT_LOGPOINT = Command.toLocalizedCommand({
185
209
  id: 'debug.logpoint.edit',
186
210
  category: DEBUG_CATEGORY,
187
- label: 'Edit Logpoint...',
188
- };
189
- export const REMOVE_BREAKPOINT: Command = {
211
+ originalLabel: 'Edit Logpoint...',
212
+ label: nlsEditBreakpoint('logPoint', 'Logpoint')
213
+ }, '', DEBUG_CATEGORY_KEY);
214
+ export const REMOVE_BREAKPOINT = Command.toLocalizedCommand({
190
215
  id: 'debug.breakpoint.remove',
191
216
  category: DEBUG_CATEGORY,
192
- label: 'Remove Breakpoint',
193
- };
194
- export const REMOVE_LOGPOINT: Command = {
217
+ originalLabel: 'Remove Breakpoint',
218
+ label: nlsRemoveBreakpoint('breakpoint', 'Breakpoint')
219
+ }, '', DEBUG_CATEGORY_KEY);
220
+ export const REMOVE_LOGPOINT = Command.toLocalizedCommand({
195
221
  id: 'debug.logpoint.remove',
196
222
  category: DEBUG_CATEGORY,
197
- label: 'Remove Logpoint',
198
- };
199
- export const REMOVE_ALL_BREAKPOINTS: Command = {
223
+ originalLabel: 'Remove Logpoint',
224
+ label: nlsRemoveBreakpoint('logPoint', 'Logpoint')
225
+ }, '', DEBUG_CATEGORY_KEY);
226
+ export const REMOVE_ALL_BREAKPOINTS = Command.toLocalizedCommand({
200
227
  id: 'debug.breakpoint.removeAll',
201
228
  category: DEBUG_CATEGORY,
202
229
  label: 'Remove All Breakpoints',
203
- };
204
- export const TOGGLE_BREAKPOINTS_ENABLED: Command = {
230
+ }, 'vscode/breakpointsView/removeAllBreakpoints', DEBUG_CATEGORY_KEY);
231
+ export const TOGGLE_BREAKPOINTS_ENABLED = Command.toLocalizedCommand({
205
232
  id: 'debug.breakpoint.toggleEnabled'
206
- };
207
- export const SHOW_HOVER = {
233
+ });
234
+ export const SHOW_HOVER = Command.toLocalizedCommand({
208
235
  id: 'editor.debug.action.showDebugHover',
209
- label: 'Debug: Show Hover'
210
- };
236
+ category: DEBUG_CATEGORY,
237
+ label: 'Show Hover'
238
+ }, 'vscode/hover/showHover', DEBUG_CATEGORY_KEY);
211
239
 
212
- export const RESTART_FRAME: Command = {
240
+ export const RESTART_FRAME = Command.toLocalizedCommand({
213
241
  id: 'debug.frame.restart',
214
242
  category: DEBUG_CATEGORY,
215
243
  label: 'Restart Frame',
216
- };
217
- export const COPY_CALL_STACK: Command = {
244
+ }, 'vscode/debug.contribution/restartFrame', DEBUG_CATEGORY_KEY);
245
+ export const COPY_CALL_STACK = Command.toLocalizedCommand({
218
246
  id: 'debug.callStack.copy',
219
247
  category: DEBUG_CATEGORY,
220
248
  label: 'Copy Call Stack',
221
- };
249
+ }, 'vscode/debug.contribution/copyStackTrace', DEBUG_CATEGORY_KEY);
222
250
 
223
- export const SET_VARIABLE_VALUE: Command = {
251
+ export const SET_VARIABLE_VALUE = Command.toLocalizedCommand({
224
252
  id: 'debug.variable.setValue',
225
253
  category: DEBUG_CATEGORY,
226
254
  label: 'Set Value',
227
- };
228
- export const COPY_VARIABLE_VALUE: Command = {
255
+ }, 'vscode/debug.contribution/setValue', DEBUG_CATEGORY_KEY);
256
+ export const COPY_VARIABLE_VALUE = Command.toLocalizedCommand({
229
257
  id: 'debug.variable.copyValue',
230
258
  category: DEBUG_CATEGORY,
231
259
  label: 'Copy Value',
232
- };
233
- export const COPY_VARIABLE_AS_EXPRESSION: Command = {
260
+ }, 'vscode/debug.contribution/copyValue', DEBUG_CATEGORY_KEY);
261
+ export const COPY_VARIABLE_AS_EXPRESSION = Command.toLocalizedCommand({
234
262
  id: 'debug.variable.copyAsExpression',
235
263
  category: DEBUG_CATEGORY,
236
264
  label: 'Copy As Expression',
237
- };
238
- export const WATCH_VARIABLE: Command = {
265
+ }, 'vscode/debug.contribution/copyAsExpression', DEBUG_CATEGORY_KEY);
266
+ export const WATCH_VARIABLE = Command.toLocalizedCommand({
239
267
  id: 'debug.variable.watch',
240
268
  category: DEBUG_CATEGORY,
241
269
  label: 'Add to Watch',
242
- };
270
+ }, 'vscode/debug.contribution/addToWatchExpressions', DEBUG_CATEGORY_KEY);
243
271
 
244
- export const ADD_WATCH_EXPRESSION: Command = {
272
+ export const ADD_WATCH_EXPRESSION = Command.toLocalizedCommand({
245
273
  id: 'debug.watch.addExpression',
246
274
  category: DEBUG_CATEGORY,
247
- label: 'Add Watch Expression'
248
- };
249
- export const EDIT_WATCH_EXPRESSION: Command = {
275
+ label: 'Add Expression'
276
+ }, 'vscode/watchExpressionsView/addWatchExpression', DEBUG_CATEGORY_KEY);
277
+ export const EDIT_WATCH_EXPRESSION = Command.toLocalizedCommand({
250
278
  id: 'debug.watch.editExpression',
251
279
  category: DEBUG_CATEGORY,
252
- label: 'Edit Watch Expression'
253
- };
254
- export const COPY_WATCH_EXPRESSION_VALUE: Command = {
280
+ label: 'Edit Expression'
281
+ }, 'vscode/debug.contribution/editWatchExpression', DEBUG_CATEGORY_KEY);
282
+ export const COPY_WATCH_EXPRESSION_VALUE = Command.toLocalizedCommand({
255
283
  id: 'debug.watch.copyExpressionValue',
256
284
  category: DEBUG_CATEGORY,
257
- label: 'Copy Watch Expression Value'
258
- };
259
- export const REMOVE_WATCH_EXPRESSION: Command = {
285
+ label: 'Copy Expression Value'
286
+ }, 'theia/debug/copyExpressionValue', DEBUG_CATEGORY_KEY);
287
+ export const REMOVE_WATCH_EXPRESSION = Command.toLocalizedCommand({
260
288
  id: 'debug.watch.removeExpression',
261
289
  category: DEBUG_CATEGORY,
262
- label: 'Remove Watch Expression'
263
- };
264
- export const COLLAPSE_ALL_WATCH_EXPRESSIONS: Command = {
290
+ label: 'Remove Expression'
291
+ }, 'vscode/debug.contribution/removeWatchExpression', DEBUG_CATEGORY_KEY);
292
+ export const COLLAPSE_ALL_WATCH_EXPRESSIONS = Command.toLocalizedCommand({
265
293
  id: 'debug.watch.collapseAllExpressions',
266
294
  category: DEBUG_CATEGORY,
267
- label: 'Collapse All Watch Expressions'
268
- };
269
- export const REMOVE_ALL_WATCH_EXPRESSIONS: Command = {
295
+ label: 'Collapse All Expressions'
296
+ }, 'vscode/watchExpressionsView/collapse', DEBUG_CATEGORY_KEY);
297
+ export const REMOVE_ALL_WATCH_EXPRESSIONS = Command.toLocalizedCommand({
270
298
  id: 'debug.watch.removeAllExpressions',
271
299
  category: DEBUG_CATEGORY,
272
- label: 'Remove All Watch Expressions'
273
- };
300
+ label: 'Remove All Expressions'
301
+ }, 'vscode/watchExpressionsView/removeAllWatchExpressions', DEBUG_CATEGORY_KEY);
274
302
  }
275
303
  export namespace DebugThreadContextCommands {
276
304
  export const STEP_OVER = {
@@ -478,6 +506,10 @@ export class DebugFrontendApplicationContribution extends AbstractViewContributi
478
506
  this.watchManager.save();
479
507
  }
480
508
 
509
+ onWillStop(): boolean {
510
+ return this.preference['debug.confirmOnExit'] === 'always' && !!this.manager.currentSession;
511
+ }
512
+
481
513
  registerMenus(menus: MenuModelRegistry): void {
482
514
  super.registerMenus(menus);
483
515
  const registerMenuActions = (menuPath: string[], ...commands: Command[]) => {
@@ -493,7 +525,7 @@ export class DebugFrontendApplicationContribution extends AbstractViewContributi
493
525
  }
494
526
  };
495
527
 
496
- menus.registerSubmenu(DebugMenus.DEBUG, 'Run');
528
+ menus.registerSubmenu(DebugMenus.DEBUG, nls.localize('vscode/debug.contribution/run', 'Run'));
497
529
  registerMenuActions(DebugMenus.DEBUG_CONTROLS,
498
530
  DebugCommands.START,
499
531
  DebugCommands.START_NO_DEBUG,
@@ -518,7 +550,7 @@ export class DebugFrontendApplicationContribution extends AbstractViewContributi
518
550
  registerMenuActions(DebugMenus.DEBUG_BREAKPOINT,
519
551
  DebugCommands.TOGGLE_BREAKPOINT
520
552
  );
521
- menus.registerSubmenu(DebugMenus.DEBUG_NEW_BREAKPOINT, 'New Breakpoint');
553
+ menus.registerSubmenu(DebugMenus.DEBUG_NEW_BREAKPOINT, nls.localize('vscode/debug.contribution/miNewBreakpoint', 'New Breakpoint'));
522
554
  registerMenuActions(DebugMenus.DEBUG_NEW_BREAKPOINT,
523
555
  DebugCommands.ADD_CONDITIONAL_BREAKPOINT,
524
556
  DebugCommands.INLINE_BREAKPOINT,
@@ -541,15 +573,15 @@ export class DebugFrontendApplicationContribution extends AbstractViewContributi
541
573
  { ...DebugCommands.CONTINUE_ALL, ...DebugSessionContextCommands.CONTINUE_ALL }
542
574
  );
543
575
  registerMenuActions(DebugThreadsWidget.TERMINATE_MENU,
544
- { ...DebugCommands.RESTART, ...DebugSessionContextCommands.RESTART, label: 'Restart' },
545
- { ...DebugCommands.STOP, ...DebugSessionContextCommands.STOP, label: 'Stop' },
546
- { ...DebugThreadContextCommands.TERMINATE, label: 'Terminate Thread' }
576
+ { ...DebugCommands.RESTART, ...DebugSessionContextCommands.RESTART },
577
+ { ...DebugCommands.STOP, ...DebugSessionContextCommands.STOP },
578
+ { ...DebugThreadContextCommands.TERMINATE, label: nls.localize('vscode/debug.contribution/terminateThread', 'Terminate Thread') }
547
579
  );
548
580
  registerMenuActions(DebugThreadsWidget.OPEN_MENU,
549
- { ...DebugSessionContextCommands.REVEAL, label: 'Reveal' },
550
- { ...DebugSessionContextCommands.OPEN_LEFT, label: 'Open Left' },
551
- { ...DebugSessionContextCommands.OPEN_RIGHT, label: 'Open Right' },
552
- { ...DebugSessionContextCommands.OPEN_BOTTOM, label: 'Open Bottom' }
581
+ { ...DebugSessionContextCommands.REVEAL, label: nls.localize('theia/debug/reveal', 'Reveal') },
582
+ { ...DebugSessionContextCommands.OPEN_LEFT, label: nls.localize('theia/debug/openLeft', 'Open Left') },
583
+ { ...DebugSessionContextCommands.OPEN_RIGHT, label: nls.localize('theia/debug/openRight', 'Open Right') },
584
+ { ...DebugSessionContextCommands.OPEN_BOTTOM, label: nls.localize('theia/debug/openBottom', 'Open Bottom') }
553
585
  );
554
586
 
555
587
  registerMenuActions(DebugStackFramesWidget.CONTEXT_MENU,
@@ -567,12 +599,12 @@ export class DebugFrontendApplicationContribution extends AbstractViewContributi
567
599
  );
568
600
 
569
601
  registerMenuActions(DebugWatchWidget.EDIT_MENU,
570
- { ...DebugCommands.EDIT_WATCH_EXPRESSION, label: 'Edit Expression' },
571
- { ...DebugCommands.COPY_WATCH_EXPRESSION_VALUE, label: 'Copy Value' }
602
+ DebugCommands.EDIT_WATCH_EXPRESSION,
603
+ DebugCommands.COPY_WATCH_EXPRESSION_VALUE
572
604
  );
573
605
  registerMenuActions(DebugWatchWidget.REMOVE_MENU,
574
- { ...DebugCommands.REMOVE_WATCH_EXPRESSION, label: 'Remove Expression' },
575
- { ...DebugCommands.REMOVE_ALL_WATCH_EXPRESSIONS, label: 'Remove All Expressions' }
606
+ DebugCommands.REMOVE_WATCH_EXPRESSION,
607
+ DebugCommands.REMOVE_ALL_WATCH_EXPRESSIONS
576
608
  );
577
609
 
578
610
  registerMenuActions(DebugBreakpointsWidget.EDIT_MENU,
@@ -590,17 +622,17 @@ export class DebugFrontendApplicationContribution extends AbstractViewContributi
590
622
  );
591
623
 
592
624
  registerMenuActions(DebugEditorModel.CONTEXT_MENU,
593
- { ...DebugEditorContextCommands.ADD_BREAKPOINT, label: 'Add Breakpoint' },
625
+ { ...DebugEditorContextCommands.ADD_BREAKPOINT, label: nls.localize('vscode/breakpointEditorContribution/addBreakpoint', 'Add Breakpoint') },
594
626
  { ...DebugEditorContextCommands.ADD_CONDITIONAL_BREAKPOINT, label: DebugCommands.ADD_CONDITIONAL_BREAKPOINT.label },
595
627
  { ...DebugEditorContextCommands.ADD_LOGPOINT, label: DebugCommands.ADD_LOGPOINT.label },
596
628
  { ...DebugEditorContextCommands.REMOVE_BREAKPOINT, label: DebugCommands.REMOVE_BREAKPOINT.label },
597
629
  { ...DebugEditorContextCommands.EDIT_BREAKPOINT, label: DebugCommands.EDIT_BREAKPOINT.label },
598
- { ...DebugEditorContextCommands.ENABLE_BREAKPOINT, label: 'Enable Breakpoint' },
599
- { ...DebugEditorContextCommands.DISABLE_BREAKPOINT, label: 'Disable Breakpoint' },
630
+ { ...DebugEditorContextCommands.ENABLE_BREAKPOINT, label: nlsEnableBreakpoint('breakpoint', 'Breakpoint') },
631
+ { ...DebugEditorContextCommands.DISABLE_BREAKPOINT, label: nlsDisableBreakpoint('breakpoint', 'Breakpoint') },
600
632
  { ...DebugEditorContextCommands.REMOVE_LOGPOINT, label: DebugCommands.REMOVE_LOGPOINT.label },
601
633
  { ...DebugEditorContextCommands.EDIT_LOGPOINT, label: DebugCommands.EDIT_LOGPOINT.label },
602
- { ...DebugEditorContextCommands.ENABLE_LOGPOINT, label: 'Enable Logpoint' },
603
- { ...DebugEditorContextCommands.DISABLE_LOGPOINT, label: 'Disable Logpoint' }
634
+ { ...DebugEditorContextCommands.ENABLE_LOGPOINT, label: nlsEnableBreakpoint('logPoint', 'Logpoint') },
635
+ { ...DebugEditorContextCommands.DISABLE_LOGPOINT, label: nlsDisableBreakpoint('logPoint', 'Logpoint') }
604
636
  );
605
637
  }
606
638
 
@@ -1074,7 +1106,9 @@ export class DebugFrontendApplicationContribution extends AbstractViewContributi
1074
1106
  priority: 1
1075
1107
  };
1076
1108
  const updateToggleBreakpointsEnabled = () => {
1077
- const tooltip = this.breakpointManager.breakpointsEnabled ? 'Deactivate Breakpoints' : 'Activate Breakpoints';
1109
+ const activateBreakpoints = nls.localize('vscode/breakpointsView/enableAllBreakpoints', 'Enable Breakpoints');
1110
+ const deactivateBreakpoints = nls.localize('vscode/breakpointsView/disableAllBreakpoints', 'Disable Breakpoints');
1111
+ const tooltip = this.breakpointManager.breakpointsEnabled ? deactivateBreakpoints : activateBreakpoints;
1078
1112
  if (toggleBreakpointsEnabled.tooltip !== tooltip) {
1079
1113
  toggleBreakpointsEnabled.tooltip = tooltip;
1080
1114
  onDidChangeToggleBreakpointsEnabled.fire(undefined);
@@ -1084,7 +1118,7 @@ export class DebugFrontendApplicationContribution extends AbstractViewContributi
1084
1118
  id: DebugCommands.ADD_FUNCTION_BREAKPOINT.id,
1085
1119
  command: DebugCommands.ADD_FUNCTION_BREAKPOINT.id,
1086
1120
  icon: codicon('add'),
1087
- tooltip: 'Add Function Breakpoint'
1121
+ tooltip: DebugCommands.ADD_FUNCTION_BREAKPOINT.label
1088
1122
  });
1089
1123
  updateToggleBreakpointsEnabled();
1090
1124
  this.breakpointManager.onDidChangeBreakpoints(updateToggleBreakpointsEnabled);
@@ -1100,20 +1134,20 @@ export class DebugFrontendApplicationContribution extends AbstractViewContributi
1100
1134
  id: DebugCommands.ADD_WATCH_EXPRESSION.id,
1101
1135
  command: DebugCommands.ADD_WATCH_EXPRESSION.id,
1102
1136
  icon: codicon('add'),
1103
- tooltip: 'Add Expression'
1137
+ tooltip: DebugCommands.ADD_WATCH_EXPRESSION.label
1104
1138
  });
1105
1139
  toolbar.registerItem({
1106
1140
  id: DebugCommands.COLLAPSE_ALL_WATCH_EXPRESSIONS.id,
1107
1141
  command: DebugCommands.COLLAPSE_ALL_WATCH_EXPRESSIONS.id,
1108
1142
  icon: codicon('collapse-all'),
1109
- tooltip: 'Collapse All',
1143
+ tooltip: DebugCommands.COLLAPSE_ALL_WATCH_EXPRESSIONS.label,
1110
1144
  priority: 1
1111
1145
  });
1112
1146
  toolbar.registerItem({
1113
1147
  id: DebugCommands.REMOVE_ALL_WATCH_EXPRESSIONS.id,
1114
1148
  command: DebugCommands.REMOVE_ALL_WATCH_EXPRESSIONS.id,
1115
1149
  icon: codicon('close-all'),
1116
- tooltip: 'Remove All Expressions',
1150
+ tooltip: DebugCommands.REMOVE_ALL_WATCH_EXPRESSIONS.label,
1117
1151
  priority: 2
1118
1152
  });
1119
1153
  }
@@ -1125,8 +1159,8 @@ export class DebugFrontendApplicationContribution extends AbstractViewContributi
1125
1159
  protected async openSession(
1126
1160
  session: DebugSession,
1127
1161
  options?: {
1128
- debugViewLocation?: DebugViewLocation
1129
- reveal?: boolean
1162
+ debugViewLocation?: DebugViewLocation;
1163
+ reveal?: boolean;
1130
1164
  }
1131
1165
  ): Promise<DebugWidget | DebugSessionWidget> {
1132
1166
  const { debugViewLocation, reveal } = {
@@ -14,6 +14,7 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
 
17
+ import { nls } from '@theia/core/lib/common/nls';
17
18
  import { PreferenceSchema, PreferenceProxy, PreferenceService, createPreferenceProxy, PreferenceContribution } from '@theia/core/lib/browser/preferences';
18
19
  import { interfaces } from '@theia/core/shared/inversify';
19
20
 
@@ -23,32 +24,47 @@ export const debugPreferencesSchema: PreferenceSchema = {
23
24
  'debug.trace': {
24
25
  type: 'boolean',
25
26
  default: false,
26
- description: 'Enable/disable tracing communications with debug adapters'
27
+ description: nls.localize('theia/debug/toggleTracing', 'Enable/disable tracing communications with debug adapters')
27
28
  },
28
29
  'debug.debugViewLocation': {
29
30
  enum: ['default', 'left', 'right', 'bottom'],
30
31
  default: 'default',
31
- description: 'Controls the location of the debug view.'
32
+ description: nls.localize('theia/debug/debugViewLocation', 'Controls the location of the debug view.')
32
33
  },
33
34
  'debug.openDebug': {
34
35
  enum: ['neverOpen', 'openOnSessionStart', 'openOnFirstSessionStart', 'openOnDebugBreak'],
35
36
  default: 'openOnSessionStart',
36
- description: 'Controls when the debug view should open.'
37
+ description: nls.localize('vscode/debug.contribution/openDebug', 'Controls when the debug view should open.')
37
38
  },
38
39
  'debug.internalConsoleOptions': {
39
40
  enum: ['neverOpen', 'openOnSessionStart', 'openOnFirstSessionStart'],
40
41
  default: 'openOnFirstSessionStart',
41
- description: 'Controls when the internal debug console should open.'
42
+ description: nls.localize('vscode/debug/internalConsoleOptions', 'Controls when the internal debug console should open.')
42
43
  },
43
44
  'debug.inlineValues': {
44
45
  type: 'boolean',
45
46
  default: false,
46
- description: 'Show variable values inline in editor while debugging.'
47
+ description: nls.localize('vscode/debug.contribution/inlineValues', 'Show variable values inline in editor while debugging.')
47
48
  },
48
49
  'debug.showInStatusBar': {
49
50
  enum: ['never', 'always', 'onFirstSessionStart'],
50
- description: 'Controls when the debug status bar should be visible.',
51
+ enumDescriptions: [
52
+ nls.localize('vscode/debug.contribution/never', 'Never show debug in status bar'),
53
+ nls.localize('vscode/debug.contribution/always', 'Always show debug in status bar'),
54
+ nls.localize('vscode/debug.contribution/onFirstSessionStart', 'Show debug in status bar only after debug was started for the first time')
55
+ ],
56
+ description: nls.localize('vscode/debug.contribution/showInStatusBar', 'Controls when the debug status bar should be visible.'),
51
57
  default: 'onFirstSessionStart'
58
+ },
59
+ 'debug.confirmOnExit': {
60
+ description: 'Controls whether to confirm when the window closes if there are active debug sessions.',
61
+ type: 'string',
62
+ enum: ['never', 'always'],
63
+ enumDescriptions: [
64
+ 'Never confirm.',
65
+ 'Always confirm if there are debug sessions.',
66
+ ],
67
+ default: 'never'
52
68
  }
53
69
  }
54
70
  };
@@ -60,6 +76,7 @@ export class DebugConfiguration {
60
76
  'debug.internalConsoleOptions': 'neverOpen' | 'openOnSessionStart' | 'openOnFirstSessionStart';
61
77
  'debug.inlineValues': boolean;
62
78
  'debug.showInStatusBar': 'never' | 'always' | 'onFirstSessionStart';
79
+ 'debug.confirmOnExit': 'never' | 'always';
63
80
  }
64
81
 
65
82
  export const DebugPreferenceContribution = Symbol('DebugPreferenceContribution');
@@ -61,11 +61,11 @@ export class DebugPrefixConfiguration implements CommandContribution, CommandHan
61
61
 
62
62
  readonly statusBarId = 'select-run-debug-statusbar-item';
63
63
 
64
- private readonly command: Command = {
64
+ private readonly command = Command.toLocalizedCommand({
65
65
  id: 'select.debug.configuration',
66
- category: 'Debug',
66
+ category: DebugCommands.DEBUG_CATEGORY,
67
67
  label: 'Select and Start Debugging'
68
- };
68
+ }, 'vscode/debugCommands/selectAndStartDebugging', DebugCommands.DEBUG_CATEGORY_KEY);
69
69
 
70
70
  @postConstruct()
71
71
  protected initialize(): void {
@@ -19,7 +19,7 @@
19
19
  import { DebugProtocol } from 'vscode-debugprotocol';
20
20
  import { Deferred } from '@theia/core/lib/common/promise-util';
21
21
  import { Event, Emitter, DisposableCollection, Disposable, MaybePromise } from '@theia/core';
22
- import { OutputChannel } from '@theia/output/lib/common/output-channel';
22
+ import { OutputChannel } from '@theia/output/lib/browser/output-channel';
23
23
  import { IWebSocket } from '@theia/core/shared/vscode-ws-jsonrpc';
24
24
 
25
25
  export interface DebugExitEvent {
@@ -23,7 +23,7 @@ import { WebSocketConnectionProvider } from '@theia/core/lib/browser/messaging/w
23
23
  import { DebugSession } from './debug-session';
24
24
  import { BreakpointManager } from './breakpoint/breakpoint-manager';
25
25
  import { DebugSessionOptions } from './debug-session-options';
26
- import { OutputChannelManager, OutputChannel } from '@theia/output/lib/common/output-channel';
26
+ import { OutputChannelManager, OutputChannel } from '@theia/output/lib/browser/output-channel';
27
27
  import { DebugPreferences } from './debug-preferences';
28
28
  import { DebugSessionConnection } from './debug-session-connection';
29
29
  import { IWebSocket } from '@theia/core/shared/vscode-ws-jsonrpc';
@@ -18,6 +18,7 @@ import { interfaces } from '@theia/core/shared/inversify';
18
18
  import { PreferenceContribution, PreferenceSchema } from '@theia/core/lib/browser/preferences/preference-contribution';
19
19
  import { launchSchemaId } from '../debug-schema-updater';
20
20
  import { PreferenceConfiguration } from '@theia/core/lib/browser/preferences/preference-configurations';
21
+ import { nls } from '@theia/core/lib/common/nls';
21
22
 
22
23
  export const launchPreferencesSchema: PreferenceSchema = {
23
24
  type: 'object',
@@ -25,7 +26,10 @@ export const launchPreferencesSchema: PreferenceSchema = {
25
26
  properties: {
26
27
  'launch': {
27
28
  $ref: launchSchemaId,
28
- description: "Global debug launch configuration. Should be used as an alternative to 'launch.json' that is shared across workspaces",
29
+ description: nls.localize(
30
+ 'vscode/debug.contribution/launch',
31
+ "Global debug launch configuration. Should be used as an alternative to 'launch.json' that is shared across workspaces"
32
+ ),
29
33
  defaultValue: { configurations: [], compounds: [] }
30
34
  }
31
35
  }
@@ -29,12 +29,6 @@ export class DebugBreakpointsSource extends TreeSource {
29
29
  @inject(BreakpointManager)
30
30
  protected readonly breakpoints: BreakpointManager;
31
31
 
32
- constructor() {
33
- super({
34
- placeholder: 'No breakpoints'
35
- });
36
- }
37
-
38
32
  @postConstruct()
39
33
  protected init(): void {
40
34
  this.fireDidChange();
@@ -21,6 +21,7 @@ import { SourceTreeWidget } from '@theia/core/lib/browser/source-tree';
21
21
  import { DebugBreakpointsSource } from './debug-breakpoints-source';
22
22
  import { BreakpointManager } from '../breakpoint/breakpoint-manager';
23
23
  import { DebugViewModel } from './debug-view-model';
24
+ import { nls } from '@theia/core/lib/common/nls';
24
25
 
25
26
  @injectable()
26
27
  export class DebugBreakpointsWidget extends SourceTreeWidget {
@@ -57,7 +58,7 @@ export class DebugBreakpointsWidget extends SourceTreeWidget {
57
58
  protected init(): void {
58
59
  super.init();
59
60
  this.id = 'debug:breakpoints:' + this.viewModel.id;
60
- this.title.label = 'Breakpoints';
61
+ this.title.label = nls.localize('vscode/debug.contribution/breakpoints', 'Breakpoints');
61
62
  this.toDispose.push(this.breakpointsSource);
62
63
  this.source = this.breakpointsSource;
63
64
  }