Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Project Rider – A C# IDE (jetbrains.com)
404 points by ingve on Jan 13, 2016 | hide | past | favorite | 245 comments


JetBrains is deadly. IntelliJ IDEA is simply the best tool I've ever used for HTML, CSS, JavaScript, PHP, and PostgreSQL. Incredibly intuitive and it does it all. It's what Photoshop is for designers.

This immediately gets me stoked for doing my Unity C# development with this.

* Edit. Initially thought this was an entirely new IDE, and not just a plugin. Less excited, but certainly worth a look.


I've tried all of JetBrains tools over and over throughout the years since I keep hearing about how much some people like their stuff - but every single time I am disappointed at how over-engineered everything they do seems to be. Furthermore, their cross platform tools like IntelliJ IDEA always wreak of badly emulated native components that don't look or behave the way that they should on any OS.

So for me - Visual Studio 2015 is the best tool I've ever used for HTML/CSS/JS (and Node.js and C#). It simply outshines everything else I've tried. I guess if I was forced to use an OS X or Linux desktop, I'd resign myself to using JetBrains tools because they probably are the best thing you can find outside of Windows...but as someone who prefers Windows and who wants native Windows apps that behave idiomatically instead of just fulfilling the lowest common denominator - VS can't be beat IMO.


I've had literally the opposite experience. Everything I seemed to need, IntelliJ IDEA magically had. I just ended up uninstalling things like pgAdmin, for example, since IntelliJ IDEA is just far superior at doing the same thing, and it's just right there where you code. Convenient. Usually it started out as, "I wonder if it can..." and then quickly find the feature that just does what I want.

Even as a Windows user myself, I can't quite articulate what has always bothered me about Visual Studio in general over the years. It seems to have it's own language, terminology, and way of doing things that you have to buy into. And I really don't like that. Let me pick a folder, have that be my project, and edit text really clever like. That's what I want.


Take a look at Visual Studio Code. I too have this (probably unfounded) resistance to using full blown Visual Studio for projects outside of work, but have found Code pretty good for developing Javascript and HTML etc. Nice and light, pick a directory as a project, good GIT integration, reasonable text editor, built in debugger etc.

For me it's a good balance between a straight up text editor and full IDE.


like pgAdmin, for example, since IntelliJ IDEA is just far superior at doing the same thing, and it's just right there where you code.

You don't mention the two things together, but VS has the server explorer which you can use to hook in to a database and do administrative tasks (both design and data viewing)


Also pgAdmin is about as feature-ful as Notepad is so it's not hard to do something a little better.

Besides server explorer, VS also has SSDT (SQL Server Data Tools) obviously only for SQL Server, but I've never seen anything even in the same league as SSDT for any open source database.


What you call over engineered I call common sense capabilities that get out of my way. There isn't any thing (non platform specific) that I can do in VS that I can't do better and faster in the IDEA platform. And with the tooling consistency, in can jump between stacks and Stillman maintain the same functionality.


"What you call over engineered I call common sense capabilities that get out of my way."

I should have just copy & pasted your comment.


this is a very interesting debate is there a list of features side by side? or a comparative study that lists pros and cons? I do not think over-engineering is a subjective term, also common sense :) yes, between them there's lots of levels but one is at one extreme and one is at the other. so I guess, a good analysis of these two IDEs could be make with a good level of objectivity from the author.


This is not a plugin but a standalone product. Essentially this is standalone IntelliJ shell that communicates with a ReSharper process.


Oh, my mistake. Excitement levels elevated.

Good news everyone!


It is a completly new IDE, it's just based on the same technology they use for their other IDEs


Sounds like its a branch of the IntelliJ IDEA codebase


I guess it's just based on the Intellij Platform which is open source and also serves as the base for other Jetbrains IDEs like Webstorm or Pycharm:

- http://www.jetbrains.org/pages/viewpage.action?pageId=983889 - https://github.com/JetBrains/intellij-community/tree/master/...


PHPStorm was the first IDE that not only made writing PHP significantly better for me, but also was the first IDE that I felt surpassed Visual Studio in many little ways.

The C# dev aspect of this I'm more excited for colleagues that use OS X exclusively--they'll be able to collaborate much easier with a full IDE than the lesser methods they are using now.


A plugin is a good thing as far as I'm concerned. One IDE, many languages :)


Sadly Unity will not be supported initially.


This will have to be very good to be better than Visual Studio on Windows. I've used Visual Studio 2013 a fair bit in the last 12 months and it's a fantastic IDE. Microsoft are also developing their cross-platform offering Visual Studio Code, which is a nice text editor and I imagine it's just going to get better.

I am using another JetBrains product, PHPStorm, on the Mac at the moment for some Front End Dev, which is another IntelliJ based product. This has recently become quite sluggish and is starting to annoy me, after all, who wants the tool to get in the way of the work. I hope this gets sorted soon.

That said, I think JetBrains do a great job focusing on develop tools and I've used their dotPeek product to untangle the mess left by the absence of release control in a recent contract.


> This will have to be very good to be better than Visual Studio on Windows.

Really? I feel MS has really dropped the ball with VS. VS2013 was OK, but not great. A lot of random lock-ups in really annoying situations where you can't even fathom why (like opening a text file). VS 2015 is actually awful - it wasn't until Update 1 that typing this (below) in C# would pop-up an on screen exception dialog:

    class Foo : Bar
    {
        public Foo()
           :
Pressing enter after the colon would throw the exception consistently. How on earth was that missed in testing? This is such a common C# pattern for invoking the base or this constructor.

I often find myself staring at the screen, saying in my head 'What the hell are you doing now!'. The new DNX project system is unusably slow (compiling) and the tooling for it is non-existent. And for me it still crashes all of the time. Other devs on my team are having similar problems.

TFS and TFS explorer is a total joke. The 'offline mode' is slower than online mode, and also causes crashes. If I lose my VPN connection then I have to shutdown VS and restart before TFS will reconnect again (this has been an issue for every version of VS I've used). Luckily we're moving away from that travesty of a system to git very soon (the VS git integration is actually pretty good).

I used to feel that VS was a really solid piece of tooling, and I agreed with your sentiment that I quoted. I don't any more. I will check this out, and if it works then I'll happily drop VS, two years ago I couldn't ever imagine myself saying that.

Competition can only be a good thing here.


"TFS and TFS explorer is a total joke."

I've been rather pleasantly surprised at how much support MS are giving git and github - they offer git hosting on Visual Studio Online and the Azure documentation is in github.

Edit: Added pleasantly! :-)


> I feel MS has really dropped the ball with VS.

This has been the case for C++ for a while now. Every version of VS has gotten worse since, IDK, 2006 or something (and that's ignoring how long it takes them to finish new versions of the language). I had a suspicion that they had moved their A team over to work on C#, but hearing this... maybe they're just getting worse.


For C# at least every version is at least better than the previous. 2015 was the big Roslyn makeover so I suppose I can accept a few more regressions than usual. But feature-wise, each version has had at least one killer feature that made the previous seem dated on day 1. Examples: edit-and-continue, or lambdas in watches.


Yeah like when they removed macros /sarcasm

Sarcasm notwithstanding, that was a terrible decision that still annoys me almost daily when I want to automate a repetitive task in the text-editor.


I hate to say this, but a lot of your issues might also be coming from the TFS integration. I know I used to have a bear of a time with random crashes and issues. Since switching to git & resharper I have had a much, much easier time.

With 1 notable exception of 1 huge project.

On large, 40+ project, solutions it seems like Visual Studio just falls on its face. Our new team is redirecting toward microservice approaches in light of some of these frustrations.

Not that your arch should be dictated by your editor, but quality of life is what it is.


> I hate to say this, but a lot of your issues might also be coming from the TFS integration.

I suspect some of the problems are, for sure - our big internal project is a multi-million line app, maybe 70-80 csprojs. VS2013 dealt with it OK, but had its occasional problems (the TFS issues weren't occasional though), VS2015 is much worse in general. It's very unstable.

My open-source project LanguageExt [1] uses git and isn't that large. I still get crashes and lock-ups. It was the first project I migrated to DNX also. It takes an age to build (where the sln/csproj system doesn't), and nails the CPU (99% usage). Something is very wrong, and very unfinished.

I can see where MS is going with this new open-source tools approach, but at the moment the whole thing seems to be a mess, and VS just can't deal with it. The one ray of light is the git integration. That works for the most common scenarios. I only occasionally have to drop back to the cmd line.

[1] https://github.com/louthy/language-ext


Yeah - not surprised the DNX stuff is wonky.

It seems like every time there's a new project format the first version is just really awful. I think they really only test it on small almost toy-level projects thoroughly but fully conjecture.

That's a very cool project though - what got you going on that? If I could convince my coworkers to not kill me for doing so, I would try to introduce using that at work :-) I've definitely gotten them on to the immutability by default train of thought tho - a lot of people very happy with that mindset considering how much of work has become parallel processing. It's amazing how much faster you can do things like build invoices of thousands of items when you can process the whole thing in parallel :-D

My pref has always been command line tbh - getting away from TFS was the best thing that ever happened for me.


> That's a very cool project though

Thank you :)

> what got you going on that?

Heh, long story...

I'm a CTO of a healthcare software house in London, we've been developing a very large web-app in C# over the past 10 years. Over the years it has evolved as any project does, but I started noticing more and more that OO was really not the right tool for the job of managing large inter-dependant systems (well, the Java/C# brand of OO anyway). The promise of re-use, decoupling, composition, ... all seemed to be lies. On top of that I started to get a sense of the common bugs that were coming through: null-reference errors being by far the biggest. The in-your-face bugs like null-ref errors are relatively easy to spot though, what becomes more problematic over time is shared mutable state logic errors. They can remain buried for some time.

I'd already had an interest in functional programming piqued by LINQ and Erik Meijer's talks on Haskell. I spent some time learning Haskell and F#, and came to the understanding that the stability and reliability of a system could be massively improved if null didn't exist, if objects were immutable by default, and if functions were pure/referentially transparent. Expression oriented programming became my order-of-the-day, but C# kept getting in the way. Unfortunately I couldn't just drop it and move to F# because our code-base is huge and written in C#.

So that's when I started writing csharp-monad [1], it was my first attempt at bringing functional concepts into C#. It had a couple of problems though, and they were:

* The types were classes, and therefore if a function returned Option<T> then it could still be null

* It followed the '.NET BCL way' of having functions like GetValueOrDefault() - again breaking the safety net that an Option type (for example) is supposed to give.

It had benefits though, primarily that I could make composable computations with the various monads (using LINQ). The problem with that approach was that it quickly bumped up against the rest of the BCL. And, in my case, the rest of our multi-million line C# OO app.

So I mothballed that project to an extent. I'd use it now and again where I had control over a process end-to-end. But it got me thinking, that the main issues I had were:

1. Non-expression based C# constructs (if/else, switch, etc.)

2. OO-heavy core types, like List<T>, Dictionary<K,V>, etc.

3. Whenever I brought in 3rd party libraries that 'did functional', they wouldn't work with my Option type in csharp-monad, or any of my functional types - and they never could because there's no baseline for functional (other than LINQ) in C#.

4. The lack of more expressive LINQ grammar makes it less useful and sometimes more cumbersome than Haskell's 'do' notation or F#'s computation expressions.

1-3 cries out for an equivalent of a BCL for functional constructs. I was under no illusion how big a job that would be, but I could see real value in it: a unified set of types for Option, Either, Try as well as collections Lst, Map, etc.

    "A functional prelude for C#"  
And once I saw that C# 6 allowed 'using static' I saw that as an opportunity to really create a 'functional BCL' that actually looks like a functional language. A chance to take C# in a more Scala-like direction (which if you think about it, is where it's going, it just doesn't have the libraries to support it). So that's when language-ext [2] was born.

Item 4 was more problematic. I couldn't create more LINQ grammar. So I started thinking about it in a different way. Mostly I wanted to create expression oriented code. It was just safer. But with C# OO you always hit that expression boundary. So I thought about how I could control the boundary. Some of that was to build 'matching' constructs into the core types, but that wouldn't deal with all boundary issues. That's where the actor system comes in (LanguageExt.Process [3] ). I'd looked at Akka.net and its very Java-like API horrified me - it looked like C# 1.0. So I took the idea that a LanguageExt Process (an actor) is a fold over a stream. That suddenly created a very powerful idea that I could create packets of pure computation and wrap them with their state, and each message would evolve that state. In one fell swoop it created a better and more controlled OO that can interact with pure functions - and all fully integrated with the functional BCL I'd developed. It also allowed us to start breaking up our monolithic app in a much more controlled way.

So yeah, that's the back story! Sorry if it turned into War & Peace.

Btw, I am in the market for two developers at the moment. So if none of what you just read horrified you, please drop me an email with your CV to plouth AT gmail :)

[1] https://github.com/louthy/csharp-monad

[2] https://github.com/louthy/language-ext

[3] https://github.com/louthy/language-ext/blob/master/LanguageE...


TBH, I've been using VS2013 since release day, and I can count on 1 hand the amount of times it has crashed on me when running natively on a workhorse computer.

I had tons of problems with it when I was running it in a VM on a MacBook Pro though...


Hi Louthy, I've forwarded your comments regarding DNX and TFS to the team. Can you ping us at VScteam@micosoft.com? We'd like to chat more. Thanks.


> This will have to be very good to be better than Visual Studio on Windows.

Having worked with VS for many years, things not so glorious in my opinion. The main criticism is an increasing lack of stability and error prone refactoring. I've basically given up on automatic renaming with VS2015. The IDE crashes more often as it should, especially during debugging.

Furthermore the solution/project-file concept (instead of using just folders to organize projects) is ancient and a real PITA when working in a team repository. I understand that this will hopefully be better in the future with .NET Core.

Another thing are licensing issues, which is really a uprising problem at MS (this is also the case for other MS products). You're not allowed to open your IDE when the license - falsely - expired.

I really enjoy working in VS code nowadays, which seems to be the more future oriented product.

Don't get me wrong, VS is still a solid IDE, but not as stellar as often claimed in my opinion. As others already said, competition is a good thing.


Hi mantenpanther, We appreciate the feedback. Can you contact us at VScteam@microsoft.com? We would like to chat with you regarding your concerns. Thanks.


We are part of the Visual Studio Licensing team. We're sorry to hear about the issues you've had. We understand that some customers have hit issues like this and have improved it in Update 1. For example, a single sign in to VS will now license the product for up to 1 year, making sign in failures resulting in an inability to use VS much less common. We are still listening to feedback. Please feel free to send some our way using the Send Feedback icon in the title bar.


> This will have to be very good to be better than Visual Studio on Windows.

You might as well be right: on OS X, Linux or *BSD however, it will be a completely different story due to the absence of Visual Studio.


Unless the user can run a Windows VM without too much pain. I currently do most of my development in Visual Studio, via a Parallels VM on my MBP and am very happy with this setup. And for those wondering, the performance is surprisingly fine. I rarely notice that I'm working inside of a VM.


Out of interest, what disc are you using? SSD? I use a 2012 MBP i7 which was top of the line and notice slowness on its abysmal 5200RPM hard disk, even worse in Parallels Windows 7.

At work I am using a Mac Pro 2008 with a WDC WD20EFRX-68AX9N0 in it (no idea of rotational rate, thanks Western Digital!!) and VMware is slow. Perhaps it is the antivirus I am forced to run inside Windows in a VM but it isn't snappy.


SSD. I got my first laptop with an SSD back in about 2007 and it's one of those things I haven't been able to live without since. This MBP is a 2014 model.


Who forces the antivirus?


Probably the same corporate IT department that still hasn't added SSDs as a requirement in the procurement process.


Lmao 5200rpm drive. Yeah that's clearly Windows/Parallels' fault.

Developers not using SSDs is like a race car driver using an Impala off the car lot for a race.


Ah yes I wasn't saying that it was Parallels fault, other than there is clearly a lot of hardware out there (including "top of the line" Macs from a few years ago) that have this hardware. If I switch to an SSD, yes the problem would go away.

BUT! we should not be quick to ignore hardware like this and suggest to upgrade as a solution. Since there is a lot of hardware in use with that spec, it is best to cater for it. You wouldn't recommend someone went and used a fibre Internet connection when your mobile web page takes too long to download, would you? You'd fix your massive mobile web page.

I do get the feeling that OSX developers are all using SSD at Apple, because they obviously don't realise how unbearably slow the experience is with the 5200 RPM drive they sold me...


You're a developer, not an end user.

You use a slow machine for testing, not building.

This is like saying my fucking carpenter shouldn't use power saws.

Maybe you should have gotten a better machine then. If by a few years ago you mean 2010, then sure. We're 1/2 a decade past that now.


> Maybe you should have gotten a better machine then. If by a few years ago you mean 2010, then sure. We're 1/2 a decade past that now.

I disagree as a developer who does (personal) development on a 2010 laptop (1st gen Westmere, upgraded to SSD). My laptop is perfectly adequate for my development work (Android, Python). Besides, no ones should have to run Windows via hypervisor in a multi-platform world such as the one Microsoft is promising for C#, this is what makes beefy machines 'necessary'.


No one forces you to use MS products, a MS OS VM or C#.

So it's not 'necessary', it's a choice you're making.


Sometimes I am disappointed by responses on here as spittle appears to end up on my screen, instead of logical calm responses.

The bottleneck is indeed the hard disk but everything else about the machine is perfectly acceptable. Unless I need more cores in my CPU and all software has suddenly been rewritten to do everything in parallel and nobody does queue based operations now?


Tell this to my IT department that gave me a Macmini with SSD and not only insists on antivirus but also on File Vault. It takes a long time to boot and Xcode compiles are horribly slow. (Eventually I'll convince them, it just hasn't been worth it to push too hard yet since 99% of my time is spent in VS on the Windows box sitting next to it.)

(FWIW, I prefer VS to Xcode, despite preferring Mac to Windows. IntelliSense and editor tabs seem nicer to use than Xcode's UI, and Xcode with a Swift project only a little bigger than a toy demo hits periodic freezes. On my home iMac which does have an SSD.)


You should tell them and your managers. For every 1/2 day you sit watching the machine, they could be getting double the workload out of you.

As a consultant and contractor this is the first thing I point out. However, it's their money, not mine.


My managers can be somewhat closed-fisted and stingy. Blood from a stone is easier.


Completely agree. Also, the fact that Visual Studio Community edition is free, whereas Jetbrains is now on a SaaS model for their products means this is pretty much dead on Windows.


Yes, community edition is free, to those with fewer than five users or $1mm in gross revenue. Those of us with more than that still have to pay, and I would much rather throw money at JetBrains than have to split it between MS and JetBrains.


While it is indeed free, it comes with online activation and needs to be tied to a Live account (or whatever it's called these days) after the first 30 days. This is a pretty stupid decision IMO, as I discovered a few weeks back on a non-internet-connected dev server.

And I say that as a longtime VS fan and advocate!

(Of course, I guess JetBrains products would suffer exactly the same problem now with the new SaaS model - I just needed a rant about this particular issue.)


Visual Studio Code is not an IDE, and never will be.

It's a bit of a silly name in my opinion.

I don't think that MS have any plans to add debugging, or build tools into VS code.



You can already debug Node.js applications in Visual Studio Code so they may provide DNX debugging eventually.


I think you can on OSX/Linux. It's not on Windows. If I had to guess, it's because VS Community exists.


I was debugging a Node app on Windows with VSCode about 20 minutes ago.


You can debug a Node application, my comment was with regards to a C# application.


You can already debug C# programs on OSX and Linux, I've done it myself. You can't debug ASP.NET apps yet but it's in the pipeline apparently.


I thought the new version of asp.net wasn't going to need compiling?

For production there's a new command line tool to compile it.


Agree with this. VS is itself written in C++, and I'm not sure if a java based ide is ever going to as performant on windows


I think the IDE is written in WPF using PRISM and MEF


Are you referring to backend services or the whole IDE? Because the GUI is written in WPF.


I'm unreasonably excited by this news. ReSharper is already an amazing tool and I'm sure JetBrains can do so much more with complete control over the whole IDE than with a plugin.

I've not been very impressed with Visual Studio 2015 so far. I particularly don't like being forced to sign in to what should be an offline piece of software. Also, be careful installing it on an existing system as it will mess up your settings. I'm sticking with VS 12/13 and ReSharper for now but if Rider looks good then I could be tempted to switch.

Android Studio is great and switching from Eclipse to IntelliJ was a good move by Google. Being able to do cross-platform development with .NET on a first class IDE is an alluring proposition. I doubt VS will ever be ported to Mac or Linux despite CoreCLR as it relies heavily on WPF which is tied to the Windows graphics system.

I assume Project Rider is just a code name. I wonder what the final product will be called. IntelliSharp?


    >I particularly don't like being forced to sign in to what should be an offline piece of software.
With JetBrains moving to a subscription model for their software won't you end up with the same problem?


I hope this isn't the case. The last time I purchased ReSharper it was a one off payment. IIRC you got a year of upgrades included but if you wanted the newer versions after that then you needed to keep paying a subscription renewal fee. However, it wouldn't stop working after that time. You still kept what you paid for.

I just had a quick glance at the ReSharper page [0] and it appears that they still use the same model. They also offer monthly subscriptions but say that "12 months of uninterrupted subscription payments qualify you for receiving a perpetual fallback license.". BTW the cookie law notice on that page is one of the best I've seen :).

I've used pretty much every version of Visual Studio and 2015 is the first to have issues with licensing. I originally signed in with my MSDN account to activate it (fair enough) and then signed out. Now it tells me that my license has "gone stale" and I can't use it until I sign in again. There is an option to enter a product key but MSDN tells me:

    A product key is not offered with this edition of Visual Studio. 
    To unlock the product, you must sign in using the login associated 
    with your active Visual Studio subscription. By signing in, your 
    IDE settings will sync across devices, and you can connect to 
    online developer services.
My old versions of VS are still licensed with a key and work fine. It makes me worry whether I will still be able to use VS 2015 when my subscription expires. Maybe it's worth exploring the free community versions. I believe that they no longer have the limitations on plugins that they use to have. I don't mind paying for things but the time and cognitive overhead dwarfs the financial cost.

[0] https://www.jetbrains.com/resharper/buy


Huh, I thought you could use a product key with all versions. Learn something every day I guess. I personally sign in, but I've seen the option.


Only if you purchase a monthly subscription. If you buy a one year license, you get a perpetual license and you don't have to sign in when. The monthly based subscription require logging in every 30 days or so, but you can also key in the licensing offline with out signing in.


The same is true of Visual Studio you can apply a license in VS. I just did it in VS 2015. No sign in required.


I've got MSDN, can I do this? Necessitating the signin really pissed me off.



Have you tried this?

https://code.visualstudio.com/


That's an editor, not an IDE. It's basically Atom, with some specialized plugins.


It is built on Electron Shell, but vscode is a lot more than a preselected set of plugins for Atom. Most of vscode was written from scratch in TypeScript or assembled from existing (non-Atom) parts. The editors don't really share code.


+1 vscode is just using Electron Shell, not entire Atom. vscode is a well executed project. During initial testing vscode seemed much more responsive than Atom to me.


Yeah, VSCode definitely seems more responsive. I tried giving Atom a try 2-3 times now, but it always seemed "laggy" for lack of a better word.


I can crash Atom pretty consistency, especially with semi large projects. VS Code I haven't managed to crash at all.


What is the difference between an IDE and an editor? When this supports C++, be prepared for Visual Studio to disappear.

Also, it's based on Electron but doesn't have anything to do with Atom.


An Integrated Development Environment as the name suggests integrates all of the tools in a developer's environment: editor, compiler, debugger, source control, servers. An editor is just one part of that.


vscode is intended to be a compiler/debugger/etc. It can already debug node/mono apps. Checkout dnx, .NET Core, and Roslyn. Soon, Visual Studio will not be needed for pure c# applications, except traditional MSBuild/csprojs and C++.


Hi jsingleton, just saw this post on your concerns about Visual Studio 2015. The VS team is investigating and would like to chat more with you. Can you ping us at VScteam@microsoft.com? Thanks.


JetBrains products are very powerful, well designed, customizable, and overall awesome in my experience (ReSharper and PyCharm). Looking forward to this! And really hoping they will have a free edition, although I doubt it.


CLion isn't all that great. It still has major issues analyzing a lot of C++ code (false positive red squiggly lines everywhere), almost 1.5 years after the initial annoncement.

Although C# should be a much easier language to deal with, so this one might turn out better.


ReSharper C++ (why they didn't call it RePlusPlus I'll never know) is also sorely lacking in basic functionality. Compared to opening a C# project with R#, opening a C++ project with R#++ and none of the refactoring keyboard shortcuts work ... Visual Studio just feels dead.

(I love my ReSharper Ultimate license, and R#++ helps to fill in a lot of Visual Studio's blanks as far as C++ goes, but really it needs to spend another six months incubating.)


You should try Visual Assist (http://wholetomato.com/) in case you haven't heard of it.


I'm pretty happy with ReSharper++'s functionality (although refactoring beyond rename seems really unreliable); but the performance is abysmal. I don't know how many hours I've spent watching the "ReSharper is thinking..." popup because I edited a resource file or something. If the next release doesn't improve things dramatically I'm going back to visual assist.


It seems like they've made the classic mistake with C++ parsers of reinventing the wheel. I have never used an IDE which is capable of correctly parsing all the C++ code I've used.

The notable exception is anything based on clang, which is usually flawless (as you would expect). If CLion had been based on clang then they would have saved themselves a lot of work and ended up with a better performing product. Presumably the reason they didn't had something to do with licensing.


I'd bet the main problem is that they don't use C++ much themselves internally. Trying to develop software that you don't use in anger yourself is usually a recipe for bugs and missed requirements.


> I'd bet the main problem is that they don't use C++ much themselves internally

I doubt they use all the languages their IDEs support internally - there's just too many! (Java, PHP, Javascript, Python, C/C++, Ruby, Obj-C). The problems are probably because CLion is one of their least mature products.


I think it's a combination of C# being much easier to parse and Resharper being a mature product.


They already analyze C# well because of their other product (Resharper).


Are there better IDE options out there for C++ than CLion? I agree that it's far from perfect, but it's still a lot more effective and helpful than my other alternative, vim.


I bought PyCharm when it was on sale (two years back?) and ended up not using it as it was too slow. So... while powerful, they are not always the best solution.


Finally, a proper C# IDE on not-Windows. I've been working with ASP.NET 5 on Linux for the last year and Sublime, Atom, VSCode, etc. are all painful. Sublime is surely dead, and anything based on Electron kills my 2-core CPU and my battery. I was in the talk here at NDC London where they demo'd Rider, and I can confirm that it is very fast and he showed the Mac process view and it was barely hitting the CPU, even with a JVM and a Mono VM running. And when it's all running on .NET Core it should be even faster.

Great days.


MonoDevelop is cross platform and decent.

"And when it's all running on .NET Core it should be even faster." The IDE is written in Java and obviously runs on the JVM.


As I said in the comment you were commenting on, there is a JVM and a Mono VM. The IDE is running as two processes, one on the JVM (running the IntelliJ shell) and one on, currently, a Mono VM (running the ReSharper engine). They use IPC with a custom protocol to send UI events and ViewModel updates between the processes.


Frontend is in Java (and Kotlin), indeed, as it's a part of the IntelliJ platform. However, the backend that actually provides IDE features for C# is written in .NET. The backend is actually the same ReSharper logic that runs in Visual Studio but in headless mode.


Wondering how much code in Intellij Ultimate is already written in Kotlin. Parts of Kotlin Code in Intellij Community Edition is still kinda low:

https://github.com/JetBrains/intellij-community/search?l=kot...


MonoDevelop is far from decent IMO. See my other comment for detailed complaints.


The UI is in the JVM, the back end is hosted on Mono when on non-windows platforms at the moment.


Ever since I started reading the C# language docs I wanted to switch to it from Java. Open sourcing some of the components of the language only pushed that drive farther.

I'm glad to see that now a switch to C# is viable for me. I need a good IDE, and nothing really comes close to the 'gold' standard, JetBrains products.

Bravo! Can't wait to use it.


Visual Studio is one of the best IDE out there, and it is likely to remain better than Rider for at least a while.

It surely "comes close" ;)


VS is nice and powerful, but ironically it needs Resharper to match a JetBrains IDE like IntelliJ for autocompletion/tooltips/navigation, which is severly lacking in Visual Studio. That's one objection. The other problem with Visual Studio is that it's a beast. It takes multiple gigs of drive space (which of course suddenly became a problem when everyone's disks shrunk from 1TB to 128GB over night a couple of years ago, at the same time VS grew to around 15GB...). This is being worked on, but it will be a few more versions until the installer is good, and it will never be as small as an IDE that isn't carrying years of Windows legacy stuff. In short: VS is one of the best IDE's out there, but it would be a lot better (At C#) if it contained ReSharper's features and weighed in at 1/10 of its size. And that is exactly what this looks like.


I've never used Resharper but Visual Studio's Intellisense is incredibly powerful. What's lacking in its autocomplete support?


I'm not the same guy, but what I've found:

- No substring completion (e.g., like emacs's ido-mode), no fuzzy completion (e.g., like various JS-based editors), no acronym completion (e.g., like emacs)

- Navigation bar searches are shit. You have to select namespace, then class, then symbol, and there seems to be no keyboard shortcut for any of this stuff. It should present a list of entities in the file, display fully-qualified name of each, and let one search that list using the search mechanisms

- Class view searches aren't great. They solve many of the above two problems (the full list of entity names is searched, and it finds by substring), but the results don't update in real time

- Very hard to find files. Say you have a massive project with loads of solution folders and you need to find that file that's got the name "ProductScreen" in it - well, good luck! There's something I've seen some people do with the toolbar-based Find in Files widget, but that only searches by prefix, which is useless, because so many projects have a mandatory prefix on their file names

When I was a regular Visual Studio user - less Windows work of late means I've mostly been using emacs - I used to use Visual Assist (http://www.wholetomato.com/), an addin that improves the above functionality a bit. Visual Assist's code completion is a bit intrusive, but it does the acronym completion thing; for navigation, its navigation bar replacement lets you search fully-qualified names by substrings, its class view-style functionality updates the symbol list (searched by substring) in real time, and you have something similar for finding files as well.

All of this stuff is great for finding your way quickly around an unfamiliar project - i.e., any project with more than 15 programmers, even after you've been working on it for 2 years. And even when you know exactly what you want, at least you don't have to keep typing in that stupid project-specific prefix everywhere.

(I'm happy for the Visual Assist people that MS hasn't just copied their functionality exactly and totally put them out of business in one go, but it does make me a bit mistrustful of the Visual Studio UI team's judgement.)


This was the point I was making below, but it seems like all of the features I look for are already in Visual Studio.

I'm not sure if I'm understanding all of your items exactly, but I just tried to do everything on your list. It seemed like each (except for acronym completion) was available right out of the box (I am using VS2013).

For example, both the class view search and find files are handled by searching solution explorer. It updates in real time and the keyboard shortcut is Ctrl + ;


ctrl-comma, ctrl-comma, CTRL-COMMA!

It does all the searching you want for filenames and symbols, substring searches, matching, you name it. It's fantastic, and they should highlight it way, way more.

As for your file finding problem, I don't know why you didn't start typing in the search field on top of the solution explorer. It filters everything in the solution explorer, and also does substring matching.


Thanks, interesting. These both look helpful. Wonder if I've missed anything else important.


All but the first bullet point deal with something other than autocomplete, and (as another user mentioned) CTRL+, takes care of many of your other points.


The original point was about the whole thing, so I thought I'd sort of reply to both ;)


Hi to3m, Thanks for your suggestions! We have forwarded them to our Visual Studio team. FYI, your suggestions are always welcome at visual studio.uservoice.com


I like Resharper a lot, but I do found that a lot of the features I use in Resharper are baked right into VS. For example, in Resharper Ctrl + T navigates to a symbol by name. That is Ctrl + , in VS.

The code analysis/improvements/suggestions is definitely great though, at least for a while.


I haven't used a "naked" VS for a few versions, how long has it had proper giro type/file/symbol navigation?


2010 (improved in 2013) according to this blog post. https://blogs.msdn.microsoft.com/mvpawardprogram/2013/10/22/...


On the other hand, the debugging tools are great!


I dev on C# full time and also use Eclipse for java, and while vs is more professional-looking and featureful, the darn thing feels disgustingly single-threaded. The amount of ways to cause a stop-the-world lock-up is impressive.

Vs2015 somewhat improved on its predecessors on this front, but it still has plenty of ways where it drags.


If you launch Visual Studio with `devenv.exe /safemode` which "prevents all third-party VSPackages from loading when Visual Studio starts" [1] you will find Visual Studio runs extremely quickly. It's stuff like ReSharper that slows it down.

[1] https://msdn.microsoft.com/en-us/library/ms241278.aspx


Actually, the most monstrous pig in Visual Studio for me is SSDT (Microsoft's SQL-code development environment within VS). That's a bit offtopic since it's for SQL development and not C#, and they made a little bit of improvement in 2015, but still: it's a pathetic monster.

In general, anything that tries to pop-open a GUI and just drags makes me roll my eyes. EDMX files, I'm looking in your direction.


SSDT is insanely slow rebuilding our database model in the 'background'. And it's clearly tripping over itself somewhere because system CPU and IO is typically near zero while these rebuilds are running. Very annoying.


VS2015 improved SSDT builds, I think. Build times were cut in half, but memory usage skyrocketed. I'm supporting a legacy system that used to be north of an hour to build under SSDT. Now it seems closer to 20 minutes, if it doesn't get "Out of Memory".

I do think it maxes out 1 CPU, it's just single-threaded.


This is not necessarily true, especially with VS2015 RTM (Update 1 is a bit better): https://twitter.com/hmemcpy/status/687257223081377792


> This is not necessarily true

Can you please clarify which part? The linked tweet talks about Roslyn. I'd expect that to be loaded because ... it's not third-party.


Yes Roslyn is first party and it naturally does load, and it's very memory-intensive. You can see it happening without any extensions installed.


Memory usage and performance are two things, though. ReSharper may not add much to the memory load, but the IDE still feels sluggish.


I think the reason most people don't notice this is because developers on average have better computer hardware. Anyone who uses a laptop for on-the-go development on the other hand gets hit with these problems front-on.

In college, I assumed everyone loved Visual Studios just because everyone was told to use it and there were, in reality, no other options. I hope that in the next few years, with the open sourcing of some Microsoft software, that we can see better IDEs for the ecosystem being created.


Any IDE that wants to challenge VS has an uphill battle in what concerns:

- GUI editors

- Parallel code debugging

- GPU debugging

- Enterprise code navigation

- Edit-and-continue

- Debugging native code generated for .NET applications

- Mixed language debugging

- GUI Profiler

- Code Profiler

Just a few items on the top of my head.


I made a raytracer the other day (A necessary rite of passage for any developer) and happened to add a Wavefront (.obj) 3D mesh file file to my solution. Then clicked it. VS just shat out what was essentially a mesh viewer with some pretty advanced capabilities. No wonder it's huge :D


And all that stuff would be fine if opening up the file didn't lock up the whole IDE. Lock the tab with a loading anim and let the developer work elsewhere.


Don't forget the image editor.


I don't agree. If an IDE takes better hardware to run than Crysis and is so bloated with features that it makes a Epson HX-20 look like a Macbook Air there is a problem.

People use Visual Studios because they are used to it.


I use it because i love it and i have not found a better alternative.


The problem isn't feature bloat (lots of people need feature X, some others need feature Y). The problem is that you can't properly uncheck/select features you don't want yet in the instealler, so you end up with a lot of stuff you don't need.

For performance: If you ask me what is more expensive computationally: Crysis or an IDE; I say an IDE can at least as performance hungry. Nothing strange with that. Try writing code to perform syntax check and autocompletion on broken/incomplete syntax, for a few thousand files, then you'll see what I mean.

I'm very happy to use a monster gaming machine for coding (professionally) if it increases my productivity even just a little.


>I'm very happy to use a monster gaming machine for coding (professionally) if it increases my productivity even just a little.

I don't feel that is an appropriate reaction. Just because software is poorly optimized does not mean we should subject ourselves it.

For instance, eclipse does similar (in my opinion better) auto-completion than Visual Studios and it does not take the same resources, by a long shot.


> just because software is poorly optimized does not mean we should subject ourselves it.

Sure, I'd use an IDE that does what I need but does it faster than VS, in a heartbeat. Obviously. Also, a lot is happening and very few are working professionally in several environments, so compare what they do every day, with what they do occasionally or maybe a long time ago. When I say I think Eclipse is a dog, that probably because the last Eclipse I used was Ganymede (2008) on java 1.5, hitting "run" and getting coffee before my jboss monster had started. I suppose a lot has happened there too.

Most IDE's have much better navigation and autocomplete than VS does out of the box. When I say "VS" I really mean "VS+Resharper" as VS more or less useless without ReSharper. With ReSharper however, it's definitely one of the best IDE's there is, and almost surely the best one for C#, at least until this comes out.


I couldn't disagree more, VisualStudio is a glorified text editor - there is absolutely no reason for its monumental system requirements. Microsoft have completely forgotten about the core functionality of the product - programmers writing code. Instead they've bloated the thing down with many, many 'features' which only detract from that core functionality.

If you look at something like Atom with the Omnisharp plugin, it achieves everything I need from VisualStudio with a tiny fraction of the resources. Then again, if you're one of these programmers who write more code by dragging & dropping around a UI than actually typing (Microsoft has created a whole generation of these coders), then you probably need a lot of the VisualStudio bloat.


As said elsewhere in this thread, every feature you describe as "bloat" doesn't actually run until you tell it to. The features that make Visual Studio feel slow are things like IntelliSense, which is pretty goddamn core to the actual writing of code, not the fact that there's a visual designer for a few things. And code analysis is--wait for it--a pretty hard problem that perturbs a lot of electrons to do correctly, regardless of language or what particular program is kicking it off.

"But bloat!" is never an argument. Point to what it actually does to harm your experience if you want to formulate an argument; "it exists" is a nonsensical kvetch.


I could not have said it better myself.


> The problem is that you can't properly uncheck/select features you don't want yet in the instealler, so you end up with a lot of stuff you don't need.

Isn't that functionally the same as being bloated?


It is in a way yes. However a of the bloat I feel is mainly hard drive bloat in the sense that not only do I not use it, It's never even loaded or visible in the application.

So it's different from "feature bloat" in the regular sense, that is just tons of buttons for things you don't use.


Last time I used VS, I was surprised by the lack of some pretty basic features, such as Ctrl+click navigation (there is a plugin for that though), or a quick way to show formatted function documentation in a popup.


To show the documentation you literally just hover over a symbol


That only shows the summary though, not the documentation for the function parameters and other parts of the doc comment.


Press F12 to go to the function/method/class/variable definition


Ahh idk then.. Mine shows the entire comment block above the symbol definition


Is shift+click just too hard?


Unless you've got some wacky key bindings, that selects text between the caret and the mouse cursor. F12 is the shortcut I've got. Alt+F12 for "Peek".


They might have meant Ctrl+Click


People praise IntelliJ it a lot, but my experience with Android Studio and its slowness always reminds me that its writen in java.

I have been developing with Monodevelop the last 4 years when I switched to mono/ubuntu and I don't see here nothing that it doesn't have already: cross platform, excellent refactoring support, multiple targets. Maybe its because of my particular use case but I even prefer it to Visual Studio.


My experience with MonoDevelop is not so good.

Basic refactorings, like rename, don't work correctly every time and had to literally discard the whole commit once after renaming to make sure I don't screw up the app logic.

Also, editor often has visual glitches where letters get corrupted and I have to reopen the file to get it back to normal. Not something I expect from such a long time maintained application.

And yes... F# support is useless for anything larger than few files of code.


> its slowness always reminds me that its writen in java.

It's a huge pain point of any Java app, and it certainly causes a headache for users, but have you checked and tweaked your maximum heap size? Typically when I get even a small project going in IntelliJ with a couple productivity plugins installed I'll start hitting GC churn because the default Xmx value is so low, setting it to 1GB makes a huge difference.


You are right. I run IntelliJ on top end MBP though it is mostly reasonable it never forgets to remind me that it is written in Java. In my past I have used far less capable machines and the less said about Java IDEs the better. I admit that very few developers complained about their Java based IDEs / GUIs where ever I worked. I guess It must be due to very low expectation from their tools.


I have had similar experience with Android Studio. I found very buggy and confusing since it constantly switches contexts and (seemingly) randomly re-shuffles the UI. (Building, debugging, running) I also found most of the pictograms thoroughly unhelpful. Nevertheless IntelliJ has a very good reputation so I suppose it is not the platform's fault.


Pictogram toolbars are an idiotic invention, but you can get rid of them easily. Android Studio is highly customizable.

It's not perfectly stable, but out of my experience (a bit dated now I admit) neither was Visual Studio. Eg. its infamous XAML designer is still haunting me in my dreams.

As far as bread and butter of an IDE goes, meaning navigation, refactoring etc. JetBrains' software, along with its derivatives (Android Studio is a fork), is superior to VS imho.

Then again it's a bit of apples vs. oranges here, VS is more heavy-weight and powerful, with its SQL integration and many many other features.


> and its slowness always reminds me that its writen in java

Not only Java, but Swing. Eclipse with SWT just feels so much faster than Swing. I don't understand why people praise the speed of IntelliJ vs Eclipse; it's not even in the same ballpark.


Not my experience at all. I find IDEA to be more responsive that Eclipse, both on Windows and Linux. Not by a whole lot, but noticeably so.

Even recent NetBeans releases are just as responsive, in my experience, as recent Eclipse versions.


Finally. It would be great if Unity3D add official plugin to this IDE. For now Consulo[1] is competent alternative (build by some cool dude using IntelliJ Community Edition).

1: https://github.com/consulo


I believe Unity3D is working on some sort of common way for any ide/debugger to be plugged in. With that and the deals they have with MS I don't see them adding support for another IDE.


I do all my Unity3D development on a Mac with VSCode[1] and it's really powerful. Includes step-debugging out-of-the box, and it's free.

[1]https://code.visualstudio.com/


A fully capable, crossplatform IDE for C# built in Java / running on the JDK. And since it is by JetBrains it probably will be the best C#-IDE available.

Ironic but great news.

:-)


The front end runs on the JVM. It interops with a C# executable in the backend, hoisted from ReSharper.


I've been a .NET dev for over 10 years now, finally there's an alternative to the huge, monolithic, incredibly bloated Visual Studio, which I've grown to hate with a passion.

There have been contenders over the years, monodevelop, sharpdevelop, most recently the OmniSharp plugin with atom.io. This is the first time I can realistically see myself being free from VisualStudio in a professional context.


Can you be more specific about what you hate?

I've been a .NET dev for over 10 years as well, and for all it's faults, VS is one of the best dev environments I've ever worked in.


It's the incredible bloat of the thing. It's weighed down so much by features that I do not want or need. I don't want SQL Server express & all the associated bloat that comes with that. I don't want IIS express and all the associated bloat that comes with that. I don't want freaking Entity Framework and its associated GUI designers. I don't want bloody "Blend for Visual Studio", I thought that crap was dead. I don't want TFS explorer - TFS is crap and everyone knows it, including Microsoft. I don't need a WPF designer UI, I don't need a WinForms designer UI. I certainly don't need a WebForms designer UI (shudder). All I want is a text editor that lets me write & debug code.


I could be wrong about this, as it's been a while, but I don't think you even have to install SQL Server Express or IIS Express in VS2015. I know you don't have to install Blend.

But, more to the point: how, aside from disk space, does any of that stuff affect you? It's not like it's persistently running. Don't use it, remove it from your toolbars, whatever--you don't have to see it, let alone use it. (It's for this reason that "bloat! bloat! bloat!" always rings so hollow.)


Altho I don't share your issues with all the 'bloating' stuff ( as others mentioned most of them can be avoided ) , I have a growing concern for the performance of VS while working with a bigger codebase (120+ projects) . It gets really really slow and full of loading screens which literally block you from doing anything. In fact you can sit there and wait 5+ minutes sometimes just to have the IDE let you do anything. Not to mention the infinite amount of times I've had Visual Studio close while I'm writing and it leaves my code in an unknown state. Oh yeah, not to forget the debugger exception which causes your debugger simply to detach even after you've spent around 5 minutes to get to the precise location of the program. Whoa, turns out I have quite a bit of hatred stored in me too! :D (VS2015)


Hey interdrift, Can you ping us at VScteam@microsoft.com? We would like to chat with you more on your findings. Thanks


I would have to ask why you have 120+ projects. That's likely your problem; you're doing far too much within one solution.


120 is not that high. If you have fine-granular modules for re-use across multiple product lines, you need lots of projects. Yes, one can create several solutions for each line, but many times one needs to load all the projects especially feature teams that touch a little-bit everywhere.


VS2015 starts up in ~1 second for me even with all the options installed. If I open a solution with 10 C# projects in it, it takes about 3 seconds.

So is your complaint basically that it's just taking up too much hard drive space? I can't see how the other stuff (TFS Explorer Winforms/WPF designers) could possibly be getting in your way, especially since you don't ever have to open them.


So then when you were installing Visual Studio did you do the "recommended" installation or did you customize?

Even with customization its a bit bloated, but you can totally avoid a SQL Server Express installation.


Microsoft has the IDE for you already: Visual Studio Code.


Which is 99% atom.io


Not really. It uses the same shell, but the text editor part is completely different (and from what I've heard, much faster, especially on large files).


What? Not even close. That's a ridiculous statement.

They both use electron, but Microsoft is baaarely using it for some UI pieces. That's really the only similarity between them.


Not really actually. It uses the same shell called Electron as the native host. But other than that, completely different implementation.


Have you tried Code?

https://code.visualstudio.com/


Nice to finally have some alternatives in the same "heavy weight" C# IDE category.

Very curious about some aspects:

How do they deal with Nuget, do they have a powershell (Pash) console integrated?

Do they plan to integrate Roslyn ("code fixes" for exemple, there would be some overlapping in functionnaly with their code but roslyn will probably become the "standard" to share these things)?


No, they don't plan to integrate Roslyn and they tend to get a bit cross when people ask. They've been working on their C# code intelligence engine for 10 years in ReSharper, and it does stuff way beyond what Roslyn provides at present. I love Roslyn, and I'm using it for code analysis stuff, but it's not a contender for R# yet.


As a Xamarin developer, I'm really hoping that this plays well with Xamarin and thus liberates me from having to deal with the buggy and invasive Windows 10. I'd much prefer to be on Mac but once you're used to Visual Studio, Xamarin Studio is really a bitter pill to swallow.

Can't wait!


What is bad abotu Xamarin Studio?


It's gotten better (especially recently), but Xamarin Studio tends to be pretty buggy-- I've seen basic project management tasks (like adding/moving files) crash the IDE; I've had syntax highlighting just stop working for files that compile fine; UI editors are slow, don't match the feature sets of the equivalent native editors, and occasionally break backwards compatibility with themselves (seriously; had the iOS UI editor wipe out some of its own generated code and break my build a couple weeks ago). Again, it's nowhere near as bad as it was about a year ago, but it's still the weak point of Xamarin's toolset (which is, otherwise, pretty great, at least for what we're doing with it).


Funny I just written something to the C# IDE issue yesterday. And today they announced the IDE.

God I'm happy. I'm using IntelliJ with Scala, Java, Python and sometimes golang. I'm waiting for IntelliJ Rust and for the C# IDE. Promising languages needs promising tooling. Currently this will help C# to spread around.


+1 for Rust. The Scala support was the big selling point for me with IntelliJ.


Does anyone here do C# work on a Mac outside of Unity? If so, what kind of project is it?


Mobile work with Xamarin here. Using Xamarin Studio. Still, it's nowhere close to the Windows experience with VS and the Xamarin tools there.


I can definitely relate to your experience. I've been a C# developer on VS/Windows then moved to Xamarin/iOS dev on a Mac and it was ok but not terrific.


I use Xamarin for Mac to write tests for a database client API, which I run with Mono for Linux using Jenkins.

Not having used Visual Studio enough to compare thoroughly, Xamarin's not bad. I use Eclipse when writing a parallel set of tests for Java, and I generally prefer Xamarin to Eclipse.

One minor complaint is that Xamarin quietly increased the system requirements from OS X 10.9 to 10.0, so I'm stuck with an old version.

The idea of using a C# IDE written in Java seems a bit weird, but I might give it a shot. I'd also consider hooking up Emacs to OmniSharp.


I think at least some devs use Xamarin on Mac. I used it, but Xamarin Studio kinda sucks for me. Debugging tools seem pretty crappy compared to Xcode. Not sure if it's the tool or the language that's the problem.


I wonder how this compares to "Visual Studio Code" which is also cross-platform and MIT licensed: https://code.visualstudio.com/


I wonder how is it that people don't know about this fantastic IDE and are talking about Project Rider as if it's the first non-windows C# IDE.


Because Visual Studio Code is more of a code/text editor than it is an IDE. It doesn't compare to regular VS with R#.


This is exciting news. Ironically, it's almost unfathomable to imagine writing C# code in Visual Studios without having ReSharper installed. Glad to see ReSharper finally available cross platform!


I'm always shocked to see this. In my experience ReSharper is an unusable hog. It absolutely destroys VS performance, and the UX is abysmal. This only got worse in VS2015.

I keep giving ReSharper chances because of all the praise I see, and I always leave disappointed. I'm starting to suspect JetBrains is hitting these threads singing their own praises :).

That said, I do love some of their other products like dotTrace, dotMemory, etc.


The only time ReSharper slows down your system is when you load your project for the first time. But I'm more than happy to wait for an second (we have ~100 projects in our solution) so I can harness all the greatness that comes with it. If you're not finding it useful, perhaps you're not taking advantages of the right features? Here's some of my favorite shortcuts, I'll let you try them on your own.

- ctrl+shift+l

- ctrl+\

- ctrl+r+r

- ctrl+shift+t

- alt+insert


Many people have asserted this, but it's not true. As long as ReSharper is active it does have a performance impact. The impact varies depending on the current action, and yes opening a new project does have the largest impact.

Honestly, I'm done giving ReSharper chances. Of all the times I've tried it, I've yet to encounter any feature that justifies the wet blanket thrown over the IDE. I've tried on large projects and small projects, across multiple computers. I've followed JetBrains' recommendations for improving performance. The performance impact is noticeable, and the UX drives me nuts.

Like I said, I like some other products from JetBrains, but ReSharper just isn't for me. If it works for you, and the impact is negligible enough to not matter, thats great.


Hi Isadam0, We appreciate the feedback. Can you contact me at mdick@microsoft.com? I would like to follow up with you regarding your concerns with ReSharper. Thanks.


What? Resharper is barely useful in Visual Studio 2015, and the memory leak/lag/slowness/issues are tiresome. If I hadn't spent so much on Resharper I'd uninstall it.


Hi UnoriginalGuy, We appreciate the feedback. Can you contact me at mdick@microsoft.com? I would like to follow up with you regarding your concerns with ReSharper. Thanks.


You're kidding right? R# has lots of benefits to VS2015.


Works well for me


I have 16GB of RAM on my work machine and if I leave two instances of Visual Studio running the machine saturates after half a day.

Plus even they admit to the slowness[0]. But regardless I bet a certain core demographic of Resharper users are never going to admit to a problems (slowness/lag/slow startup/RAM usage/memory leaks).

[0] https://confluence.jetbrains.com/pages/viewpage.action?pageI...


If this new IDE (which uses the same Resharper codebase) ends up being a lot faster than VS then we'll know where the bottleneck is.


Well an IDE with less features is going to be faster than VS, that isn't a question. Just see Sublime Text, insanely fast until you start adding extensions and it gradually gets slower and slower.

But Resharper is an absolute hog. For as slow as Visual Studio can be, it quadruples it in all categories. Just look in this thread, you can see dozens of people saying the same thing: Resharper has massive performance problems.


> Well an IDE with less features is going to be faster than VS, that isn't a question. Just see Sublime Text, insanely fast until you start adding extensions and it gradually gets slower and slower.

In principle, only a small proportion of features need to be actively consuming cycles. Most require no resources until invoked by the user.

Only a small proportion of those features are actively involved with drawing and so need to block the UI thread sometimes.

And only a small proportion of those features perform some essential drawing operation and so need to block the UI thread every frame.

So while a badly designed IDE with fewer features will outperform a badly designed IDE with many features, both will be trounced by a well-designed IDE with many features. It's the design that matters.


In my experience, no other VS extension even begins to affect performance to the degree ReSharper does. JetBrains readily acknowledges the performance issues. Is there a conflict of design between VS and ReSharper? Perhaps. But that their homegrown IDE build around ReSharper will work faster than VS + ReSharper is a pretty safe bet. Apples and oranges, here.


He is right to a degree, VS2015 implemented many refactoring tweaks and functions that were only available in ReSharper.

Now VS2015 can refactor and inspect code by itself pretty darn good.


I love the features of Resharper, and every release I hope they solve the "large project" performance problems, but time after time Resharper crashes my IDE or makes intellisence unresponsive.

Maybe it's due to the visual studio plugin environment? I suppose trying Rider out will show....


I have been using R# on a large (10k types, 100 projs) project for many years without feeling any performance problems unless the files are thousands of lines. I don't use the "full solution analysis" though. Unresponsiveness is common for example when reloading projs after fetching new code from version control, but I never attributed that to R#

Should add that this is a vanilla C# sln, there is no C++, no web projs etc. Just C#. That could matter.


Just because it seems some people aren't aware, Code from Microsoft is also a pretty cool C# IDE. It's arguably way better than Visual Studio in a lot of ways:

https://code.visualstudio.com/


Yay! I've been waiting for this for years. And if they would make an F# IDE, that would be heaven.


I guess this makes sense as a strategic move. Microsoft have beefed up VS 2015 with "Roslyn technology", which makes Resharper more of a commodity (albeit in a class of its own). This move levels the field a bit by opening up other flanks.


Is there any point to Visual Studio Code (not visual studio proper) once this goes live?


VS Code is free and open source, so I'd say yes.


This is really awesome news. I've been looking to write C# on Mac and none of the existing solutions is satisfying enough. Hopefully "Rider" will be the best companion for .NET on platforms other than Windows.


great timing.

I feel like regular windows VS has been bogged down with so many features + ReSharper that it's getting to be a challenge to keep it responsive. I've already disabled a lot of nice features and extensions to be able to type quickly. It's the worst feeling when intellisence freezes typing in c# for sub second or re-writes correctly written javascript or keep hanging when doing any sort of web code. I am hoping this will be a hybrid of light weight editor such as VS Code with heavier refactoring features of ReSharper therefore powerful yet very responsive. Can't wait to try it out


It is a pitty they do not have a Dlang IDE, an deprecate C++ options.


Is there an EAP available?


> We’re aiming to open a private EAP in the coming weeks, towards the end of February. We’ll announce the signup form here on the blog, as well as on Twitter.


And thus SharpDevelop was killed (if it was ever much alive...)


Any chance of a Rust IDE in the future? crosses fingers


A full Go ide would have been better in my experience.


2 jetbrains devs work full time on a Go plugin for Intellij: https://github.com/go-lang-plugin-org/go-lang-idea-plugin


Cool, This is what I am talking about, This could end up very well. But they should put "Official" tag on it. Good job Jetbrain.


I switch between Emacs and IntelliJ's Go plugin for working on Terraform - the Go plugin is very complete, and as far as I'm aware the only working visual debugger for Go.


Check out LiteIDE, it's got visual debugging support as well.


Genuinely curious... what would you like to see in a Go IDE that isn't provided for free by IntelliJ Community Edition and the Go plugin today?


Official support ?


You should also consider vim (w. the vim-go plugin) if you're on Unix.

It's well-written, and along with several other vim plugins and a decent configuration, it's miles ahead of any IDE (except emacs, not starting an editor war here).

Read here, http://farazdagi.com/blog/2015/vim-as-golang-ide/


I have found that vim-go is effectively unusable if you are editing files over a few hundred lines long or on large projects. The time between :w and regaining control of the editor is just too long. Much of this is probably due to the execution time of the compiler for Syntactic checking, and has extended significantly in Go 1.5.

Colleagues tell me that neovim alleviates some of this, but during the time before that was stable I switched to emacs (specifically Spacemacs) with evil mode instead.


Are there any clauses in the Roslyn license that prevents third parties for using it for writing code that directly competes with Microsofts own products such as Visual Studio?


Roslyn is released under the Apache license - https://github.com/dotnet/roslyn/blob/master/License.txt


they have their own compiler. See: https://blog.jetbrains.com/dotnet/2014/04/10/resharper-and-r...

> Will ReSharper take advantage of Roslyn? The short answer to this tremendously popular question is, no, ReSharper will not use Roslyn. There are at least two major reasons behind this.

The first reason is the effort it would take, in terms of rewriting, testing and stabilizing. We’ve been developing and evolving ReSharper for 10 years, and we have a very successful platform for implementing our inspections and refactorings. In many ways, Roslyn is very similar to the model we already have for ReSharper: we build abstract syntax trees of the code and create a semantic model for type resolution which we use to implement the many inspections and refactorings. Replacing that much code would take an enormous amount of time, and risk destabilizing currently working code. We’d rather concentrate on the functionality we want to add or optimize, rather than spend the next release cycle reimplementing what we’ve already got working.

The second reason is architectural. Many things that ReSharper does cannot be supported with Roslyn, as they’re too dependent on concepts in our own code model. Examples of these features include Solution-Wide Error Analysis, code inspections requiring fast lookup of inheritors, and code inspections that require having the “big picture” such as finding unused public classes. In cases where Roslyn does provide suitable core APIs, they don’t provide the benefit of having years of optimization behind them: say, finding all derived types of a given type in Roslyn implies enumerating through all classes and checking whether each of them is derived. On the ReSharper side, this functionality belongs to the core and is highly optimized.

The code model underlying ReSharper features is conceptually different from Roslyn’s code model. This is highlighted by drastically different approaches to processing and updating syntax trees. In contrast to ReSharper, Roslyn syntax trees are immutable, meaning that a new tree is built for every change.

Another core difference is that Roslyn covers exactly two languages, C# and VB.NET, whereas ReSharper architecture is multilingual, supporting cross-language references and non-trivial language mixtures such as Razor. Moreover, ReSharper provides an internal feature framework that streamlines consistent feature coverage for each new supported language. This is something that Roslyn doesn’t have by definition.


They have a parser , not a entire compiler


Nope. And they aren't using Roslyn from what I'm aware.


I assume they aren't, because their Resharper codebase already had the bits needed. Still, if you start writing a C# IDE from scratch, wouldn't the obvious choice be using Roslyn for everything from autocomplete to refactorings? Easily half to 90% of the work going into an IDE has to be in the language services (if you want to do the really tricky things well, like completing broken syntax).


It's not built from scratch. It makes full use of the existing ReSharper code base.


>It makes full use of the existing ReSharper code base.

R# is written in C# while their IDEs is in Java. Most likely they "convert" some of the C# code to Java. It'll be ugly...


Yet it indeed makes full use of resharper:

"instead of reimplementing ReSharper’s features on the IntellIJ Platform, which runs on the JVM, we’re using ReSharper in a headless mode, out of process, and communicating with it via a very fast custom binary protocol. "


No, it's mentioned in the article that their new IDE is just a frontend for R#.


How long is it before JetBrains comes out with something more like Eclipse or Atom?

You have IntelliJ, PyCharm, RubyMine, CLion, and now this. That's excluding plugins for other IDEs. All of their IDEs basically look and feel the same.

It seems like a ripe opportunity to make a single, extensible IDE that isn't quite so ugly as Eclipse but isn't quite so barebones as Atom that then just has different chunks of support for specific languages, potentially with individual licensing, etc.

Maybe that doesn't further their business goals but it sure would be nice to get the IntelliJ treatment whether I'm writing Java, Ruby, Python, C#, C++, etc.


It already exists and is called the Intellij Platform. It's open source and the base for all Jetbrains IDEs, see:

* http://www.jetbrains.org/pages/viewpage.action?pageId=983889 * https://github.com/JetBrains/intellij-community/tree/master/...


Since 15 it also works damn near flawlessly for me on Ultimate, they also seem to be faster on getting the plugins upto date with the individual IDE's which is a major win for me.

Current project I'm using PHP and Python for different parts and it is absolutely flawless, also if anyone hasn't used them Facets and Aspects are incredible!


Cursive Clojure is also built on the Intellij Platform.


> You have IntelliJ, PyCharm, RubyMine, CLion, and now this. That's excluding plugins for other IDEs

To my knowledge, IntelliJ + plugin = any other JetBrains IDE. It's a solved problem already: if you want multi-language support, purchase IntelliJ. However, the plugins lag behind the standalone IDEs on features.


> However, the plugins lag behind the standalone IDEs on features.

I haven't noticed that. If I want the latest features, I can often find an EAP with them.

The biggest issue with using IntelliJ IDEA instead of one of the IDEs is you're forced to see Java-ish project conventions in a few places, and some of the functions are accessed a bit differently or need to be configured on every project.

I happen to use it also when a project is partly written in Java, e.g. a JRuby app.


CLion and AppCode are the exceptions to that rule currently, though I wouldn't be surprised to see the CLion functionality get folded back in to IDEA eventually.


IntelliJ Ultimate does this (not including c++)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: