Skip to content

Commit 66b4210

Browse files
Update debugger to 1.23.17 (#4855)
This PR updates the debugger to 1.23.17. This includes: * All the bug fixes that went into Visual Studio 17 GA * Updating the debugger to run on .NET 6 RC2 * Enhanced support for launchSettings.json ([#3121](#3121)) * Now that most users will not need to download the debugger themselves (it comes pre-packaged in a platform specific .vsix), this changes back to the Azure CDN instead of https://download.visualstudio.microsoft.com This also updates `gulp updatePackageDependencies` to support updating packages when the primary URL just has a simple version number.
1 parent b43193c commit 66b4210

File tree

5 files changed

+164
-74
lines changed

5 files changed

+164
-74
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,13 @@
1212
* As a workaround, make an edit within the file before using Rename Symbol.
1313

1414
## 1.23.17 (Not released yet)
15+
* Greatly improved download experience: when the C# extension is downloaded from the VS Code Marketplace, it will include all of its dependencies already ([#4775](https://github.com/OmniSharp/omnisharp-vscode/issues/4775))
1516
* Fix decompilation authorization check ([#4817](https://github.com/OmniSharp/omnisharp-vscode/issues/4817), PR: [#4821](https://github.com/OmniSharp/omnisharp-vscode/pull/4821))
1617
* Fix typo in Readme.md (PR: [#4819](https://github.com/OmniSharp/omnisharp-vscode/pull/4819))
18+
* Debugger changes:
19+
* The debugger itself runs on .NET 6 RC2
20+
* Enhanced support for launchSettings.json ([#3121](https://github.com/OmniSharp/omnisharp-vscode/issues/3121))
21+
* Fixed process listing on Windows 11 (PR: [#4848](https://github.com/OmniSharp/omnisharp-vscode/pull/4848)) _(Many thanks to [@eternalphane](https://github.com/eternalphane))_
1722

1823
## 1.23.16 (Oct 12th, 2021)
1924
* Show decompilation authorization once per install. ([#3982](https://github.com/OmniSharp/omnisharp-vscode/issues/3982), PR: [#4760](https://github.com/OmniSharp/omnisharp-vscode/pull/4760))

debugger-launchjson.md

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,26 @@ Environment variables may be passed to your program using this schema:
108108
"myVariableName":"theValueGoesHere"
109109
}
110110

111-
NOTE: Environment variables can also be configured through a `${cwd}/Properties/launchSettings.json` file, which is useful for environment variables that should be set in all development scenarios -- when the project is started from the command line (`dotnet run`), from Visual Studio Code, or Visual Studio.
111+
## Console (terminal) window
112+
113+
The `"console"` setting controls what console (terminal) window the target app is launched into. It can be set to any of these values --
114+
115+
`"internalConsole"` (default) : the target process's console output (stdout/stderr) goes to the VS Code Debug Console. This is useful for executables that take their input from the network, files, etc. But this does **NOT** work for applications that want to read from the console (ex: `Console.ReadLine`).
116+
117+
`"integratedTerminal"` : the target process will run inside [VS Code's integrated terminal](https://code.visualstudio.com/docs/editor/integrated-terminal). Click the 'Terminal' tab in the tab group beneath the editor to interact with your application. Alternatively add `"internalConsoleOptions": "neverOpen"` to make it so that the default foreground tab is the terminal tab.
118+
119+
`"externalTerminal"`: the target process will run inside its own external terminal.
120+
121+
## launchSettings.json support
112122

113-
Example Properties/launchSettings.json file:
123+
In addition to launch.json, launch options can be configured through a {cwd}/Properties/launchSettings.json file. The advantage of
124+
launchSettings.json is that it allows settings to be shared between Visual Studio Code, full Visual Studio, and `dotnet run`.
125+
126+
To configure which launchSettings.json profile to use (or to prevent it from being used), set the `launchSettingsProfile` option:
127+
128+
"launchSettingsProfile": "ProfileNameGoesHere"
129+
130+
Which would then, for example, use `myVariableName` from this example launchSettings.json file:
114131

115132
```json
116133
{
@@ -125,15 +142,17 @@ Example Properties/launchSettings.json file:
125142
}
126143
```
127144

128-
## Console (terminal) window
129-
130-
The `"console"` setting controls what console (terminal) window the target app is launched into. It can be set to any of these values --
145+
If `launchSettingsProfile` is NOT specified, the first profile with `"commandName": "Project"` will be used.
131146

132-
`"internalConsole"` (default) : the target process's console output (stdout/stderr) goes to the VS Code Debug Console. This is useful for executables that take their input from the network, files, etc. But this does **NOT** work for applications that want to read from the console (ex: `Console.ReadLine`).
147+
If `launchSettingsProfile` is set to null/an empty string, then Properties/launchSettings.json will be ignored.
133148

134-
`"integratedTerminal"` : the target process will run inside [VS Code's integrated terminal](https://code.visualstudio.com/docs/editor/integrated-terminal). Click the 'Terminal' tab in the tab group beneath the editor to interact with your application. Alternatively add `"internalConsoleOptions": "neverOpen"` to make it so that the default foreground tab is the terminal tab.
135-
136-
`"externalTerminal"`: the target process will run inside its own external terminal.
149+
Restrictions:
150+
1. The launchSettings.json file must be in {cwd}/Properties/launchSettings.json
151+
2. Only profiles with `"commandName": "Project"` are supported.
152+
3. Only `environmentVariables`, `applicationUrl` and `commandLineArgs` properties are supported
153+
4. Settings in launch.json will take precedence over settings in launchSettings.json, so for example, if `args`
154+
is already set to something other than an empty string/array in `launch.json` then the launchSettings.json
155+
content will be ignored.
137156

138157
## Source File Map
139158
You can optionally configure how source files are opened by providing a map using this form:

package.json

Lines changed: 39 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -217,8 +217,7 @@
217217
{
218218
"id": "Debugger",
219219
"description": ".NET Core Debugger (Windows / x64)",
220-
"url": "https://download.visualstudio.microsoft.com/download/pr/49f44239-bd47-4fb5-91be-4c91d7638fff/b490d6a6de4ec50e2bd22f690489ef6c/coreclr-debug-win7-x64.zip",
221-
"fallbackUrl": "https://vsdebugger.blob.core.windows.net/coreclr-debug-1-23-14/coreclr-debug-win7-x64.zip",
220+
"url": "https://vsdebugger.azureedge.net/coreclr-debug-1-23-17/coreclr-debug-win7-x64.zip",
222221
"installPath": ".debugger",
223222
"platforms": [
224223
"win32"
@@ -227,13 +226,12 @@
227226
"x86_64"
228227
],
229228
"installTestPath": "./.debugger/vsdbg-ui.exe",
230-
"integrity": "9EA16813520F5E74535739DAD1E9E72465D7F496A6C8465AEA3EF57C86CF320C"
229+
"integrity": "DEE5667896B7399AB0AAA1A1CC10C6FB2B7D8F47AB17C12E40ABA97677AB90D3"
231230
},
232231
{
233232
"id": "Debugger",
234233
"description": ".NET Core Debugger (Windows / ARM64)",
235-
"url": "https://download.visualstudio.microsoft.com/download/pr/49f44239-bd47-4fb5-91be-4c91d7638fff/82a75a9c89a2e5087908651b602d7d01/coreclr-debug-win10-arm64.zip",
236-
"fallbackUrl": "https://vsdebugger.blob.core.windows.net/coreclr-debug-1-23-14/coreclr-debug-win10-arm64.zip",
234+
"url": "https://vsdebugger.azureedge.net/coreclr-debug-1-23-17/coreclr-debug-win10-arm64.zip",
237235
"installPath": ".debugger",
238236
"platforms": [
239237
"win32"
@@ -242,13 +240,12 @@
242240
"arm64"
243241
],
244242
"installTestPath": "./.debugger/vsdbg-ui.exe",
245-
"integrity": "FD9A1B46DA9C7226828595826F6CE215DF769C5111D02DB567494A1EB095E155"
243+
"integrity": "30BF86A94A1362465B539DC42995BF2E066F0656B2FF53D259B9ADB2A50DBF3E"
246244
},
247245
{
248246
"id": "Debugger",
249247
"description": ".NET Core Debugger (macOS / x64)",
250-
"url": "https://download.visualstudio.microsoft.com/download/pr/49f44239-bd47-4fb5-91be-4c91d7638fff/c1122f7141735472d9583c1124024c55/coreclr-debug-osx-x64.zip",
251-
"fallbackUrl": "https://vsdebugger.blob.core.windows.net/coreclr-debug-1-23-14/coreclr-debug-osx-x64.zip",
248+
"url": "https://vsdebugger.azureedge.net/coreclr-debug-1-23-17/coreclr-debug-osx-x64.zip",
252249
"installPath": ".debugger/x86_64",
253250
"platforms": [
254251
"darwin"
@@ -262,13 +259,12 @@
262259
"./vsdbg"
263260
],
264261
"installTestPath": "./.debugger/x86_64/vsdbg-ui",
265-
"integrity": "554436E48F02C994BD05AD365EFFF9E242710C49CD2BDE695DBABD222098E323"
262+
"integrity": "EAFB7B0F3489B9F2D89C2BC4CB855729398D25D6F2A6587913732018B9BBB362"
266263
},
267264
{
268265
"id": "Debugger",
269266
"description": ".NET Core Debugger (macOS / arm64)",
270-
"url": "https://download.visualstudio.microsoft.com/download/pr/49f44239-bd47-4fb5-91be-4c91d7638fff/96a88189c7904a517f3bb59b2dba8bd1/coreclr-debug-osx-arm64.zip",
271-
"fallbackUrl": "https://vsdebugger.blob.core.windows.net/coreclr-debug-1-23-14/coreclr-debug-osx-arm64.zip",
267+
"url": "https://vsdebugger.azureedge.net/coreclr-debug-1-23-17/coreclr-debug-osx-arm64.zip",
272268
"installPath": ".debugger/arm64",
273269
"platforms": [
274270
"darwin"
@@ -281,13 +277,12 @@
281277
"./vsdbg"
282278
],
283279
"installTestPath": "./.debugger/arm64/vsdbg-ui",
284-
"integrity": "40395770CDBA25FD67D2A5B8630F16146B293EAE8A07205DF1646D1805F87384"
280+
"integrity": "AB272AD7F519FA1564A3C9AA7052D5ADD972A6DDAD7A2B6CA0DF775A7F83704C"
285281
},
286282
{
287283
"id": "Debugger",
288284
"description": ".NET Core Debugger (linux / ARM)",
289-
"url": "https://download.visualstudio.microsoft.com/download/pr/49f44239-bd47-4fb5-91be-4c91d7638fff/f346e34bb51c0595cf7f4727cac76907/coreclr-debug-linux-arm.zip",
290-
"fallbackUrl": "https://vsdebugger.blob.core.windows.net/coreclr-debug-1-23-14/coreclr-debug-linux-arm.zip",
285+
"url": "https://vsdebugger.azureedge.net/coreclr-debug-1-23-17/coreclr-debug-linux-arm.zip",
291286
"installPath": ".debugger",
292287
"platforms": [
293288
"linux"
@@ -300,13 +295,12 @@
300295
"./vsdbg"
301296
],
302297
"installTestPath": "./.debugger/vsdbg-ui",
303-
"integrity": "4283432742665B400B1807A76770475B2CA43895C7E7870D85E34C3ADF4D1B3F"
298+
"integrity": "C03F6DBE1F84717483C016F67AC92C56391798BAB4EE41D58521588D5EDF1ED0"
304299
},
305300
{
306301
"id": "Debugger",
307302
"description": ".NET Core Debugger (linux / ARM64)",
308-
"url": "https://download.visualstudio.microsoft.com/download/pr/49f44239-bd47-4fb5-91be-4c91d7638fff/7a723bfbda6d196c52084226b6835b36/coreclr-debug-linux-arm64.zip",
309-
"fallbackUrl": "https://vsdebugger.blob.core.windows.net/coreclr-debug-1-23-14/coreclr-debug-linux-arm64.zip",
303+
"url": "https://vsdebugger.azureedge.net/coreclr-debug-1-23-17/coreclr-debug-linux-arm64.zip",
310304
"installPath": ".debugger",
311305
"platforms": [
312306
"linux"
@@ -319,13 +313,12 @@
319313
"./vsdbg"
320314
],
321315
"installTestPath": "./.debugger/vsdbg-ui",
322-
"integrity": "7C266186F481159BFC40406BF4CE479FC4144179C69128B01CD3E1E3062E8AB4"
316+
"integrity": "4C3564FE7FBD7403E7B987C44FC4B6E532D177BF179321595D892D7239D1293D"
323317
},
324318
{
325319
"id": "Debugger",
326320
"description": ".NET Core Debugger (linux / x64)",
327-
"url": "https://download.visualstudio.microsoft.com/download/pr/49f44239-bd47-4fb5-91be-4c91d7638fff/dd019b4c839f458596e26bfcfe6a3e7f/coreclr-debug-linux-x64.zip",
328-
"fallbackUrl": "https://vsdebugger.blob.core.windows.net/coreclr-debug-1-23-14/coreclr-debug-linux-x64.zip",
321+
"url": "https://vsdebugger.azureedge.net/coreclr-debug-1-23-17/coreclr-debug-linux-x64.zip",
329322
"installPath": ".debugger",
330323
"platforms": [
331324
"linux"
@@ -338,7 +331,7 @@
338331
"./vsdbg"
339332
],
340333
"installTestPath": "./.debugger/vsdbg-ui",
341-
"integrity": "F389283020F345DA4BAC1067E9D8E5B28BD4306338C651075D07285D0600BE30"
334+
"integrity": "3CF4619DB967FA71FE04615D1A171B9C03E6CA97335BAC3C0E04116490B73336"
342335
},
343336
{
344337
"id": "Razor",
@@ -1238,6 +1231,18 @@
12381231
"description": "Attribute 'externalConsole' is deprecated, use 'console' instead.",
12391232
"default": false
12401233
},
1234+
"launchSettingsProfile": {
1235+
"anyOf": [
1236+
{
1237+
"type": "string"
1238+
},
1239+
{
1240+
"type": "null"
1241+
}
1242+
],
1243+
"description": "If specified, indicates the name of the profile in {cwd}/Properties/launchSettings.json to use. This is ignored if launchSettings.json is not found. If this is set to null or an empty string then launchSettings.json is ignored. If this value is not specified the first 'Project' profile will be used.",
1244+
"default": "<insert-profile-name>"
1245+
},
12411246
"sourceFileMap": {
12421247
"type": "object",
12431248
"description": "Optional source file mappings passed to the debug engine. Example: '{ \"C:\\foo\":\"/home/user/foo\" }'",
@@ -2344,6 +2349,18 @@
23442349
"description": "Attribute 'externalConsole' is deprecated, use 'console' instead.",
23452350
"default": false
23462351
},
2352+
"launchSettingsProfile": {
2353+
"anyOf": [
2354+
{
2355+
"type": "string"
2356+
},
2357+
{
2358+
"type": "null"
2359+
}
2360+
],
2361+
"description": "If specified, indicates the name of the profile in {cwd}/Properties/launchSettings.json to use. This is ignored if launchSettings.json is not found. If this is set to null or an empty string then launchSettings.json is ignored. If this value is not specified the first 'Project' profile will be used.",
2362+
"default": "<insert-profile-name>"
2363+
},
23472364
"sourceFileMap": {
23482365
"type": "object",
23492366
"description": "Optional source file mappings passed to the debug engine. Example: '{ \"C:\\foo\":\"/home/user/foo\" }'",
@@ -3750,4 +3767,4 @@
37503767
}
37513768
]
37523769
}
3753-
}
3770+
}

src/tools/OptionsSchema.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,18 @@
323323
"description": "Attribute 'externalConsole' is deprecated, use 'console' instead.",
324324
"default": false
325325
},
326+
"launchSettingsProfile": {
327+
"anyOf": [
328+
{
329+
"type": "string"
330+
},
331+
{
332+
"type": "null"
333+
}
334+
],
335+
"description": "If specified, indicates the name of the profile in {cwd}/Properties/launchSettings.json to use. This is ignored if launchSettings.json is not found. If this is set to null or an empty string then launchSettings.json is ignored. If this value is not specified the first 'Project' profile will be used.",
336+
"default": "<insert-profile-name>"
337+
},
326338
"sourceFileMap": {
327339
"type": "object",
328340
"description": "Optional source file mappings passed to the debug engine. Example: '{ \"C:\\foo\":\"/home/user/foo\" }'",

0 commit comments

Comments
 (0)