Project Rider - New resharper-based IDE



  • So JetBrains are trying to free their Resharper project from the carcass of Visual Studio, and integrate it into their IntelliJ IDE architecture.

    But isn't resharper made in .NET and their cross platform architecture based on JVM? Boy that sure sounds like a lot of work!

    Well that's what they thought too.

    ###How does it work?

    Project Rider is a standalone IDE built on the IntelliJ Platform, much like WebStorm, DataGrip and our other IDEs.

    The difference however, is that 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. As such, the backend continues to be ReSharper written in C# running on .NET or Mono, and the frontend is written in Kotlin, talking to the IntelliJ Platform’s APIs.

    We’ll take a more in-depth look at the implementation details in a future blog post.

    What's better than picking one heavy weight batteries included framework and sticking with it?

    Picking two.


  • Discourse touched me in a no-no place

    @cartman82 said:

    > a very fast custom binary protocol

    Ò_o


  • FoxDev

    @cartman82 said:

    So JetBrains are trying to free their Resharper project from the carcass of Visual Studio

    *wonders if that has anything to do with the fact that an increasing number of ReSharper features are now part of VS itself*



  • @RaceProUK said:

    wonders if that has anything to do with the fact that an increasing number of ReSharper features are now part of VS itself

    Shhhhh... I'm hunting wabits.



  • Nice onebox, Discourse.


  • BINNED

    Better than my attempts, it seems that they managed to get Discourse to read some of their parameters besides the title at least.



  • @PJH said:

    @cartman82 said:
    > a very fast custom binary protocol

    Ò_o

    Is that just a fancy way of saying "not XML or JSON"?


  • area_deu

    It's probably JSONX. Gzipped.


  • Discourse touched me in a no-no place

    @NedFodder said:

    Is that just a fancy way of saying "not just plain XML or JSON"?

    Possibly closer to the truth.



  • What exactly is a "very fast _____ protocol" supposed to mean when it's just standard IPC? The ping is 0! How could you even make it slow without trying!?



  • I've played with ipc for unity game programming, where basically I create an out of process bridge for .net 35 mono to 46 normal, mostly because of features I wanted.

    It's not hard, and really fast (at least locally over named pipes) so...

    Filed under: feasible?

    I suspect this is a proactive step for all those new Roslyn ide to be able to use resharper (ie: if Google or IBM switches?)

    Or maybe they are just trying to justify their team size.

    Also, when I reinstalled vs 2013 ultimate, the only reason I realized I forgot resharper was class colors and the fact that vs wouldn't auto import using statements without me clicking extra buttons.

    But that's why I still have resharper, is the auto import of classes.



  • Going out of process and back will have a non zero overhead, but the exact amount should be something you wouldn't even notice while typing.


  • :belt_onion:

    @Matches said:

    should be

    And there's the catch 😄

    Judging by how slow ReSharper, IntelliJ, and VS can get..... well.... I wouldn't bet on it.

    I'm surprised they're not just re-using the IntelliJ engine and tweaking it a little to work with a different language. Like WebStorm, PHPStorm, Clion, 0xDBE, etc.



  • ReSharper is fucking awful. I think it's solely responsible for everybody who thinks Visual Studio is slow bloated shit.

    I actually have it installed because my boss was adamant, but I keep it turned off. He's ok with that now after we did a "race" of how quickly VS' test runner could run our unit tests compared to ReSharper's. (Hint: VS is 3 TIMES faster.)



  • Seems to be a good range of opinions on the thing. I really like their intellisense and refactorings, but I hate all the dialogs they pull up. I don't use their test runner despite it having some nice hierarchy modes mostly because NCrunch is infinitely better. I do like the extra color options a lot, and hope Microsoft implements more of them.

    But plenty of people believe that it will cause the universe to implode and cripple VS to unusable speeds, and they aren't correct either at this point, though I fully believe that they were in the past.


  • :belt_onion:

    @Magus said:

    intellisense and refactorings

    Yeah, JetBrains is really good at doing that.

    I honestly think this IDE could be really good, but I'm afraid by doing this process link thing it will be just as slow as VS+ReSharper without the added benefits of VS+ReSharper.



  • All it has to be is more usable than Xamarin Studio. Seriously, that thing was awesome back when it was Monodevelop, and now I hate everything about it. If I can have an actual good C# IDE on Windows and Linux, I'll be happy.

    But I wouldn't be at all shocked if it was slow. Which would admittedly be rather tragic.



  • @Magus said:

    But plenty of people believe that it will cause the universe to implode and cripple VS to unusable speeds, and they aren't correct either at this point, though I fully believe that they were in the past.

    Here's the deal.

    As a person who never tried ReSharper until recently, I was curious about it but not willing to pay for a license. So I'd ask, "what's so good about it?" And they'd say, "it has a key combo you can use to instantly search for any method/class", and I'd say, "stock VS does that, try again," and they'd say, "well it automatically adds using statements based on what you've typed," and I'd say "well stock VS does that, try again." And then they'd cry.

    When I actually got a (work comped) license for ReSharper, I found out: my suspicions were right. It doesn't seem to do anything stock VS doesn't already do. And in most cases, significantly better. It does however make VS so slow that there's a noticeable lag in your typing, and draw really really ugly jaggy boxes and lines all the fuck over (and it's not like VS started out beautiful), and make contextual menus take about 57 times longer to appear.

    So I started disabling features about it that annoyed me and after about 2 weeks, for all practical purposes, I wasn't running it at all. (But it was still causing a HUGE performance hit.) So I turned it off entirely and waited for a co-worker to call me on it, but none ever did, so it's still off to this day.

    ReSharper might have been a worthwhile product at some point in history, but it hasn't been for a long, long time. I think all their sales now come from stupid company policies, and people who buy it purely out of habit.


  • :belt_onion:

    @Magus said:

    But I wouldn't be at all shocked if it was slow. Which would admittedly be rather tragic.

    Yeah.

    IntelliJ (it's the heaviest of the IDE families there, since it can basically do everything the others can too) can be slow, especially on load or on a non-SSD drive, but it generally is pretty fast after it's done indexing everything.


  • I survived the hour long Uno hand

    Technically, that's not Discourse's fault.

    You're visiting this site on HTTPS, and that one-box link is HTTP. But Chrome has stopped bugging / notifying you about that, so you just figure it's broken. Because letting users know when you're breaking their page is TR­:wtf:



  • @blakeyrat said:

    ReSharper is fucking awful. I think it's solely responsible for everybody who thinks Visual Studio is slow bloated shit.

    I actually have it installed because my boss was adamant, but I keep it turned off. He's ok with that now after we did a "race" of how quickly VS' test runner could run our unit tests compared to ReSharper's. (Hint: VS is 3 TIMES faster.)

    I recently played around in VS2015, and yeah, resharper was both godawful slow and less needed than before. It used to be a must-have plugin back in the 2008-2010 period, but gradually native VS caught up. There were a few remaining boons it gave me in the VS2015 setup (eg. more colors, ctrl+click), but I could probably live without those.

    It'll be interesting to see a real JetBrains C# IDE pitted against a bare VS. Mano-a-mano.



  • @cartman82 said:

    It'll be interesting to see a real JetBrains C# IDE pitted against a bare VS. Mano-a-mano.

    Based on the quality of their ReSharper product, I'd say they don't even stand a chance. They'd get destroyed.



  • @blakeyrat said:

    Based on the quality of their ReSharper product, I'd say they don't even stand a chance. They'd get destroyed.

    Emmmmm... I'm not sure about that.

    I'm using their IDE-s all the time now, and they are pretty damn good. They definitely beat VS for web-based work, no doubt about it.

    We'll see how Rider fares on the VS-s home ground. My guess is, it'll be worse than VS, but better than Xamarin, so it'll gain ground on Linux/Mac.

    Dual .NET/Java thing is still very worrying IMO.



  • Oh it's in Java? I missed that in the OP.

    Then it's definitely shit. There's no need to even discuss. That also explains why the shit they scribble all over VS looks like ass-- there ain't a Java developer in existence who has even the most basic understanding of "style".


  • FoxDev

    @cartman82 said:

    They definitely beat VS for web-based work, no doubt about it.

    Depends what web-based work you're doing. If you're doing anything even slightly ASP.NET, VS is the way to go. Anything else though, and you're almost certainly relying on third-party VS plugins written during someone's lunch hour. Which of course means they'll be total and complete ass.



  • @blakeyrat said:

    Oh it's in Java? I missed that in the OP.

    Then it's definitely shit. There's no need to even discuss. That also explains why the shit they scribble all over VS looks like ass-- there ain't a Java developer in existence who has even the most basic understanding of "style".

    No their resharper thing is .NET.

    But the new IDE they are hobbling together is Java, like all their other IDE-s. Except, they don't want to rewrite the C# code, so they'll just run a background headless resharper process and use that as a service to parse C#.



  • @blakeyrat said:

    there ain't a Java developer in existence who has even the most basic understanding of "style".

    Most of us are smart enough to realize that Java works a lot better as a web application development platform than it does a desktop application development platform.

    Filed under: There's a reason that the desktop app I'm writing is in C♯, Yes that's a unicode sharp symbol



  • @powerlord said:

    Most of us are smart enough to realize that Java works a lot better as a web application development platform than it does a desktop application development platform.

    Since Java doesn't work at all for desktop applications (for the 57342,432743278,23136 reasons we've discussed on this forum), then I can't argue with that logic.

    And also Cartman82 is a moron for even having the JVM installed. He's using an IDE that doesn't even have the ability to correctly locate the AppData folder on Windows.



  • @cartman82 said:

    ctrl+click

    Methinks it's stock VS... or maybe Productivity Power Tools?

    Resharper has some goodies I haven't seen in stock VS (usings pulled by autocomplete, a bunch of StyleCop/FxCop-ish lightbulbs), but VS has been integrating more and more of those features, to the point that 2015 makes it this close to obsolescence.

    But hey, it's free for me both for personal use (university licence) and company use (non-expiring licences already bought for everyone), and I have a powerful enough machine not to be slowed down to a crawl by it, so... *shrug* might as well.



  • @blakeyrat said:

    When I actually got a (work comped) license for ReSharper, I found out: my suspicions were right. It doesn't seem to do anything stock VS doesn't already do. And in most cases, significantly better.

    For the subset of things they both do, absolutely. And that is only increasing. I'm looking forward to the day when it really doesn't offer anything.

    Mostly it's small things: Massively extended syntax hilighting, adding references instead of just usings, and really nice method extraction refactorings, etc.

    But pretty much all of the things it does will be done better in VS as Roslyn matures. Already the suggestions it gives are far worse than VS's, which give really good previews even.



  • @Magus said:

    Massively extended syntax hilighting,

    Massively ugly.

    @Magus said:

    adding references instead of just usings,

    That seems dangerous as fuck. That'd have been the first thing I turned off.

    @Magus said:

    and really nice method extraction refactorings,

    You mean how it always nags you to rewrite shit in LINQ? As if I gave a rat's ass?

    And you're not mentioning, even these "good" features-- is it worth how fucking SLOW it is? I wasn't kidding; it makes VS so slow that it can't even keep up with my typing anymore. IT CAN'T KEEP UP WITH A HUMAN BEING TYPING. What is this, 1988?



  • @blakeyrat said:

    Massively ugly.

    Configurable and optional. I'd like to have the option available is all I'm saying.

    @blakeyrat said:

    That seems dangerous as fuck. That'd have been the first thing I turned off.

    It is, but it also seems to look at your other projects in your solution to figure out how to do it, so it isn't as bad as you'd think. It's really nice for things in .NET that you don't have included yet.

    @blakeyrat said:

    You mean how it always nags you to rewrite shit in LINQ? As if I gave a rat's ass?

    Among other things. It can be used to suggest your team's coding guidelines too, or custom ones. It isn't huge, and a better one is now part of VS, but it'll take time before the suggestions reach the same level as Resharper currently gives.

    @blakeyrat said:

    And you're not mentioning, even these "good" features-- is it worth how fucking SLOW it is? I wasn't kidding; it makes VS so slow that it can't even keep up with my typing anymore. IT CAN'T KEEP UP WITH A HUMAN BEING TYPING. What is this, 1988?

    Depends on the person. Discourse can't keep up with my typing, and I type slowly. And for the most part, I haven't noticed it being horribly slow on solutions with less than fifty projects loaded or with projectwide analysis off. We literally can't use it on our stupid 100+ project solution at work - which is so large that Microsoft thinks its stupid - without Funnel.

    But again, I agree, I want a world where I don't need it, and that's where we're headed.



  • @blakeyrat said:

    Since Java doesn't work at all for desktop applications (for the 57342,432743278,23136 reasons we've discussed on this forum), then I can't argue with that logic.

    Seem to be working fine for JetBrains.

    @blakeyrat said:

    And also Cartman82 is a moron for even having the JVM installed. He's using an IDE that doesn't even have the ability to correctly locate the AppData folder on Windows.

    That's truly a crucial concern of mine. I spend sleepless nights worrying about the location of my IDE's config files.

    WHY JETBRAINS!? WHY DO YOU MILDLY INCONVENIENCE ME SUCH!?



  • @cartman82 said:

    WHY JETBRAINS!? WHY DO YOU MILDLY INCONVENIENCE ME SUCH!?
    When the company you work for finally grows to such a large size has their rent yanked up so much that they implement roaming profiles and hotdesking, just walk away. Even if you wanted to still work there, you couldn't, because your IDE wouldn't even start up. Ever.



  • @Magus said:

    It's really nice for things in .NET that you don't have included yet.

    Right but you want to add a Color from WinForms and you end up getting the Color from XNA and suddenly all hell breaks loose because they're completely different classes.

    No. I don't want some shitty script written by a company that loves Java to decide which Color I was referring to. That is a terrible idea.

    @cartman82 said:

    That's truly a crucial concern of mine. I spend sleepless nights worrying about the location of my IDE's config files.

    As you should. Think about this: if they get that BASIC shit wrong, how much more COMPLEX shit do they have wrong?

    Then think: wait, they've chosen a framework where they get that BASIC shit wrong, because it's LITERALLY IMPOSSIBLE TO GET IT CORRECT IN JVM! Do you want to trust your code to people like that? You're ok with this? Seriously?

    Would you be ok with your company shipping something with that quality? Or do you just have absolutely no concept of the concept of "quality"?



  • @blakeyrat said:

    Then think: wait, they've chosen a framework where they get that BASIC shit wrong, because it's LITERALLY IMPOSSIBLE TO GET IT CORRECT IN JVM!

    They could use IPC to let a C# application handle the whole config file thing ...



  • @blakeyrat said:

    Do you want to trust your code to people like that? You're ok with this? Seriously?

    Why not? What do you think will happen? What's the worst case scenario?



  • @aliceif said:

    They could use IPC to let a C# application handle the whole config file thing ...

    Right; and then they could speed it up by using a very fast custom binary protocol.



  • @blakeyrat said:

    Right but you want to add a Color from WinForms and you end up getting the Color from XNA and suddenly all hell breaks loose because they're completely different classes.

    They would use context to figure out which one is the right one. You know, like how the compiler can tell that the XNA Color is the wrong type for a method expecting a WinForms Color.


  • :belt_onion:

    @izzion said:

    But Chrome has stopped bugging / notifying you about that

    @powerlord said:

    Most of us are smart enough to realize that Java works a lot better as a web application development platform than it does a desktop application development platform.

    QFT

    @blakeyrat said:

    Since Java doesn't work at all for desktop applications

    That is entirely untrue.

    @TwelveBaud said:

    When the company you work for finally grows to such a large size has their rent yanked up so much that they implement roaming profiles and hotdesking, just walk away. Even if you wanted to still work there, you couldn't, because your IDE wouldn't even start up. Ever.

    Idea is bigger but that's because the Android stuff is installed inside it. Without Android stuff it would be perfectly normal.

    @blakeyrat said:

    wrong

    Not wrong. Just differently. They choose to put it in the home folder - and that is by design not a bug.

    @blakeyrat said:

    Do you want to trust your code to people like that?

    Yes, because they didn't get anything wrong.

    @blakeyrat said:

    Would you be ok with your company shipping something with that quality? Or do you just have absolutely no concept of the concept of "quality"?

    Yes, because it's not a quality issue.

    @cartman82 said:

    Why not? What do you think will happen? What's the worst case scenario?

    OMG THEYLL USE THE WRONG WINDOWZZZ FOLDER OHNOEZ



  • @sloosecannon said:

    Not wrong. Just differently. They choose to put it in the home folder - and that is by design not a bug.

    Windows doesn't have a home folder. So yes, yes it is a bug.

    Even if you're some kind of dumbshit who thinks it's ok to put files in something you're calling a "home folder" (but Windows itself has no concept of), it breaks roaming profiles something fierce. And a lot of folder redirection configurations as well. So yes, even if you're a retarded dumbshit who doesn't know dick about Windows, it turns out: it's still a bug.

    @sloosecannon said:

    Yes, because they didn't get anything wrong.

    It's good to know you, a software developer, are so fucking ignorant of the most popular OS on the planet. Reassuring. This is why all software is such high quality, right here. Take a Polaroid.


  • :belt_onion:

    @blakeyrat said:

    Windows doesn't have a home folder. So yes, yes it is a bug.

    No. No it is not.

    OHNOES I USED THE WRONG WORD FOR HOME FOLDER I AM A TERRIBLE PERSON.



  • @sloosecannon said:

    OHNOES I USED THE WRONG WORD FOR HOME FOLDER I AM A TERRIBLE PERSON.

    It's not the word that's wrong, it's the concept.

    It's like saying, "it uses the CLI in Mac Classic". Uh. That's gibberish. Mac Classic doesn't have a CLI. It doesn't even have the CONCEPT of a CLI, nor anything equivalent to a CLI.

    Same with Windows and "the home folder". Windows doesn't have a home folder. Windows doesn't even have the concept of a home folder. Windows does have quite a few special folders, but none of them are "the home folder".

    The folder you probably think is "the home folder" only serves as the default location of those special folders, if they are not yet created and are not redirected elsewhere.

    Windows does have the concept of folder redirection and roaming profiles, which are features that will break if retarded broken software puts files into some folder they believe is a "home folder".


  • :belt_onion:

    @blakeyrat said:

    (but Windows itself has no concept of

    [citation fucking needed]

    Microsoft themselves talk about a "home directory".

    https://support.microsoft.com/en-us/kb/320043

    @blakeyrat said:

    features that will break

    How do you know?



  • @blakeyrat said:

    Same with Windows and "the home folder". Windows doesn't have a home folder. Windows doesn't even have the concept of a home folder.

    Actually, it does and CSIDL_PROFILE (used with the Win32 API SHGetFolderPath command) / the %USERPROFILE% environment variable points to it.

    Edit: Apparently it's also referred to as FOLDERID_Profile in the KNOWNFOLDERID enum in Vista and newer, which is used with the SHGetKnownFolderPath API call.


  • :belt_onion:

    @powerlord said:

    Actually, it does and CSIDL_PROFILE (used with the Win32 API SHGetFolderPath command) / the %USERPROFILE% environment variable points to it.

    BUT THAT'S NOT A HOME FOLDER. YOU DON'T EVEN KNOW HOW THE MOST POPULAR OS WORKS.



  • @sloosecannon said:

    Microsoft themselves talk about a "home directory".

    https://support.microsoft.com/en-us/kb/320043

    @blakeyrat said:

    The folder you probably think is "the home folder" only serves as the default location of those special folders, if they are not yet created and are not redirected elsewhere.

    That's not the same thing as "the home folder" in your idiotic wrong Unixy mindset which is stupid and wrong.

    @sloosecannon said:

    How do you know?

    #BECAUSE I HAVE PERSONALLY HAD A WINDOWS PC FUCKED UP BY A JAVA APPLICATION THAT USED WRONG PATHS AND ENDED UP DOING A DoS ATTACK ON MY APPDATA FOLDER.

    #I HAVE EXPERIENCED IT MYSELF.

    @sloosecannon said:

    BUT THAT'S NOT A HOME FOLDER. YOU DON'T EVEN KNOW HOW THE MOST POPULAR OS WORKS.

    It's not, I just explained why.

    Goddamned you people piss me off. Why do we have shitty software? Because numbnuts like you are the ones out there writing it. What's the ultimate test of software correctness? The OS contract? The API documentation? Nope! WORKS ON MY MACHINE! Why would you ever need anything more than that?



  • @blakeyrat said:

    Right but you want to add a Color from WinForms and you end up getting the Color from XNA and suddenly all hell breaks loose because they're completely different classes.

    It asks you if you want to, and which one you want. It doesn't just see that you don't have a reference and guess. Maybe you should try actually looking at how the thing works instead of making up random nonsense.



  • Yeah but to do that I'd have to turn on that bloated piece of broken shit and use it, and that ain't happening.


  • :belt_onion:

    @blakeyrat said:

    That's not the same thing as "the home folder" in your idiotic wrong Unixy mindset which is stupid and wrong.

    It looks and quacks like a duck. So it's a duck.

    @blakeyrat said:

    BECAUSE I HAVE PERSONALLY HAD A WINDOWS PC FUCKED UP BY A JAVA APPLICATION THAT USED WRONG PATHS AND ENDED UP DOING A DoS ATTACK ON MY APPDATA FOLDER.

    I HAVE EXPERIENCED IT MYSELF.

    AND I HAVE PERSONALLY EXPERIENCED MY WINDOWS PC NOT FUCKED UP BY INTELLIJ ON A ROAMING PROFILE.

    Perhaps what you're seeing is a badly designed program. That doesn't mean the one we're talking about right now is badly designed.

    So..........


Log in to reply