Skip to content

Commit daab8ed

Browse files
Merge pull request #1204 from OmniSharp/master
Merge master into release
2 parents 49dc980 + add9a96 commit daab8ed

34 files changed

+7233
-2000
lines changed

.travis.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ install:
2525

2626
script:
2727
- npm test --silent
28-
- npm run test-syntax
2928

3029
deploy:
3130
provider: releases

.vscode/tasks.json

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,27 @@
11
{
22
"version": "0.1.0",
3-
"command": "gulp",
4-
"isShellCommand": true,
53
"tasks": [
4+
{
5+
"taskName": "build",
6+
"command": "npm",
7+
"isShellCommand": true,
8+
"args": ["run", "compile"],
9+
"showOutput": "always",
10+
"isBuildCommand": true
11+
},
612
{
713
"taskName": "test",
14+
"command": "echo",
815
"showOutput": "always",
16+
"isShellCommand": true,
17+
"args": ["Run tests in VS Code by launching the debugg with the 'Launch Tests' configuration."],
918
"isTestCommand": true
1019
},
1120
{
1221
"taskName": "tslint",
13-
"args": [],
22+
"command": "gulp",
23+
"isShellCommand": true,
24+
"args": ["tslint"],
1425
"problemMatcher": {
1526
"owner": "tslint",
1627
"fileLocation": [

CHANGELOG.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,60 @@
1+
## 1.7.0 _(Not Yet Released)_
2+
3+
#### Syntax Hightlighting
4+
5+
* Introduced a brand new TextMate grammar written from scratch that provides much more robust C# syntax highlighting. ([#101](https://github.com/OmniSharp/omnisharp-vscode/issues/101), [#225](https://github.com/OmniSharp/omnisharp-vscode/issues/225), [#268](https://github.com/OmniSharp/omnisharp-vscode/issues/268), [#316](https://github.com/OmniSharp/omnisharp-vscode/issues/316), [#674](https://github.com/OmniSharp/omnisharp-vscode/issues/674), [#706](https://github.com/OmniSharp/omnisharp-vscode/issues/706), [#731](https://github.com/OmniSharp/omnisharp-vscode/issues/731), [#746](https://github.com/OmniSharp/omnisharp-vscode/issues/746), [#782](https://github.com/OmniSharp/omnisharp-vscode/issues/782), [#802](https://github.com/OmniSharp/omnisharp-vscode/issues/802), [#816](https://github.com/OmniSharp/omnisharp-vscode/issues/816), [#829](https://github.com/OmniSharp/omnisharp-vscode/issues/829), [#830](https://github.com/OmniSharp/omnisharp-vscode/issues/830), [#861](https://github.com/OmniSharp/omnisharp-vscode/issues/861), [#1078](https://github.com/OmniSharp/omnisharp-vscode/issues/1078), [#1084](https://github.com/OmniSharp/omnisharp-vscode/issues/1084), [#1086](https://github.com/OmniSharp/omnisharp-vscode/issues/1086), [#1091](https://github.com/OmniSharp/omnisharp-vscode/issues/1091), [#1096](https://github.com/OmniSharp/omnisharp-vscode/issues/1096), [#1097](https://github.com/OmniSharp/omnisharp-vscode/issues/1097), [#1106](https://github.com/OmniSharp/omnisharp-vscode/issues/1106), [#1115](https://github.com/OmniSharp/omnisharp-vscode/issues/1108))
6+
* The C# TextMate grammar has a new home! Issues and contributions are welcome at [https://github.com/dotnet/csharp-tmLanguage](https://github.com/dotnet/csharp-tmLanguage).
7+
8+
### Project Support
9+
10+
* Updated with the latest changes for .NET Core .csproj projects. ([omnisharp-roslyn#738](https://github.com/OmniSharp/omnisharp-roslyn/pull/738))
11+
* Automatic package restore and out-of-date notifications implemented for .NET Core .csproj projects. ([#770](https://github.com/OmniSharp/omnisharp-vscode/issues/770))
12+
* Correctly update project when dotnet restore is performed on a .NET Core .csproj project. ([#1114](https://github.com/OmniSharp/omnisharp-vscode/issues/1114))
13+
* Properly handle .csproj projects in .sln files that were added via .NET CLI commands. ([omnisharp-roslyn#741](https://github.com/OmniSharp/omnisharp-roslyn/pull/741))
14+
* Fix `dotnet restore` Visual Studio Code command to execute for .csproj .NET Core projects. ([#1175](https://github.com/OmniSharp/omnisharp-vscode/issues/1175))
15+
* Respect `nowarn` in project.json projects. ([omnisharp#734](https://github.com/OmniSharp/omnisharp-roslyn/pull/734)) _(Contributed by [@filipw](https://github.com/filipw))_
16+
* Fix problem with project.json projects that wrap assemblies. ([#424](https://github.com/OmniSharp/omnisharp-vscode/issues/424))
17+
18+
### Debugging
19+
20+
* Enable debugger support for Zorin OS 12. ([#1160](https://github.com/OmniSharp/omnisharp-vscode/issues/1160)) _(Contributed by [@mkaziz](https://github.com/mkaziz))_
21+
* Added off-road support for [Windows Subsystem for Linux](https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-linux-overview/) (NOTE: requires newer version of Windows than have been publicly released yet)
22+
* Fixed issue with debugger pause and multithreaded call stacks ([#1107](https://github.com/OmniSharp/omnisharp-vscode/issues/1107) and [#1105](https://github.com/OmniSharp/omnisharp-vscode/issues/1105))
23+
24+
### C# Scripting
25+
26+
* Support resolving `#r` references from the GAC. ([omnisharp-roslyn#721](https://github.com/OmniSharp/omnisharp-roslyn/pull/721)) _(Contributed by [@filipw](https://github.com/filipw))_
27+
* Include System.ValueTuple in C# scripts implicitly. ([omnisharp-roslyn#722](https://github.com/OmniSharp/omnisharp-roslyn/pull/722)) _(Contributed by [@filipw](https://github.com/filipw))_
28+
29+
### Code Actions
30+
31+
* Fixed code actions that add files, such as "Move Type to File". ([#975](https://github.com/OmniSharp/omnisharp-vscode/issues/975))
32+
* Properly surface code actions that have "nested code actions". This allows "generate type" to work properly. ([#302](https://github.com/OmniSharp/omnisharp-vscode/issues/302))
33+
* Don't display the Remove Unnecessary Usings code action unless it is relevant. ([omnisharp-roslyn#742](https://github.com/OmniSharp/omnisharp-roslyn/issues/742))
34+
* Don't show the Extract Interface refactoring as it requires a dialog that does not exist in VS Code. ([#925](https://github.com/OmniSharp/omnisharp-vscode/issues/925))
35+
36+
### Completion List
37+
38+
* A namespace icon should be displayed for namespaces in the completion list. ([#1125](https://github.com/OmniSharp/omnisharp-vscode/issues/1124)) _(Contributed by [@filipw](https://github.com/filipw))_
39+
* Add icons for several symbol kinds in the completion list, fixing many symbols that incorrectly displayed a property "wrench" icon. ([#1145](https://github.com/OmniSharp/omnisharp-vscode/issues/1145))
40+
41+
### Other Updates and Fixes
42+
43+
* Add schema validation for omnisharp.json files. ([#1082](https://github.com/OmniSharp/omnisharp-vscode/pull/1082)) _(Contributed by [@Thaina](https://github.com/Thaina))_
44+
* Add support for auto-closing and surrounding characters. ([#749](https://github.com/OmniSharp/omnisharp-vscode/issues/749), [#842](https://github.com/OmniSharp/omnisharp-vscode/issues/842)) _(Contributed by [@filipw](https://github.com/filipw))_
45+
* Fix running and debugging of tests defined in nested classes. ([#743](https://github.com/OmniSharp/omnisharp-vscode/issues/743), [#1151](https://github.com/OmniSharp/omnisharp-vscode/issues/1151))
46+
* Fix error when 'tasks.json' does not contain a 'tasks' node, or contains os-specific 'tasks' nodes. ([#1140](https://github.com/OmniSharp/omnisharp-vscode/issues/1140))
47+
* Better detection of Windows architecture (x86 or x64) when determining extension dependencies to download. The detection logic now uses well-known environment variables rather than launching 'wmic'. ([#1110](https://github.com/OmniSharp/omnisharp-vscode/issues/1110), [#1125](https://github.com/OmniSharp/omnisharp-vscode/issues/1125))
48+
* Improvements to the OmniSharp Log ([#1155](https://github.com/OmniSharp/omnisharp-vscode/pull/1155))
49+
* Add new values to the `omnisharp.logginglevel` option to allow more granualar control of OmniSharp logging. ([#993](https://github.com/OmniSharp/omnisharp-vscode/issues/993)) _(Contributed by [@filipw](https://github.com/filipw))_
50+
* Don't display the "some projects have trouble loading" message if projects only contain warnings. ([#707](https://github.com/OmniSharp/omnisharp-vscode/issues/707))
51+
* Update Mono detection logic to succeed even if another shell is set as the default (e.g. zsh). ([#1031](https://github.com/OmniSharp/omnisharp-vscode/issues/1031))
52+
53+
### Known Issues
54+
55+
* Running and debugging of tests are not supported in .csproj-based .NET Core projects. However, there will still be clickable "run test" and "debug test" indicators above test methods. ([#1100](https://github.com/OmniSharp/omnisharp-vscode/issues/1100))
56+
* When opening a .csproj-based .NET Core project in VS Code, the C# extension will not activate until a C# file is opened in the editor. ([#1150](https://github.com/OmniSharp/omnisharp-vscode/issues/1150))
57+
158
## 1.6.2 (December 24, 2016)
259

360
* Fix performance issue when editing type names containing multiple generic type parameters. ([#1088](https://github.com/OmniSharp/omnisharp-vscode/issues/1088), [#1086](https://github.com/OmniSharp/omnisharp-vscode/issues/1086))

README.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ See our [change log](https://github.com/OmniSharp/omnisharp-vscode/blob/master/C
3434
* Windows (64-bit only)
3535
* macOS
3636
* Ubuntu 14.04 / Linux Mint 17 / Linux Mint 18 / Elementary OS 0.3
37-
* Ubuntu 16.04 / Elementary OS 0.4 / Arch
37+
* Ubuntu 16.04 / Elementary OS 0.4 / Arch / Zorin OS 12
3838
* Ubuntu 16.10
3939
* Debian 8.2
4040
* CentOS 7.1 / Oracle Linux 7
@@ -54,8 +54,6 @@ First install:
5454
* Node.js (newer than 4.3.1)
5555
* Npm (newer 2.14.12)
5656

57-
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.
58-
5957
To **run and develop** do the following:
6058

6159
* Run `npm i`

ThirdPartyNotices.txt

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ expressly granted, whether by implication, estoppel or otherwise.
1212
3. run-in-terminal version 0.0.2 (https://github.com/microsoft/run-in-terminal)
1313
4. semver version 5.1.0 (https://github.com/npm/node-semver)
1414
5. DefinitelyTyped version 0.0.1 (https://github.com/borisyankov/DefinitelyTyped)
15-
6. language-csharp version 0.11.0 (https://github.com/atom/language-csharp)
1615

1716
%% omnisharp-roslyn NOTICES AND INFORMATION BEGINS HERE
1817
============================================================
@@ -123,42 +122,3 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
123122
THE SOFTWARE.
124123
============================================================
125124
END OF DefinitelyTyped NOTICES AND INFORMATION
126-
127-
%% language-csharp NOTICES AND INFORMATION BEGIN HERE
128-
=========================================
129-
Copyright (c) 2014 GitHub Inc.
130-
131-
Permission is hereby granted, free of charge, to any person obtaining
132-
a copy of this software and associated documentation files (the
133-
"Software"), to deal in the Software without restriction, including
134-
without limitation the rights to use, copy, modify, merge, publish,
135-
distribute, sublicense, and/or sell copies of the Software, and to
136-
permit persons to whom the Software is furnished to do so, subject to
137-
the following conditions:
138-
139-
The above copyright notice and this permission notice shall be
140-
included in all copies or substantial portions of the Software.
141-
142-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
143-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
144-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
145-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
146-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
147-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
148-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
149-
150-
151-
This package was derived from a TextMate bundle located at
152-
https://github.com/wintermi/csharp-tmbundle by Matthew Winter @wintermi and
153-
Adam Lickel @lickel and distributed under the following license, located in
154-
`README.markdown`:
155-
156-
This bundle is dual-licensed under MIT and GPL licenses.
157-
158-
- http://www.opensource.org/licenses/mit-license.php
159-
- http://www.gnu.org/licenses/gpl.html
160-
161-
Use it, change it, fork it, sell it. Do what you will, but please leave the
162-
author attribution.
163-
=========================================
164-
END OF language-csharp NOTICES AND INFORMATION

csharp.configuration.json

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,27 @@
11
{
2-
"comments": {
3-
"lineComment": "//",
4-
"blockComment": ["/*", "*/"]
5-
},
6-
"brackets": [
7-
["{", "}"],
8-
["[", "]"],
9-
["(", ")"]
10-
]
2+
"comments": {
3+
"lineComment": "//",
4+
"blockComment": ["/*", "*/"]
5+
},
6+
"brackets": [
7+
["{", "}"],
8+
["[", "]"],
9+
["(", ")"]
10+
],
11+
"autoClosingPairs": [
12+
["{", "}"],
13+
["[", "]"],
14+
["(", ")"],
15+
{ "open": "'", "close": "'", "notIn": ["string", "comment"] },
16+
{ "open": "\"", "close": "\"", "notIn": ["string", "comment"] },
17+
{ "open": "/*", "close": " */", "notIn": ["string"] }
18+
],
19+
"surroundingPairs": [
20+
["{", "}"],
21+
["[", "]"],
22+
["(", ")"],
23+
["<", ">"],
24+
["'", "'"],
25+
["\"", "\""]
26+
]
1127
}

debugger.md

Lines changed: 11 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ File bugs and feature requests [here](https://github.com/OmniSharp/omnisharp-vsc
1414

1515
###First Time setup
1616
##### 1: Get Visual Studio Code
17-
Install Visual Studio Code (VSC). Pick the latest VSC version from here: https://code.visualstudio.com Make sure it is at least 0.10.10.
17+
Install Visual Studio Code (VSC). Pick the latest VSC version from here: https://code.visualstudio.com Make sure it is at least 1.5.
1818

1919
If you are not sure what version you have, you can see your version of VS Code:
2020

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

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

3434
##### 4: Wait for download of platform-specific files
3535
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.
@@ -47,20 +47,11 @@ You can start from scratch by creating an empty project with `dotnet new`:
4747
dotnet new
4848
dotnet restore
4949

50-
You can also find some example projects on https://github.com/aspnet/cli-samples
50+
If you want a web project (ASP.NET project) pass `-t web`. For web projects, makes sure to run `bower install` before running so that they can restore assets.
5151

5252
##### 2: Open the directory in VS Code
5353
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.
5454

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'.
56-
57-
If the CLI is installed, here are a few additional suggestions:
58-
59-
* 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).
60-
* 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.
61-
62-
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.
63-
6455
##### 3: Add VS Code configuration files to the workspace
6556
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.
6657

@@ -86,24 +77,15 @@ If your code has multiple projects or you would rather generate these files by h
8677
...
8778
"program": "${workspaceRoot}/MyLaunchingProject/bin/Debug/netcoreapp1.0/MyLaunchingProject.dll",
8879

89-
##### 4: Windows Only: Enable Portable PDBs
90-
In the future, this step will go away, but for now you need to [change the project.json to use portable PDBs](https://github.com/OmniSharp/omnisharp-vscode/wiki/Portable-PDBs#net-cli-projects-projectjson).
91-
92-
##### 5: Pick your debug configuration
93-
94-
The default launch.json offers several different launch configurations depending on what kind of app you are building -- one for command line, one for web, and one for attaching to a running process.
95-
96-
To configure which configuration you want, bring up the Debug view by clicking on the Debugging icon in the View Bar on the side of VS Code.
97-
98-
![Debug view icon](https://raw.githubusercontent.com/wiki/OmniSharp/omnisharp-vscode/images/debugging_debugicon.png)
99-
100-
Now open the configuration drop down from the top and select the one you want.
101-
102-
![Debug launch configuration drop down](https://raw.githubusercontent.com/wiki/OmniSharp/omnisharp-vscode/images/debug-launch-configurations.png)
80+
##### 4: Start debugging
81+
Your project is now all set. Set a breakpoint or two where you want to stop, click the debugger play button (or hit F5) and you are off.
10382

10483
###Debugging Code compiled on another computer
105-
* If the target binary is built on Linux / OSX, dotnet CLI will produce portable pdbs by default so no action is necessary.
106-
* On Windows, you will need to take additional steps to build [portable PDBs](https://github.com/OmniSharp/omnisharp-vscode/wiki/Portable-PDBs#how-to-generate-portable-pdbs).
84+
If your code was built on a different computer from where you would like to run in there are a few things to keep in mind --
85+
86+
* **Source Maps**: Unless your local source code is at exactly the same path as where the code was originally built you will need to add a [sourceFileMap](#source-file-map) to launch.json.
87+
* **Portable PDBs**: If the code was built on Windows, it might have been built using Windows PDBs instead of portable PDBs, but the C# extension only supports portable PDBs. See the [portable PDB documentation](https://github.com/OmniSharp/omnisharp-vscode/wiki/Portable-PDBs#how-to-generate-portable-pdbs) for more information.
88+
* **Debug vs. Release**: It is much easier to debug code which has been compiled in the 'Debug' configuration. So unless the issue you are looking at only reproduces with optimizations, it is much better to use Debug bits. If you do need to debug optimized code, you will need to disable [justMyCode](#just-my-code) in launch.json.
10789

10890
####More things to configure In launch.json
10991
#####Just My Code
@@ -126,7 +108,7 @@ You can optionally configure a file by file mapping by providing map following t
126108
#####Symbol Path
127109
You can optionally provide paths to symbols following this schema:
128110

129-
"symbolPath":"[ \"/Volumes/symbols\"]"
111+
"symbolPath": [ "/Volumes/symbols" ]
130112

131113
#####Environment variables
132114
Environment variables may be passed to your program using this schema:

gulpfile.js

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -145,18 +145,6 @@ gulp.task('package:offline', ['clean'], () => {
145145
return promise;
146146
});
147147

148-
/// Test Task
149-
gulp.task('test', () => {
150-
gulp.src('out/test/**/*.tests.js')
151-
.pipe(mocha({ ui: "tdd" }))
152-
.once('error', () => {
153-
process.exit(1);
154-
})
155-
.once('end', () => {
156-
process.exit();
157-
});
158-
});
159-
160148
/// Misc Tasks
161149
const allTypeScript = [
162150
'src/**/*.ts',

0 commit comments

Comments
 (0)