Skip to content

Commit 85d0bf7

Browse files
Merge branch 'master' into release
2 parents 2d44640 + e0c3c52 commit 85d0bf7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+4723
-2836
lines changed

.editorconfig

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# EditorConfig is awesome: http://EditorConfig.org
2+
3+
# top-most EditorConfig file
4+
root = true
5+
6+
# 4 space indentation
7+
[*]
8+
indent_style = space
9+
indent_size = 4
10+
trim_trailing_whitespace = true
11+
12+
# 2 space indentation for .travis.yml and package.json
13+
[{.travis.yml},package.json]
14+
indent_style = space
15+
indent_size = 2

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
bin
22
node_modules
33
out
4-
.omnisharp
4+
.omnisharp-*/
5+
.debugger
6+
7+
install.*
58

69
*.vsix

.travis.yml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
1-
sudo: false
21
language: node_js
32

43
node_js:
54
- "5.1"
65

7-
os:
8-
-osx
9-
-linux
6+
env:
7+
- CXX=g++-4.8
8+
9+
addons:
10+
apt:
11+
sources:
12+
- ubuntu-toolchain-r-test
13+
packages:
14+
- g++-4.8
1015

1116
install:
1217
- npm install
18+
- npm run compile
1319
- npm install -g vsce
1420
- vsce package
1521

.vscode/launch.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,17 @@
1111
],
1212
"stopOnEntry": false,
1313
"sourceMaps": true,
14-
"outDir": "${workspaceRoot}/out"
14+
"outDir": "${workspaceRoot}/out/src"
15+
},
16+
{
17+
"name": "Launch Tests",
18+
"type": "extensionHost",
19+
"request": "launch",
20+
"runtimeExecutable": "${execPath}",
21+
"args": ["--extensionDevelopmentPath=${workspaceRoot}", "--extensionTestsPath=${workspaceRoot}/out/test" ],
22+
"stopOnEntry": false,
23+
"sourceMaps": true,
24+
"outDir": "${workspaceRoot}/out/test"
1525
}
1626
]
1727
}

.vscode/settings.json

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
11
{
2-
"tslint.rulesDirectory": "node_modules/tslint-microsoft-contrib"
2+
"editor.tabSize": 4,
3+
"editor.insertSpaces": true,
4+
5+
"files.exclude": {
6+
"out": true,
7+
"typings": false
8+
},
9+
10+
"search.exclude": {
11+
"**/node_modules": true,
12+
"out/": true
13+
},
14+
15+
"tslint.rulesDirectory": "node_modules/tslint-microsoft-contrib",
16+
"typescript.tsdk": "./node_modules/typescript/lib"
317
}

.vscode/tasks.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
"command": "gulp",
44
"isShellCommand": true,
55
"tasks": [
6+
{
7+
"taskName": "test",
8+
"showOutput": "always",
9+
"isTestCommand": true
10+
},
611
{
712
"taskName": "tslint",
813
"args": [],

.vscodeignore

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
**/*.gitignore
2-
tsconfig.json
3-
1+
.vscode/**
2+
typings/**
3+
out/test/**
4+
test/**
45
src/**
56
**/*.map
67

7-
.vscode/**
8+
.gitignore
9+
.travis.yml
10+
tsconfig.json
811

912
**/.nyc_output/**
1013
**/coverage/**

README.md

Lines changed: 47 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -9,60 +9,72 @@ Welcome to the C# extension for Visual Studio Code! This preview provides the fo
99
* Lightweight development tools for [.NET Core](https://dotnet.github.io).
1010
* Great C# editing support, including Syntax Highlighting, IntelliSense, Go to Definition, Find All References, etc.
1111
* Debugging support for .NET Core (CoreCLR). NOTE: Mono and Desktop CLR debugging is not supported.
12-
* Support for project.json projects on Windows, macOS and Linux, and csproj projects on Windows.
12+
* Support for project.json and csproj projects on Windows, macOS and Linux.
1313

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

16-
### What's New in 1.4
1716

18-
#### Metadata as Source
17+
### Get Started Writing C# in VS Code
18+
* [Documentation](https://code.visualstudio.com/docs/languages/csharp)
19+
* [Video Tutorial compiling with .NET Core](https://channel9.msdn.com/Blogs/dotnet/Get-started-with-VS-Code-using-CSharp-and-NET-Core)
1920

20-
* Go to Definition (<kbd>F12</kbd>) can now show a C#-like view for APIs that do not appear in your project's source code. ([#165](https://github.com/OmniSharp/omnisharp-vscode/issues/165))
21+
### What's New in 1.5
22+
23+
#### Initial support for C# 7
24+
25+
* New C# 7 features like pattern-matching and tuples are now supported in VS Code editor. Note: To use tuples, you will need a reference to [this NuGet package](https://www.nuget.org/packages/System.ValueTuple).
26+
27+
#### Initial support for CSProj .NET Core Projects
28+
29+
* With the .NET Core SDK moving to embrace MSBuild and .csproj files over project.json, we've made sure the C# extension can handle the new format. This support is preliminary and there are still several features coming to smooth out the experience.
30+
31+
#### Broader OS Support for C# Code Editing
32+
33+
* This release dramatically changes the runtime that OmniSharp runs on, which allows it to be run an many more operating systems than before:
34+
35+
* Windows: OmniSharp runs on the installed .NET Framework. In addition, OmniSharp now runs on 32-bit Windows!
36+
* macOS/Linux: OmniSharp runs on a custom embedded Mono runtime. Note: Mono does not need to be installed on the system for this to work.
2137

2238
#### Debugger
2339

24-
* Applications can now be launched without attaching the debugger with <kbd>Ctrl+F5</kbd>.
25-
* Support for new "embedded portable PDB" debug format.
26-
* The launch.json file generator now automatically sets the option to show a console window by default (`"internalConsoleOptions": "openOnSessionStart"`).
40+
* Remote debugging is now supported for attach by using the `pipeTransport` launch.json option.
41+
* Resolved issue with setting breakpoints when there are multple files with the same name (e.g. two 'Program.cs' files).
42+
43+
#### New Dependency Acquisition System
44+
45+
* This improves the acquisition and reliability of platform-specific OmniSharp and debugger dependencies.
2746

2847
#### New Settings
2948

3049
Several new settings have been added:
3150

32-
* `csharp.suppressDotnetInstallWarning`: Suppress the warning that the .NET CLI is not on the path.
33-
* `omnisharp.autoStart`: Used to control whether the OmniSharp server will be automatically launched when a folder containing a project or solution is opened. The default value for this setting is `true`.
34-
* `omnisharp.path`: Can be used to specify a file path to a different OmniSharp server than the one that will be used by default. Previously, this option was controlled by `csharp.omnisharp`, which is now deprecated.
35-
* `omnisharp.useMono`: When `omnisharp.path` is specified, this controls whether OmniSharp will be launched with Mono or not. Previously, this option was controlled by `csharp.omnisharpUsesMono`, wich is now deprecated.
36-
* `omnisharp.loggingLevel`: Used to control the level of logging output from the OmniSharp server. Legal values are `"default"` or `"verbose"`.
51+
* `csharp.suppressDotnetRestoreNotification`: Suppress the notification window to perform a 'dotnet restore' when dependencies can't be resolved.
52+
* `omnisharp.projectLoadTimeout`: The time Visual Studio Code will wait for the OmniSharp server to start. Time is expressed in seconds. _(Contributed by [@wjk](https://github.com/wjk))_
3753

3854
#### Colorizer
3955

40-
There have been several fixes to the colorizer grammar resulting in much smoother syntax highlighting, with better support for C# 6.0. Special thanks go to [@ivanz](https://github.com/ivanz) and [@seraku24](https://github.com/seraku24) for contributing most of the fixes below!
41-
42-
* Expression-bodied members ([#638](https://github.com/OmniSharp/omnisharp-vscode/issues/638), [#403](https://github.com/OmniSharp/omnisharp-vscode/issues/403), [#679](https://github.com/OmniSharp/omnisharp-vscode/issues/679), [#249](https://github.com/OmniSharp/omnisharp-vscode/issues/249))
43-
* Escaped keyword identifiers ([#614](https://github.com/OmniSharp/omnisharp-vscode/issues/614))
44-
* Using directives and nested namespaces ([#282](https://github.com/OmniSharp/omnisharp-vscode/issues/282), [#381](https://github.com/OmniSharp/omnisharp-vscode/issues/381))
45-
* Field and local variable type names ([#717](https://github.com/OmniSharp/omnisharp-vscode/issues/717), [#719](https://github.com/OmniSharp/omnisharp-vscode/issues/719))
46-
* Multi-dimensional arrays in parameters ([#657](https://github.com/OmniSharp/omnisharp-vscode/issues/657))
56+
* A new unit testing framework for testing the colorizer grammer ([#742](https://github.com/OmniSharp/omnisharp-vscode/pull/742)) _(Contributed by [@ivanz](https://github.com/ivanz))_
57+
* Single-line comments after preprocessor directives ([#762](https://github.com/OmniSharp/omnisharp-vscode/pull/762)) _(Contributed by [@damieng](https://github.com/damieng))_
4758

4859
#### Performance
4960

50-
* Improvements have been made in processing diagnostics (i.e. errors and warnings).
51-
* Full solution diagnostics are no longer computed for large solutions (e.g. solutions with >1000 files across all projects). However, diagnostics are still computed for open files.
61+
* Major improvements have been made to editor performance. The communication with the OmniSharp server has been rewritten to allow long-running operations (such as gathering all errors and warnings) to queue while high priority operations (such as text buffer changes) run serially. ([#902](https://github.com/OmniSharp/omnisharp-vscode/pull/902)) _(Thanks to [@david-driscoll](https://github.com/david-driscoll) for his help with this change!)_
5262

5363
#### Other Improvements
5464

55-
* Multibyte characters are now properly encoded, resulting in proper display in tooltips and fixing crashes in the OmniSharp server. ([#4](https://github.com/OmniSharp/omnisharp-vscode/4), [#140](https://github.com/OmniSharp/omnisharp-vscode/140), [#427](https://github.com/OmniSharp/omnisharp-vscode/427))
56-
* Will no longer attempt to install a CoreCLR flavor of OmniSharp on Ubuntu versions other than 14 and 16. ([#655](https://github.com/OmniSharp/omnisharp-vscode/issues/655))
57-
* Opening a solution or csproj no longer results in '0 projects' displayed in the status bar. ([#723](https://github.com/OmniSharp/omnisharp-vscode/issues/723))
65+
* The prompt to generate assets for building and debugging can now be dismissed for a workspace permanently. In addition, a new `dotnet.generateAssets` command has been added to force regeneration of the assets. ([#635](https://github.com/OmniSharp/omnisharp-vscode/issues/635))
66+
* Fix "running forever" issue for folder with multple .NET Core projects. ([#735](https://github.com/OmniSharp/omnisharp-vscode/issues/735)) _(Contributed by [@eamodio](https://github.com/eamodio))_
67+
* `ctor` snippet is now more consistent with other code snippets. ([#849](https://github.com/OmniSharp/omnisharp-vscode/pull/849)) _(Contibuted by [@Eibx](https://github.com/Eibx))_
68+
* Ampersands in file paths are now properly escaped on Windows ([#909](https://github.com/OmniSharp/omnisharp-vscode/pull/909)) _(Contributed by [@filipw](https://github.com/filipw))_
5869

59-
### Supported Operating Systems
70+
### Supported Operating Systems for Debugging
71+
72+
* Currently, the C# debugger supports the following operatings systems:
6073

61-
* Currently, the C# extension supports the following operatings systems:
6274
* Windows (64-bit only)
6375
* macOS
64-
* Ubuntu 14.04 / Linux Mint 17
65-
* Ubuntu 16.04
76+
* Ubuntu 14.04 / Linux Mint 17 / Linux Mint 18 / Elementary OS 0.3
77+
* Ubuntu 16.04 / Elementary OS 0.4
6678
* Debian 8.2
6779
* CentOS 7.1 / Oracle Linux 7
6880
* Red Hat Enterprise Linux (RHEL)
@@ -81,13 +93,18 @@ First install:
8193
* Node.js (newer than 4.3.1)
8294
* Npm (newer 2.14.12)
8395

96+
In case you get a *node-gyp* error [follow the instrutions here](https://github.com/nodejs/node-gyp/blob/master/README.md) to fix it. The *vscode-textmate* package pulls in a native node dependency and those instructions will set up the node build tool which deals with those.
97+
8498
To **run and develop** do the following:
8599

86100
* Run `npm i`
101+
* Run `npm run compile`
87102
* Open in Visual Studio Code (`code .`)
88103
* *Optional:* run `tsc -w`, make code changes (on Windows, try `start node ".\node_modules\typescript\bin\tsc -w"`)
89104
* Press <kbd>F5</kbd> to debug
90105

106+
To **test** do the following: `npm run test`
107+
91108
### License
92-
The Microsoft C# extension is subject to [these license terms](RuntimeLicenses/license.txt).
93-
The source code to this extension is available on [https://github.com/OmniSharp/omnisharp-vscode](https://github.com/OmniSharp/omnisharp-vscode) and licensed under the [MIT license](LICENSE.txt).
109+
The Microsoft C# extension is subject to [these license terms](RuntimeLicenses/license.txt).
110+
The source code to this extension is available on [https://github.com/OmniSharp/omnisharp-vscode](https://github.com/OmniSharp/omnisharp-vscode) and licensed under the [MIT license](LICENSE.txt).

coreclr-debug/.gitignore

Lines changed: 0 additions & 7 deletions
This file was deleted.

coreclr-debug/NuGet.config

Lines changed: 0 additions & 8 deletions
This file was deleted.

0 commit comments

Comments
 (0)