OmniSharp-使跨平台的.NET成为现实和乐趣

本文介绍了OmniSharp项目,它是一个由社区维护的开源项目,旨在为各种编辑器提供C#智能感知和支持,包括Sublime、Brackets、Atom、Emacs和Vim。OmniSharp使得开发者在非Visual Studio环境中也能享受到类似Intellisense的体验,支持ASP.NET 5在Windows、Linux和Mac上的开发。此外,文章提到了.NET 2015的开源进展和Visual Studio Community的免费提供。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

In case you missed it, make sure to read Announcing .NET 2015 - .NET as Open Source, .NET on Mac and Linux, and Visual Studio Community because there's been some big stuff going on.

万一您错过了它,请确保已阅读宣布.NET 2015-.NET为开源,在Mac和Linux上为.NET,以及Visual Studio社区,因为其中发生了一些大事。

Here's the summary of the .NET 2015 Wave of awesomeness.

这是.NET 2015令人敬畏的浪潮的摘要。

The other thing I wanted to talk about is a newly organized group of technologies called OmniSharp. Just to be sure there's no confusion, OmniSharp isn't a Microsoft project. While there are two Microsoft folks on the team of 8 or so, we are working on it as community members, not in an official capacity.

我想谈的另一件事是一个名为OmniSharp的新组织的技术小组。 为了确保没有混乱,OmniSharp不是Microsoft项目。 尽管大约有8位团队成员中有两名Microsoft员工,但我们是以社区成员的身份而不是以官方身份进行工作。

I "launched" this project in my talk at the Connect() mini-conference in New York a few weeks back. You can watch that video here on Channel 9 now if you like. However, the technologies around and under OmniSharp have been around for years...like over a decade!

几周前,我在纽约的Connect()小型会议上的演讲中“发起”了这个项目。 如果愿意,您现在可以在第9频道在这里观看该视频。 但是,OmniSharp周围和之下的技术已经存在了数十年之久!

As a team and a community we pulled together a bunch of projects and plugins, got organized, and created https://github.com/omnisharp and http://www.omnisharp.net. Jonathan Channon has a great overview blog post you should check out that talks about how Jason Imison created OmniSharpServer which is an...

作为一个团队和一个社区,我们汇集了许多项目和插件,进行了整理,并创建了https://github.com/omnisharphttp://www.omnisharp.netJonathan Channon有一个很棒的概述博客文章,您应该检查一下有关Jason Imison如何创建OmniSharpServer的内容,这是一个不错的...

HTTP wrapper around NRefactory allowing C# editor plugins to be written in any language. NRefactory is the C# analysis library used in the SharpDevelop and MonoDevelop IDEs. It allows applications to easily analyze both syntax and semantics of C# programs. It is quite similar to Microsoft's Roslyn project; except that it is not a full compiler – NRefactory only analyzes C# code, it does not generate IL code.

NRefactory周围的HTTP包装器,允许以任何语言编写C#编辑器插件。 NRefactory是SharpDevelop和MonoDevelop IDE中使用的C#分析库。 它使应用程序可以轻松分析C#程序的语法和语义。 它与微软的Roslyn项目非常相似。 除了不是完整的编译器之外-NRefactory仅分析C#代码,不生成IL代码。

OmniSharp runs as its own process and runs a local Nancy-based web api that your editor of choice talks to. If you have an editor that you like to use, why not get involved and make a plugin? Perhaps for Eclipse?

OmniSharp作为其自己的进程运行,并运行一个本地的基于Nancy的Web api,供您选择的编辑器与之聊天。 如果您有喜欢使用的编辑器,为什么不参与并制作插件? 也许是针对Eclipse?

We now have plugins for these editors:

现在,我们为这些编辑器提供了插件:

  • Sublime

    升华
  • Brackets from Adobe

    来自Adobe的括号
  • Atom from GitHub

    来自GitHub的Atom
  • Emacs

    埃马克斯
  • Vim

    Vim

And these work on (so far) all platforms! It's about choice. We wanted to bring more than autocomplete (which is basically "I think you typed that before") to your editor, instead we want actual type-smart intellisense, as well as more sophisticated features like refactoring, format document, and lots of other stuff you'd expect only to see in Visual Studio.

这些都可以(到目前为止)在所有平台上工作! 关于选择。 我们希望将自动完成功能(基本上是“我认为您之前输入过”)带给您的编辑器,而不是我们想要真正的类型智能的intellisense,以及更复杂的功能,例如重构,格式化文档和许多其他功能您只希望在Visual Studio中看到。

We also brought in the Sublime Kulture package which gives Sublime users support for ASP.NET 5 (formerly ASP.NET vNext), so they can launch Kestrel (our libuv based local webserver), run Entity Framework migrations, and other arbitrary commands from within Sublime.

我们还引入了Sublime Kulture软件包,该软件包为Sublime用户提供了对ASP.NET 5(以前称为ASP.NET vNext)的支持,因此他们可以从内部启动Kestrel (基于libuv的本地网络服务器),运行Entity Framework迁移以及其他任意命令。升华。

.NET in Sublime, in Vim, in Brackets, in Atom, and everywhere else, cross-platform

Here's OmniSharp running in emacs on my Windows machine. The emacs setup (here is an example) is a little more complex than the others, but it also gives emacs folks an extreme level of control. Note that I had to launch the OmniSharp server manually for emacs, while it launches automatically for the other editors.

这是在Windows计算机上的emacs中运行的OmniSharp。 emacs的设置(这里是一个示例)比其他设置稍微复杂一些,但是它也为emacs的人们提供了极端的控制级别。 请注意,我必须为emacs手动启动OmniSharp服务器,而为其他编辑器自动启动。

image

Here is an ASP.NET MVC app running in Sublime. The Sublime OmniSharp package output can be seen in the debug console there (Ctrl+~ to see it).

这是在Sublime中运行的ASP.NET MVC应用程序。 Sublime OmniSharp软件包的输出可以在调试控制台中看到(按Ctrl +〜即可看到)。

image

OmniSharp is in very active development. We are looking at bringing in Roslyn, using the new ASP.NET Design Time Host, and improving robustness. It's not perfect, but it's pretty darn cool. There's lots of details in Jonathan's writeup with great animated gifs showing features. Also note that we have a Yeoman generator for ASP.NET that can get you started when creating ASP.NET 5 apps on Mac or Linux. The yeoman generator can create Console apps, MVC apps, and NancyFx apps.

OmniSharp的开发非常活跃。 我们正在考虑使用新的ASP.NET Design Time Host引入Roslyn,并提高鲁棒性。 这不是完美的,但是非常酷。 乔纳森(乔纳森)的文章中有许多细节,精美的gif动画展示了功能。 还要注意,我们有一个适用于ASP.NET的Yeoman生成器,可以在Mac或Linux上创建ASP.NET 5应用程序时让您入门。 yeoman生成器可以创建控制台应用程序,MVC应用程序和NancyFx应用程序。

You can get started at http://omnisharp.net.  See you there!

您可以从http://omnisharp.net开始。 到时候那里见!

翻译自: https://www.hanselman.com/blog/omnisharp-making-crossplatform-net-a-reality-and-a-pleasure

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值