Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
9bde2ae
Prevent Nuget.Config change from flowing to master
gregg-miskelly Jun 15, 2016
cb65c26
Adding attach process picker. (#406) (#449)
gregg-miskelly Jun 17, 2016
c45f9ca
Debugger.md tweaks for recent changes
gregg-miskelly Jun 25, 2016
f68f555
Add DockerSupport section
gregg-miskelly Jun 27, 2016
e16dd86
debgger.md: Add Docker link
gregg-miskelly Jun 27, 2016
14fbdd1
Update CLI uninstall instructions
gregg-miskelly Jun 27, 2016
ce4472c
Merge 'release' into 'master'
DustinCampbell Jun 28, 2016
a6a3058
Adding support for Oracle Linux. (#470)
rajkumar42 Jun 28, 2016
bd6bf38
Merge pull request #488 from DustinCampbell/merge-release-into-master
DustinCampbell Jun 28, 2016
1b4ba1d
Add logModuleLoadEvents launch option configuration (#441)
wesrupert Jun 28, 2016
0de9d6e
Update package versions
Jun 29, 2016
9be9001
Update linux distro sniffing and OmniSharp download logic with new di…
DustinCampbell Jun 28, 2016
a4815ac
Update OmniSharp to version v1.9-beta11
DustinCampbell Jun 29, 2016
72175f1
Update README.md for 1.2.0 (#499)
gregg-miskelly Jun 29, 2016
524397b
Fix detection on Oracle Linux
DustinCampbell Jun 29, 2016
d381c25
Merge pull request #498 from caslan/updatepackageversions
caslan Jun 29, 2016
734b81f
Merge pull request #500 from DustinCampbell/update-linux-distros
DustinCampbell Jun 29, 2016
76c10ec
Add back imports to project.json for debugger install
Jun 29, 2016
4ace162
Merge pull request #501 from caslan/addbackimports
caslan Jun 29, 2016
feb7a17
Add additional Linux distros to offline packaging
DustinCampbell Jun 29, 2016
2f5956a
Fix code that processes lines in /etc/os-release to remove whitespace
DustinCampbell Jun 29, 2016
e358bdc
Merge pull request #502 from DustinCampbell/update-offline-versions
DustinCampbell Jun 29, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 8 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ Welcome to the C# extension for Visual Studio Code! This preview provides the fo

The C# extension is powered by [OmniSharp](https://github.com/OmniSharp/omnisharp-roslyn).

### **Important!** Breaking Changes as of 1.0.10
### **Important!** Breaking Changes as of 1.2

* The C# extension now only supports [.NET Core RC2](https://blogs.msdn.microsoft.com/dotnet/2016/05/16/announcing-net-core-rc2/). It no longer supports .NET Core RC1 or ASP .NET 5 RC1.
* The C# extension now only supports .NET Core 1.0. Please upgrade any RC1 or RC2 projects to the 1.0.0 release build.
* **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).

### Found a Bug?
Expand All @@ -24,17 +24,12 @@ Please file any issues at https://github.com/OmniSharp/omnisharp-vscode/issues.
### Debugging
The C# extension now supports basic debugging capabilities! See http://aka.ms/vscclrdebugger for details.

### What's new in C# extension version 1.1

* Preliminary support for `dotnet test`
* Fix for OmniSharp installation problems on networks with an http proxy
* Debugger support for an external console
* Debugger support for environment variables
* Support for debugging .NET Core 1.0.0 post RC2 builds
* Automatic web vs. console debugger configuration detection
* Detach support
* Fix expression evaluation errors when referencing assemblies which aren't currently loaded
* Fix expression evaluation on Windows 7
### What's new in C# extension version 1.2

* Adds debugger support for new Linux versions: Ubuntu 16.04, Fedora 23, openSUSE 13.2, and Oracle Linux 7.1
* Enhanced debug console output: module loads are now output, and there are launch.json options for controlling what is output
* Source file checksum support for breakpoints. This ensures that the debugger only sets breakpoints in code that exactly matches the open document.
* Support for editing the value of variables in the watch and locals window (requires VS Code 1.3)

### Development

Expand Down
2 changes: 2 additions & 0 deletions coreclr-debug/NuGet.config
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,7 @@
<!--To inherit the global NuGet package sources remove the <clear/> line below -->
<clear />
<add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" />
<!-- This dependency is not present in the release branch -->
<add key="coreclrdebug" value="https://www.myget.org/F/coreclr-debug/api/v3/index.json" />
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did this line actually flow back? If so, it shouldn't have.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It certainly did.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How do we fix that? I don't want to cherry-pick the world.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, we will need to back that out then before we make a .vsix.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you can commit this PR as-is and I will fix it once you are done. Alternatively I can fix it in master. Either way is fine with me.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merged. Feel free to fix.

</packageSources>
</configuration>
16 changes: 11 additions & 5 deletions debugger.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ This page gives you detailed instructions on how to debug code running under .NE
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.

####Requirements
* Requires .NET Core RC2 (will not work with earlier versions)
* Requires .NET Core 1.0 RC2 or newer (will not work with earlier versions)
* X64 only
* Supports OSX, Ubuntu 14.04, Red Hat Enterprise Linux 7.2, Debian 8.2, Centos 7.1, and Windows 7+

Expand All @@ -26,7 +26,7 @@ Install the .NET Core command line tools (CLI) by following the installation par
##### 3: Install C# Extension for VS Code
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.

If you have previously installed the C# extension, make sure that you have version 1.0.0-rc2 or newer. You can check this by opening the command palette (F1) and running 'Extensions: Show Installed Extensions'.
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'.

##### 4: Wait for download of platform-specific files
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.
Expand All @@ -49,20 +49,22 @@ You can also find some example projects on https://github.com/aspnet/cli-samples
##### 2: Open the directory in VS Code
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.

**Troubleshooting 'Error while installing .NET Core Debugger':** If the debugger is failing to download its platform-specific dependencies, first verify that you have the RC2 build of the .NET CLI installed, and it is functioning. You can check this by starting a bash/command prompt and running 'dotnet --info'.
**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'.

If the CLI is installed, here are a few additional suggestions:

* If clicking on 'View Log' doesn't show a log this means that running the 'dotnet --info' command failed. If it succeeds in bash/command prompt, but fails from VS Code, this likely means that your computer once had an older build of .NET CLI installed, and there are still remnants of it which cause VS Code and other processes besides bash to use the older version instead of the current version. You can try to clean your computer using the uninstall suggestions from http://dotnet.github.io/getting-started/.
* If clicking on 'View Log' doesn't show a log this means that running the 'dotnet --info' command failed. If it succeeds in bash/command prompt, but fails from VS Code, this likely means that your computer once had an older build of .NET CLI installed, and there are still remnants of it which cause VS Code and other processes besides bash to use the older version instead of the current version. You can resolve this issue by uninstalling the .NET Core CLI, and reinstalling the version you want (see below for macOS).
* If 'dotnet restore' is failing, make sure you have an internet connection to nuget.org, and make sure that if additional NuGet.Config files are being used, they have valid content. The log will indicate what NuGet.Config files were used. Try removing the files other than the one coming from the extension itself.

MacOS .NET CLI Reinstall Instructions: macOS doesn't have uninstall for pkg files (see [known issue](https://github.com/dotnet/core/blob/master/cli/known-issues.md#uninstallingreinstalling-the-pkg-on-os-x)), one option is to remove the dotnet cli directory with `sudo rm -rf /usr/local/share/dotnet` and then install the pkg again.

##### 3: Add VS Code configuration files to the workspace
VS Code needs to be configured so it understands how to build your project and debug it. For this there are two files which need to be added -- .vscode/tasks.json and .vscode/launch.json.

* Tasks.json is used to configure what command line command is executed to build your project, and launch.json configures the type of debugger you want to use, and what program should be run under that debugger.
* Launch.json configures VS Code to run the build task from tasks.json so that your program is automatically up-to-date each time you go to debug it.

If you open the folder containing your project.json, the C# extension can automatically generate these files for you. When you open a project and the C# extension is installed, you should see the following prompt in VS Code:
If you open the folder containing your project.json, the C# extension can automatically generate these files for you if you have a basic project. When you open a project and the C# extension is installed, you should see the following prompt in VS Code:

![Info: Required assets to build and debug are missing from your project. Add them? Yes | Close](https://raw.githubusercontent.com/wiki/OmniSharp/omnisharp-vscode/images/info-bar-add-required-assets.png)

Expand Down Expand Up @@ -134,3 +136,7 @@ Environment variables may be passed to your program using this schema:
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:

"externalConsole": true

#### Docker Support

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.
5 changes: 4 additions & 1 deletion gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,11 @@ gulp.task('package:offline', ['clean'], () => {
packages.push({rid: 'osx.10.11-x64', omni: `omnisharp-${OmniSharpVersion}-osx-x64-netcoreapp1.0.tar.gz`});
packages.push({rid: 'centos.7-x64', omni: `omnisharp-${OmniSharpVersion}-centos-x64-netcoreapp1.0.tar.gz`});
packages.push({rid: 'debian.8-x64', omni: `omnisharp-${OmniSharpVersion}-debian-x64-netcoreapp1.0.tar.gz`});
packages.push({rid: 'fedora.23-x64', omni: `omnisharp-${OmniSharpVersion}-fedora-x64-netcoreapp1.0.tar.gz`});
packages.push({rid: 'opensuse.13.2-x64', omni: `omnisharp-${OmniSharpVersion}-opensuse-x64-netcoreapp1.0.tar.gz`});
packages.push({rid: 'rhel.7.2-x64', omni: `omnisharp-${OmniSharpVersion}-rhel-x64-netcoreapp1.0.tar.gz`});
packages.push({rid: 'ubuntu.14.04-x64', omni: `omnisharp-${OmniSharpVersion}-ubuntu-x64-netcoreapp1.0.tar.gz`});
packages.push({rid: 'ubuntu.14.04-x64', omni: `omnisharp-${OmniSharpVersion}-ubuntu14-x64-netcoreapp1.0.tar.gz`});
packages.push({rid: 'ubuntu.16.04-x64', omni: `omnisharp-${OmniSharpVersion}-ubuntu16-x64-netcoreapp1.0.tar.gz`});

var promise = Promise.resolve();

Expand Down
93 changes: 89 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "csharp",
"publisher": "ms-vscode",
"version": "1.1.7",
"version": "1.2.0",
"description": "C# for Visual Studio Code (powered by OmniSharp).",
"displayName": "C#",
"author": "Microsoft Corporation",
Expand All @@ -19,7 +19,7 @@
],
"main": "./out/omnisharpMain",
"scripts": {
"postinstall": "tsc"
"postinstall": "node ./node_modules/vscode/bin/install && tsc"
},
"dependencies": {
"decompress": "^4.0.0",
Expand All @@ -39,7 +39,7 @@
"tslint": "^3.3.0",
"tslint-microsoft-contrib": "^2.0.0",
"typescript": "^1.7.3",
"vscode": "^0.10.1",
"vscode": "^0.11.3",
"vsce": "^1.3.0"
},
"engines": {
Expand All @@ -52,6 +52,7 @@
"onCommand:o.showOutput",
"onCommand:dotnet.restore",
"onCommand:csharp.downloadDebugger",
"onCommand:csharp.listProcess",
"workspaceContains:project.json"
],
"contributes": {
Expand Down Expand Up @@ -102,6 +103,11 @@
"command": "csharp.downloadDebugger",
"title": "Download .NET Core Debugger",
"category": "Debug"
},
{
"command": "csharp.listProcess",
"title": "List process for attach",
"category": "CSharp"
}
],
"keybindings": [
Expand Down Expand Up @@ -143,6 +149,9 @@
},
"runtime": "node",
"runtimeArgs": [],
"variables": {
"pickProcess": "csharp.listProcess"
},
"program": "./out/coreclr-debug/proxy.js",
"aiKey": "AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217",
"configurationAttributes": {
Expand Down Expand Up @@ -299,6 +308,44 @@
"description": "Optional flag to require current source code to match the pdb.",
"default": true
},
"logging": {
"type": "object",
"required": [],
"default": {},
"description": "Optional flags to determine what types of messages should be logged to the output window.",
"properties": {
"exceptions": {
"type": "boolean",
"description": "Optional flag to determine whether exception messages should be logged to the output window.",
"default": true
},
"moduleLoad": {
"type": "boolean",
"description": "Optional flag to determine whether module load events should be logged to the output window.",
"default": true
},
"programOutput": {
"type": "boolean",
"description": "Optional flag to determine whether program output should be logged to the output window when not using an external console.",
"default": true
},
"engineLogging": {
"type": "boolean",
"description": "Optional flag to determine whether diagnostic engine logs should be logged to the output window.",
"default": false
},
"trace": {
"type": "boolean",
"description": "Optional flag to determine whether diagnostic adapter command tracing should be logged to the output window.",
"default": false
},
"traceResponse": {
"type": "boolean",
"description": "Optional flag to determine whether diagnostic adapter command and response tracing should be logged to the output window.",
"default": false
}
}
},
"pipeTransport": {
"type": "object",
"description": "When present, this tells the debugger to connect to a remote computer using another executable as a pipe that will relay standard input/output between VS Code and the .NET Core debugger backend executable (clrdbg).",
Expand Down Expand Up @@ -472,12 +519,50 @@
"items": {
"type": "string"
},
"default": []
},
"requireExactSource": {
"type": "boolean",
"description": "Optional flag to require current source code to match the pdb.",
"default": true
},
"default": []
"logging": {
"type": "object",
"required": [],
"default": {},
"description": "Optional flags to determine what types of messages should be logged to the output window.",
"properties": {
"exceptions": {
"type": "boolean",
"description": "Optional flag to determine whether exception messages should be logged to the output window.",
"default": true
},
"moduleLoad": {
"type": "boolean",
"description": "Optional flag to determine whether module load events should be logged to the output window.",
"default": true
},
"programOutput": {
"type": "boolean",
"description": "Optional flag to determine whether program output should be logged to the output window when not using an external console.",
"default": true
},
"engineLogging": {
"type": "boolean",
"description": "Optional flag to determine whether diagnostic engine logs should be logged to the output window.",
"default": false
},
"trace": {
"type": "boolean",
"description": "Optional flag to determine whether diagnostic adapter command tracing should be logged to the output window.",
"default": false
},
"traceResponse": {
"type": "boolean",
"description": "Optional flag to determine whether diagnostic adapter command and response tracing should be logged to the output window.",
"default": false
}
}
}
}
}
Expand Down
44 changes: 22 additions & 22 deletions src/coreclr-debug/install.ts
Original file line number Diff line number Diff line change
Expand Up @@ -162,33 +162,33 @@ export class DebugInstaller
emitEntryPoint: true
},
dependencies: {
"Microsoft.VisualStudio.clrdbg": "14.0.25406-preview-3044032",
"Microsoft.VisualStudio.clrdbg.MIEngine": "14.0.30610-preview-1",
"Microsoft.VisualStudio.OpenDebugAD7": "1.0.20614-preview-2",
"NETStandard.Library": "1.5.0-rc2-24027",
"Microsoft.VisualStudio.clrdbg": "14.0.25429-preview-3095034",
"Microsoft.VisualStudio.clrdbg.MIEngine": "14.0.30629-preview-1",
"Microsoft.VisualStudio.OpenDebugAD7": "1.0.20628-preview-1",
"NETStandard.Library": "1.6.0",
"Newtonsoft.Json": "7.0.1",
"Microsoft.VisualStudio.Debugger.Interop.Portable": "1.0.1",
"System.Collections.Specialized": "4.0.1-rc2-24027",
"System.Collections.Immutable": "1.2.0-rc2-24027",
"System.Diagnostics.Process" : "4.1.0-rc2-24027",
"System.Diagnostics.StackTrace": "4.0.1-rc2-24027",
"System.Dynamic.Runtime": "4.0.11-rc2-24027",
"Microsoft.CSharp": "4.0.1-rc2-24027",
"System.Threading.Tasks.Dataflow": "4.6.0-rc2-24027",
"System.Threading.Thread": "4.0.0-rc2-24027",
"System.Xml.XDocument": "4.0.11-rc2-24027",
"System.Xml.XmlDocument": "4.0.1-rc2-24027",
"System.Xml.XmlSerializer": "4.0.11-rc2-24027",
"System.ComponentModel": "4.0.1-rc2-24027",
"System.ComponentModel.Annotations": "4.1.0-rc2-24027",
"System.ComponentModel.EventBasedAsync": "4.0.11-rc2-24027",
"System.Runtime.Serialization.Primitives": "4.1.1-rc2-24027",
"System.Net.Http": "4.0.1-rc2-24027"
"System.Collections.Specialized": "4.0.1",
"System.Collections.Immutable": "1.2.0",
"System.Diagnostics.Process" : "4.1.0",
"System.Diagnostics.StackTrace": "4.0.1",
"System.Dynamic.Runtime": "4.0.11",
"Microsoft.CSharp": "4.0.1",
"System.Threading.Tasks.Dataflow": "4.6.0",
"System.Threading.Thread": "4.0.0",
"System.Xml.XDocument": "4.0.11",
"System.Xml.XmlDocument": "4.0.1",
"System.Xml.XmlSerializer": "4.0.11",
"System.ComponentModel": "4.0.1",
"System.ComponentModel.Annotations": "4.1.0",
"System.ComponentModel.EventBasedAsync": "4.0.11",
"System.Runtime.Serialization.Primitives": "4.1.1",
"System.Net.Http": "4.1.0"
},
frameworks: {
"netcoreapp1.0": {
imports: [ "dnxcore50", "portable-net45+win8" ]
}
}
},
runtimes: {
}
Expand All @@ -197,7 +197,7 @@ export class DebugInstaller
projectJson.runtimes[targetRuntime] = {};

if (this._isOffline) {
projectJson.dependencies["Microsoft.NetCore.DotNetHostPolicy"] = "1.0.1-rc-002702";
projectJson.dependencies["Microsoft.NetCore.DotNetHostPolicy"] = "1.0.1";
}

return projectJson;
Expand Down
Loading