Skip to content

Commit a8fd897

Browse files
Merge pull request #1070 from OmniSharp/master
Merge master into release
2 parents 674e1b3 + 6c711f4 commit a8fd897

Some content is hidden

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

52 files changed

+2820
-2516
lines changed

.editorconfig

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,7 @@ trim_trailing_whitespace = true
1313
[{.travis.yml},package.json]
1414
indent_style = space
1515
indent_size = 2
16+
17+
[syntaxes/csharp.json]
18+
indent_style = space
19+
indent_size = 2

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ node_modules
33
out
44
.omnisharp-*/
55
.debugger
6+
.vscode-test
67

78
install.*
89

.travis.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,32 @@
11
language: node_js
22

33
node_js:
4-
- "5.1"
4+
- "6"
55

6-
env:
7-
- CXX=g++-4.8
6+
before_install:
7+
- if [ $TRAVIS_OS_NAME == "linux" ]; then
8+
export CXX="g++-4.9" CC="gcc-4.9" DISPLAY=:99.0;
9+
sh -e /etc/init.d/xvfb start;
10+
sleep 3;
11+
fi
812

913
addons:
1014
apt:
1115
sources:
1216
- ubuntu-toolchain-r-test
1317
packages:
14-
- g++-4.8
18+
- g++-4.9
1519

1620
install:
1721
- npm install
1822
- npm run compile
1923
- npm install -g vsce
2024
- vsce package
2125

26+
script:
27+
- npm test --silent
28+
- npm run test-syntax
29+
2230
deploy:
2331
provider: releases
2432
api_key:

CHANGELOG.md

Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,175 @@
1+
## 1.6.0 _(Not Yet Released)_
2+
3+
#### C# Scripting
4+
5+
* Roslyn scripting support in CSX files! ([#23](https://github.com/OmniSharp/omnisharp-vscode/issues/23), [omnisharp-roslyn#659](https://github.com/OmniSharp/omnisharp-roslyn/pull/659)) _(Contributed by [@filipw](https://github.com/filipw))_
6+
7+
#### Project Support
8+
9+
* Support for latest .NET Core .csproj projects updates. ([omnisharp-roslyn#705](https://github.com/OmniSharp/omnisharp-roslyn/pull/705))
10+
* Update 'tasks.json' and 'launch.json' generation to support .NET Core .csproj projects. ([#767](https://github.com/OmniSharp/omnisharp-vscode/issues/767))
11+
* Properly support `<NoWarn>` in MSBuild projects and specifically ignore the `CS1701` warning in .NET Core MSBuild projects. ([#967](https://github.com/OmniSharp/omnisharp-vscode/issues/967))
12+
* Fix global.json-based project search to also the top-level folders specified by the `"projects"` property and not just their children. ([#904](https://github.com/OmniSharp/omnisharp-vscode/issues/904) and [#962](https://github.com/OmniSharp/omnisharp-vscode/issues/962))
13+
14+
#### Debugging
15+
16+
* Update the debugger so that the debugger itself runs on .NET Core 1.1. This change:
17+
* Enables debugger support for additional Linux distributions - Ubuntu 16.10, openSUSE 42, Fedora 24
18+
* Brings support for running all supported distros on top of Linux Kernel >= 4.6
19+
* Enable debugger support for Arch Linux ([#564](https://github.com/OmniSharp/omnisharp-vscode/issues/564))
20+
* Improve debugger install errors for macOS without openSSL symlinks ([#986](https://github.com/OmniSharp/omnisharp-vscode/pull/986)), and x86 Windows ([#998](https://github.com/OmniSharp/omnisharp-vscode/pull/998)).
21+
* Improve debugger performance using precompiled debugger binaries ([#896](https://github.com/OmniSharp/omnisharp-vscode/issues/896))([#971](https://github.com/OmniSharp/omnisharp-vscode/issues/971)).
22+
23+
#### Syntax Highlighting
24+
25+
* Tons of great syntax highlighting fixes and support! _(All contributed by [@ivanz](https://github.com/ivanz))_
26+
* Fix for field declarations. ([#757](https://github.com/OmniSharp/omnisharp-vscode/issues/757))
27+
* Fix for generic types with multiple type parameters. ([#960](https://github.com/OmniSharp/omnisharp-vscode/issues/960))
28+
* Proper support for interpolated strings (verbatim and non-verbatim). ([#852](https://github.com/OmniSharp/omnisharp-vscode/issues/852))
29+
* Fix for multi-line properties. ([#854](https://github.com/OmniSharp/omnisharp-vscode/issues/854))
30+
* Fixes for events, nested type references (e.g. `Root.IInterface<Something.Nested>`), variable declarations, nested classes, and fields spanning multiple lines
31+
32+
#### Hover Tooltips
33+
34+
* Improve display of hover tool tips for built-in C# types, such as `int` and `string`. ([#250](https://github.com/OmniSharp/omnisharp-vscode/issues/250)) _(Contributed by [@filipw](https://github.com/filipw))_
35+
* Improve display of hover tool tips for nested classes. ([#394](https://github.com/OmniSharp/omnisharp-vscode/issues/394)) _(Contributed by [@filipw](https://github.com/filipw))_
36+
* Fix spacing in hover tool tips around `<paramref/>` in XML doc comments. ([#672](https://github.com/OmniSharp/omnisharp-vscode/issues/672)) _(Contributed by [@filipw](https://github.com/filipw))_
37+
38+
#### Other Updates and Fixes
39+
40+
* Support for running/debugging NUnit tests ([#996](https://github.com/OmniSharp/omnisharp-vscode/pull/996)) _(Contributed by [@HexWrench](https://github.com/HexWrench))_
41+
* Fix exception thrown when sending `/autocomplete` request to OmniSharp server in location where no completion items are available. ([#980](https://github.com/OmniSharp/omnisharp-vscode/issues/980))
42+
* Add `omnisharp.maxProjectResults` setting to control the maximum number of projects to display in the 'Select Project' dropdown. The default is 250. ([#875](https://github.com/OmniSharp/omnisharp-vscode/issues/875)) _(Contributed by [@filipw](https://github.com/filipw))_
43+
* Fix signature help display for constructors. ([#36](https://github.com/OmniSharp/omnisharp-vscode/issues/36)) _(Contributed by [@filipw](https://github.com/filipw))_
44+
* Ensure that the `editor.insertSpaces` and `editor.tabSize` settings are passed to OmniSharp for formatting. Note that this behavior can be controlled with the `omnisharp.useEditorFormattingSettings` option, which defaults to true. ([#1055](https://github.com/OmniSharp/omnisharp-vscode/pull/1055)) _(Contributed by [@filipw](https://github.com/filipw))_
45+
46+
## 1.5.3 (November 21, 2016)
47+
48+
* Use value of `http.proxyStrictSSL` even when `http.proxy` is not set. ([#957](https://github.com/OmniSharp/omnisharp-vscode/issues/957))
49+
50+
## 1.5.2 (November 15, 2016)
51+
52+
* Ensure diagnostics are cleared in files when they are no longer needed. ([#858](https://github.com/OmniSharp/omnisharp-vscode/issues/858))
53+
* Enqueue requests for diagnostics in visible editors when the extension starts up. ([#843](https://github.com/OmniSharp/omnisharp-vscode/issues/843))
54+
* Provide fallback URLs for debugger downloads. ([#930](https://github.com/OmniSharp/omnisharp-vscode/issues/930))
55+
* Properly require .NET Framework 4.6 in the OmniSharp.exe.config file to ensure that the user is displayed a dialog on Windows machines that don't have .NET Framework 4.6 installed. ([#937](https://github.com/OmniSharp/omnisharp-vscode/issues/937))
56+
* Fix issue with installing on non-English installations of Windows. ([#938](https://github.com/OmniSharp/omnisharp-vscode/issues/938))
57+
* Display platform information when acquiring runtime dependencies. ([#948](https://github.com/OmniSharp/omnisharp-vscode/issues/948))
58+
59+
## 1.5.1 (November 14, 2016)
60+
61+
* Fix to properly support `http.proxy` and `http.proxyStrictSSL` settings. ([#930](https://github.com/OmniSharp/omnisharp-vscode/issues/930))
62+
63+
## 1.5.0 (November 14, 2016)
64+
65+
#### Initial support for C# 7
66+
67+
* 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).
68+
69+
#### Initial support for CSProj .NET Core Projects
70+
71+
* 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.
72+
73+
#### Broader OS Support for C# Code Editing
74+
75+
* This release dramatically changes the runtime that OmniSharp runs on, which allows it to be run an many more operating systems than before:
76+
77+
* Windows: OmniSharp runs on the installed .NET Framework. In addition, OmniSharp now runs on 32-bit Windows!
78+
* 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.
79+
80+
#### Debugger
81+
82+
* Remote debugging is now supported for attach by using the `pipeTransport` launch.json option.
83+
* Resolved issue with setting breakpoints when there are multple files with the same name (e.g. two 'Program.cs' files).
84+
85+
#### New Dependency Acquisition System
86+
87+
* This improves the acquisition and reliability of platform-specific OmniSharp and debugger dependencies.
88+
89+
#### New Settings
90+
91+
Several new settings have been added:
92+
93+
* `csharp.suppressDotnetRestoreNotification`: Suppress the notification window to perform a 'dotnet restore' when dependencies can't be resolved.
94+
* `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))_
95+
96+
#### Colorizer
97+
98+
* 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))_
99+
* Single-line comments after preprocessor directives ([#762](https://github.com/OmniSharp/omnisharp-vscode/pull/762)) _(Contributed by [@damieng](https://github.com/damieng))_
100+
101+
#### Performance
102+
103+
* 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!)_
104+
105+
#### Other Improvements
106+
107+
* 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))
108+
* 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))_
109+
* `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))_
110+
* 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))_
111+
112+
## 1.4.1 (September 1, 2016)
113+
114+
* This addresses an issue found and fixed by @sixpindin in which the legacy csharp.omnisharp and csharp.omnisharpUsesMono settings are no longer respected. These settings have been supplanted by the omnisharp.path and omnisharp.useMono settings but are still expected to work if specified.
115+
116+
## 1.4.0 (August 29, 2016)
117+
118+
#### Metadata as Source
119+
120+
* 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))
121+
122+
#### Debugger
123+
124+
* Applications can now be launched without attaching the debugger with <kbd>Ctrl+F5</kbd>.
125+
* Support for new "embedded portable PDB" debug format.
126+
* The launch.json file generator now automatically sets the option to show a console window by default (`"internalConsoleOptions": "openOnSessionStart"`).
127+
128+
#### New Settings
129+
130+
Several new settings have been added:
131+
132+
* `csharp.suppressDotnetInstallWarning`: Suppress the warning that the .NET CLI is not on the path.
133+
* `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`.
134+
* `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.
135+
* `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.
136+
* `omnisharp.loggingLevel`: Used to control the level of logging output from the OmniSharp server. Legal values are `"default"` or `"verbose"`.
137+
138+
#### Colorizer
139+
140+
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!
141+
142+
* 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))
143+
* Escaped keyword identifiers ([#614](https://github.com/OmniSharp/omnisharp-vscode/issues/614))
144+
* Using directives and nested namespaces ([#282](https://github.com/OmniSharp/omnisharp-vscode/issues/282), [#381](https://github.com/OmniSharp/omnisharp-vscode/issues/381))
145+
* Field and local variable type names ([#717](https://github.com/OmniSharp/omnisharp-vscode/issues/717), [#719](https://github.com/OmniSharp/omnisharp-vscode/issues/719))
146+
* Multi-dimensional arrays in parameters ([#657](https://github.com/OmniSharp/omnisharp-vscode/issues/657))
147+
148+
#### Performance
149+
150+
* Improvements have been made in processing diagnostics (i.e. errors and warnings).
151+
* 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.
152+
153+
#### Other Improvements
154+
155+
* 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))
156+
* 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))
157+
* 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))
158+
159+
## 1.3.0 (July 20, 2016)
160+
161+
* 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.
162+
* Generation of tasks.json and launch.json files can now properly handle nested projects. [#170](https://github.com/OmniSharp/omnisharp-vscode/issues/170)
163+
* 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}"`.
164+
* 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" }`
165+
* Support for conditional breakpoints
166+
* 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.
167+
* 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).
168+
* Duplicate warnings and errors should no longer accumulate in Unity projects [#447](https://github.com/OmniSharp/omnisharp-vscode/issues/447)
169+
170+
## 1.2.0 (June 29, 2016)
171+
172+
* Adds debugger support for new Linux versions: Ubuntu 16.04, Fedora 23, openSUSE 13.2, and Oracle Linux 7.1
173+
* Enhanced debug console output: module loads are now output, and there are launch.json options for controlling what is output
174+
* Source file checksum support for breakpoints. This ensures that the debugger only sets breakpoints in code that exactly matches the open document.
175+
* Support for editing the value of variables in the watch and locals window (requires VS Code 1.3)

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,13 @@ Several new settings have been added:
9191
* Windows (64-bit only)
9292
* macOS
9393
* Ubuntu 14.04 / Linux Mint 17 / Linux Mint 18 / Elementary OS 0.3
94-
* Ubuntu 16.04 / Elementary OS 0.4
94+
* Ubuntu 16.04 / Elementary OS 0.4 / Arch
95+
* Ubuntu 16.10
9596
* Debian 8.2
9697
* CentOS 7.1 / Oracle Linux 7
9798
* Red Hat Enterprise Linux (RHEL)
98-
* Fedora 23
99-
* OpenSUSE 13.2
99+
* Fedora 23 / 24
100+
* OpenSUSE 13 / 42
100101

101102
### Found a Bug?
102103
Please file any issues at https://github.com/OmniSharp/omnisharp-vscode/issues.

debugger.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,3 +155,7 @@ Select the '.NET Core Attach' configuration. Clicking the play button (or pressi
155155
#### Docker Support
156156

157157
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.
158+
159+
#### Remote Debugging
160+
161+
In addition to Docker, it is also possible to setup the debugger to remotely attach or launch using other transports (ex: SSH). See [Attaching to remote processes](https://github.com/OmniSharp/omnisharp-vscode/wiki/Attaching-to-remote-processes) in the wiki for more information.

gulpfile.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ const logger = require('./out/src/logger');
1919
const platform = require('./out/src/platform');
2020
const util = require('./out/src/common');
2121
const child_process = require('child_process');
22+
const optionsSchemaGenerator = require('./out/src/tools/GenerateOptionsSchema');
2223

2324
const Logger = logger.Logger;
2425
const PackageManager = packages.PackageManager;
@@ -39,6 +40,10 @@ gulp.task('clean', () => {
3940
cleanSync(true);
4041
});
4142

43+
gulp.task('generateOptionsSchema', () => {
44+
optionsSchemaGenerator.GenerateOptionsSchema();
45+
});
46+
4247
// Install Tasks
4348
function install(platformInfo, packageJSON) {
4449
const packageManager = new PackageManager(platformInfo, packageJSON);
@@ -177,4 +182,4 @@ gulp.task('tslint', () => {
177182
summarizeFailureOutput: false,
178183
emitError: false
179184
}))
180-
});
185+
});

0 commit comments

Comments
 (0)