You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+24-12Lines changed: 24 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,28 +9,40 @@ Welcome to the C# extension for Visual Studio Code! This preview provides the fo
9
9
* Lightweight development tools for [.NET Core](https://dotnet.github.io).
10
10
* Great C# editing support, including Syntax Highlighting, IntelliSense, Go to Definition, Find All References, etc.
11
11
* Debugging support for .NET Core (CoreCLR). NOTE: Mono and Desktop CLR debugging is not supported.
12
-
* Support for project.json projects on Windows, OS X and Linux, and csproj projects on Windows.
12
+
* Support for project.json projects on Windows, macOS and Linux, and csproj projects on Windows.
13
13
14
14
The C# extension is powered by [OmniSharp](https://github.com/OmniSharp/omnisharp-roslyn).
15
15
16
-
### **Important!** Breaking Changes as of 1.2
17
-
18
-
* The C# extension now only supports .NET Core 1.0. Please upgrade any RC1 or RC2 projects to the 1.0.0 release build.
19
-
***Support for .csproj projects is partially functional on OS X and Linux.** This will impact anyone doing .csproj development on OS X or Linux (e.g. Unity, Xamarin, etc.). We are working to address this in the near future. However, for now, you can use the [Legacy C# Support extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.omnisharp).
16
+
### What's New in 1.3
17
+
18
+
* Support for Unity and Mono development on macOS and Linux has been restored! This release brings back support for the Mono version of OmniSharp, which is used to provide *much* better support for .csproj/.sln projects. Please note that Mono version 4.0.1 or newer is required.
19
+
* Generation of tasks.json and launch.json files can now properly handle nested projects. [#170](https://github.com/OmniSharp/omnisharp-vscode/issues/170)
20
+
* New UI that makes it easy to select a process ID when attaching the debugger to another process. Note: If you have an existing launch.json file, you can re-generate it by deleting the file, closing your workspace in Visual Studio Code and opening it again. Or, you can open the launch.json file and change the `processId` value to `"${command.pickProcess}"`.
21
+
* Support for debugging in .cshtml files. To enable this, add a `sourceFileMap` entry to your launch.json with the following content: `"sourceFileMap": { "/Views": "${workspaceRoot}/Views" }`
22
+
* Support for conditional breakpoints
23
+
* New support for changing variable values in the debugger! To try this, just right-click on the variable name and select 'Set Value'. Note: To properly support this feature, we've changed the display of variable type names in the debugger to a shortened form. The full type name can be viewed by hovering over the name with the mouse.
24
+
* New configuration option to enable [stepping into properties and operators](https://github.com/OmniSharp/omnisharp-vscode/blob/release/debugger.md#stepping-into-properties-and-operators).
25
+
* Duplicate warnings and errors should no longer accumulate in Unity projects [#447](https://github.com/OmniSharp/omnisharp-vscode/issues/447)
26
+
27
+
### Supported Operating Systems
28
+
29
+
* Currently, the C# extension supports the following operatings systems:
30
+
* Windows (64-bit only)
31
+
* macOS
32
+
* Ubuntu 14.04 / Linux Mint 17
33
+
* Ubuntu 16.04
34
+
* Debian 8.2
35
+
* CentOS 7.1 / Oracle Linux 7
36
+
* Red Hat Enterprise Linux (RHEL)
37
+
* Fedora 23
38
+
* OpenSUSE 13.2
20
39
21
40
### Found a Bug?
22
41
Please file any issues at https://github.com/OmniSharp/omnisharp-vscode/issues.
23
42
24
43
### Debugging
25
44
The C# extension now supports basic debugging capabilities! See http://aka.ms/vscclrdebugger for details.
26
45
27
-
### What's new in C# extension version 1.2
28
-
29
-
* Adds debugger support for new Linux versions: Ubuntu 16.04, Fedora 23, openSUSE 13.2, and Oracle Linux 7.1
30
-
* Enhanced debug console output: module loads are now output, and there are launch.json options for controlling what is output
31
-
* Source file checksum support for breakpoints. This ensures that the debugger only sets breakpoints in code that exactly matches the open document.
32
-
* Support for editing the value of variables in the watch and locals window (requires VS Code 1.3)
Copy file name to clipboardExpand all lines: debugger.md
+21-6Lines changed: 21 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,9 +5,12 @@ This page gives you detailed instructions on how to debug code running under .NE
5
5
File bugs and feature requests [here](https://github.com/OmniSharp/omnisharp-vscode/issues) and [join our insiders group](http://landinghub.visualstudio.com/dotnetcoreinsiders) to help us build great tooling for .NET Core.
6
6
7
7
####Requirements
8
-
* Requires .NET Core 1.0 RC2 or newer (will not work with earlier versions)
8
+
* Requires .NET Core 1.0 (rc2 are earlier releases are not supported)
9
9
* X64 only
10
-
* Supports OSX, Ubuntu 14.04, Red Hat Enterprise Linux 7.2, Debian 8.2, Centos 7.1, and Windows 7+
10
+
* Supported operating systems:
11
+
* macOS: 10.11+ (El Capitan+)
12
+
* Linux: Red Hat Enterprise Linux 7.2+, Ubuntu 14.04 LTS, Ubuntu 16.04 LTS, Debian 8.2+, Linux Mint 17+, CentOS 7.1+, Oracle Linux 7.1+, Fedora 23, openSUSE 13.2
13
+
* Windows: 7+
11
14
12
15
###First Time setup
13
16
##### 1: Get Visual Studio Code
@@ -26,7 +29,7 @@ Install the .NET Core command line tools (CLI) by following the installation par
26
29
##### 3: Install C# Extension for VS Code
27
30
Open the command palette in VS Code (F1) and type "ext install C#" to trigger the installation of the extension. VS Code will show a message that the extension has been installed and it will restart.
28
31
29
-
If you have previously installed the C# extension, make sure that you have version 1.1.6 or newer. You can check this by opening the command palette (F1) and running 'Extensions: Show Installed Extensions'.
32
+
If you have previously installed the C# extension, make sure that you have version 1.2 or newer. You can check this by opening the command palette (F1) and running 'Extensions: Show Installed Extensions'.
30
33
31
34
##### 4: Wait for download of platform-specific files
32
35
The first time that C# code is opened in VS Code, the extension will download the platform-specific files needed for debugging and editing. Debugging and editor features will not work until these steps finish.
@@ -49,7 +52,7 @@ You can also find some example projects on https://github.com/aspnet/cli-samples
49
52
##### 2: Open the directory in VS Code
50
53
Go to File->Open and open the directory in Visual Studio Code. If this is the first time that the C# extension has been activated, it will now download additional platform-specific dependencies.
51
54
52
-
**Troubleshooting 'Error while installing .NET Core Debugger':** If the debugger is failing to download its platform-specific dependencies, first verify that you have the 1.0.0-preview1-002702 or newer build of the .NET CLI installed, and it is functioning. You can check this by starting a bash/command prompt and running 'dotnet --info'.
55
+
**Troubleshooting 'Error while installing .NET Core Debugger':** If the debugger is failing to download its platform-specific dependencies, first verify that you have the 1.0.0-preview2-003121 or newer build of the .NET CLI installed, and it is functioning. You can check this by starting a bash/command prompt and running 'dotnet --info'.
53
56
54
57
If the CLI is installed, here are a few additional suggestions:
55
58
@@ -111,7 +114,7 @@ You can optionally disable justMyCode by setting it to "false". You should disab
111
114
Just My Code is a set of features that makes it easier to focus on debugging your code by hiding some of the details of optimized libraries that you might be using, like the .NET Framework itself. The most important sub parts of this feature are --
112
115
113
116
* User-unhandled exceptions: automatically stop the debugger just before exceptions are about to be caught by the framework
114
-
* Just My Code stepping: when stepping, if framework code calls back to user code, automaticially stop.
117
+
* Just My Code stepping: when stepping, if framework code calls back to user code, automatically stop.
115
118
116
119
#####Source File Map
117
120
You can optionally configure a file by file mapping by providing map following this schema:
@@ -133,10 +136,22 @@ Environment variables may be passed to your program using this schema:
133
136
}
134
137
135
138
#####External console (terminal) window
136
-
The target process can optionally launch into a seperate console window. You will want this if your console app takes console input (ex: Console.ReadLine). This can be enabled with:
139
+
The target process can optionally launch into a separate console window. You will want this if your console app takes console input (ex: Console.ReadLine). This can be enabled with:
137
140
138
141
"externalConsole": true
139
142
143
+
##### Stepping into properties and operators
144
+
The debugger steps over properties and operators in managed code by default. In most cases, this provides a better debugging experience. To change this and enable stepping into properties or operators add:
145
+
146
+
"enableStepFiltering": false
147
+
148
+
#### Attach Support
149
+
The C# debugger supports attaching to processes. To do this, switch to the Debug tab, and open the configuration drop down.
150
+
151
+

152
+
153
+
Select the '.NET Core Attach' configuration. Clicking the play button (or pressing F5) will then try to attach. In launch.json, if `processId` is set to `"${command.pickProcess}"` this will provide UI to select which process to attach to.
154
+
140
155
#### Docker Support
141
156
142
157
Using Visual Studio Code and the C# extension it is also possible to debug your code running in a [Docker container](https://en.wikipedia.org/wiki/Docker_(software)). To do so, follow instructions to install and run [yo docker](https://github.com/Microsoft/generator-docker#generator-docker). This will add files to your project to build a container, and it will add a new debug launch configuration which will invoke a container build, and then debug your app in the container.
"description": "Optional flag to require current source code to match the pdb.",
309
310
"default": true
310
311
},
312
+
"enableStepFiltering": {
313
+
"type": "boolean",
314
+
"description": "Optional flag to enable stepping over Properties and Operators.",
315
+
"default": true
316
+
},
311
317
"logging": {
312
318
"type": "object",
313
319
"required": [],
@@ -497,9 +503,18 @@
497
503
"default": "The process name to attach to. If this is used, 'processId' should not be used."
498
504
},
499
505
"processId": {
500
-
"type": "integer",
501
-
"description": "The process id to attach to. If this is used, 'processName' should not be used.",
502
-
"default": 0
506
+
"anyOf": [
507
+
{
508
+
"type": "string",
509
+
"description": "The process id to attach to. Use \"${command.pickProcesss}\" to get a list of running processes to attach to. If 'processId' used, 'processName' should not be used.",
510
+
"default": "${command.pickProcess}"
511
+
},
512
+
{
513
+
"type": "integer",
514
+
"description": "The process id to attach to. Use \"${command.pickProcesss}\" to get a list of running processes to attach to. If 'processId' used, 'processName' should not be used.",
515
+
"default": 0
516
+
}
517
+
]
503
518
},
504
519
"sourceFileMap": {
505
520
"type": "object",
@@ -526,6 +541,11 @@
526
541
"description": "Optional flag to require current source code to match the pdb.",
527
542
"default": true
528
543
},
544
+
"enableStepFiltering": {
545
+
"type": "boolean",
546
+
"description": "Optional flag to enable stepping over Properties and Operators.",
0 commit comments