Code Monkey home page Code Monkey logo

oni-language-csharp's Introduction

oni-language-csharp

C# Language Plugin for Oni

screenshot

C# support for Oni uses the OmniSharp Node Client which provides language capabilities for both .NET and Mono. For it to work correctly, you need to have a valid .csproj file with any dependent packages (ie, Nuget) installed. The project should also build and compile.

Usage

To get started:

  • Clone repository into your oni plugin path (~/.oni/plugins)
  • Run npm install in the cloned path
  • Restart Oni

For the language server to work correctly, the following conditions must be met:

  • You have a valid .csproj file with any dependent packages (ie, NuGet) installed.
  • The project must have been built at least once.

Features

  • Goto Definition
  • Error Highlights
  • Code Completion

Known Issues

  • If you are using the .NET Core CLI, make sure to run dotnet restore on your project.
  • On Windows, you must run Oni as an administrator the first time using the C# language service. This is tracked by issue #423.
  • On all platforms, the C# language service takes time to start up, especially the first time as it is downloading the appropriate runtime environment. You can open up the developer tools (Help -> Developer Tools) to see the logging from the language service.

oni-language-csharp's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

anoever towerism

oni-language-csharp's Issues

Windows: Omnisharp plugin requires administrator permissions to download

Issue:

In distribution builds, on Windows, the Omnisharp (C#) language service requires administrator privilege to download the windows client. The install location on my machine, for example, is here:
"Downloading C:\Program Files (x86)\Oni\resources\app\node_modules\omnisharp-client\omnisharp-win-x64-net46\omnisharp-win-x64-net46.zip"}

Therefore, downloading this in a non-administrator context will result in the download failing.

Potential Fixes:

  • OPTION 1: See if there is a way to override the download / binary location for this. Potentially in the cache / userData folder of electron, or some of other writable place.
  • OPTION 2: Copy the default or select plugins to the cache / userData folder on startup.
  • OPTION 3: Package the downloaded file during windows install. This means the installation size is even larger, which would not be ideal.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.