Skip to content

Conversation

@DustinCampbell
Copy link
Member

@DustinCampbell DustinCampbell commented Jul 18, 2016

Fixes #529

This is a fairly large change that largely cleans up the OmniSharp acquisition and launching code, but also adds support for two OmniSharp servers:

  1. project.json files will still target a CoreCLR-based .NET Core OmniSharp server.
  2. .csproj files will target the desktop OmniSharp server (on Windows) or the Mono OmniSharp server (on OSX and Linux).

Essentially, instead of assuming a specific OmniSharp server on a particular platform, this change includes the notion of an OmniSharp "flavor", which is either CoreCLR, Desktop, or Mono.

cc @gregg-miskelly, @chuckries, @caslan, @rajkumar42, @Pilchie

"name": "csharp",
"publisher": "ms-vscode",
"version": "1.3.0",
"version": "1.3.0-beta1",
Copy link
Contributor

@rajkumar42 rajkumar42 Jul 18, 2016

Choose a reason for hiding this comment

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

-beta1 [](start = 19, length = 6)

remove "-beta1"? #Closed

Copy link
Member Author

Choose a reason for hiding this comment

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

Nope! 😄 See my email on releases that I sent last week.

Once I merge this, I'll put up a pre-release out of master for folks to test.

Copy link
Member Author

Choose a reason for hiding this comment

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

To be clear, I'll change this when we merge to the release branch.

Copy link
Contributor

Choose a reason for hiding this comment

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

got it! thanks


In reply to: 71229831 [](ancestors = 71229831)

@rajkumar42
Copy link
Contributor

:shipit:

const options = this._readOptions();

let flavor: omnisharp.Flavor;
if (options.path !== undefined && options.usesMono === true) {
Copy link
Contributor

Choose a reason for hiding this comment

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

If I am reading this correctly, one can use the 'usesMono' option to force the use of mono OmniSharp, but we don't have a corresponding option to force the use of CoreCLR omnisharp for folks who want to use CoreCLR omnisharp with a .csproj. Do I have that right?

If so, would it make sense to also have a way to force CoreCLR for folks dealing with PCL projects targeting CoreCLR?

Copy link
Member Author

Choose a reason for hiding this comment

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

That's not the intention here. Essentially, there's already an option to specify a path to a specific OmniSharp -- csharp.omnisharp. I've added a csharp.omnisharpUsesMono option that controls whether the OmniSharp specified via csharp.omnisharp should be launched via Mono or not. For CoreCLR, the user just has to point csharp.omnisharp to the CoreCLR executable and it'll be launched.

@gregg-miskelly
Copy link
Contributor

Otherwise LGTM

@DustinCampbell DustinCampbell merged commit a193348 into dotnet:master Jul 18, 2016
@DustinCampbell DustinCampbell deleted the dual-omnisharp branch September 1, 2016 15:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants