JetBrains / resharper-unity

Unity support for both ReSharper and Rider
Apache License 2.0
1.21k stars 134 forks source link

Release for ReSharper 2018.3 #853

Closed citizenmatt closed 5 years ago

citizenmatt commented 6 years ago

Update and release for ReSharper 2018.3.

mattnewport commented 5 years ago

Any update on this? I just discovered from the Unite LA Rider talk Q&A that you can install the plugin in Visual Studio with ReSharper and tried to do so only to discover the plugin is not available in the gallery for ReSharper 2018.3.

XtroTheArctic commented 5 years ago

Any release date?

citizenmatt commented 5 years ago

As soon as I can, with updates, testing, etc. Christmas vacation will get in the way over the next few days, though. Sorry.

StephenHodgson commented 5 years ago

Seriously so excited for this! :D

rob8861 commented 5 years ago

Can we please get an update on this issue. Why is it always taking so long for Resharper users to get the plugin up to date while Rider users get almost same day support. It's been almost a month. I bought resharper mainly for this plugin and I constantly need to wait about a month before I can upgrade Resharper. not fair!

XtroTheArctic commented 5 years ago

+1000

JianjianGit commented 5 years ago

Wait for update!

LurchUSA commented 5 years ago

Can we please get an update on this issue. Why is it always taking so long for Resharper users to get the plugin up to date while Rider users get almost same day support. It's been almost a month. I bought resharper mainly for this plugin and I constantly need to wait about a month before I can upgrade Resharper. not fair!

It could be either:

  1. Microsoft is being painful, as they are famous for being difficult for third party modders to deal with, without paying exorbitant licencing fees.
  2. This is a not-so-subtle hint to ditch Visual Studio and use Rider, since Rider is a JetBrains product, just like Resharper.

So choose your conspiracy theory.

citizenmatt commented 5 years ago

:) It's neither. There's no conspiracy, there's just me :)

The short answer is splitting my time across several things - fixing urgent bugs/performance issues and getting this ReSharper release out. Apologies it's taken so long. I'll get it released by tomorrow.

LurchUSA commented 5 years ago

No worries. I had a hunch it was just a time management issue.

Still through given that unity actively promotes Visual Studio, along with their Mono-Develop, as script editing platforms, I would have though you would have more support from Unity and/or Microsoft for this extension. Not your fault though, it just looks like Unity/Microsoft aren’t supporting the people who are making the real difference.

Thanks again for keeping us in the loop. Appreciate it.

C.

rob8861 commented 5 years ago

:) It's neither. There's no conspiracy, there's just me :)

The short answer is splitting my time across several things - fixing urgent bugs/performance issues and getting this ReSharper release out. Apologies it's taken so long. I'll get it released by tomorrow.

Hi Matt, We truly appreciate the time and effort you put to get this release out, however, the issue I am having is that I sometimes feel R# customers are getting a "second classes citizen" support (as oppose to Rider). As you know Resharper+Unity is "not very useful" without the Unity plugin, and for those of us who like to keep R# up to date, now find that we have to wait ~20 days for important plugins to get updated.

moving forward it would be really nice if the release schedule for Resharper can be kept as close as possible to Rider.

Thank you

StephenHodgson commented 5 years ago

Hi Matt, We truly appreciate the time and effort

Agreed! Keep up the great work

StephenHodgson commented 5 years ago

it just looks like Unity/Microsoft aren’t supporting the people who are making the real difference.

Boy, I know that feeling 😅

pnarimani commented 5 years ago

Any news?

paulogodinhoaq commented 5 years ago

I do not understand this delay, this is a JetBrains backed project, not some fan made hack. Are you the sole developer working on this @citizenmatt? I thank you for your amazing support, but it really feels like JB does not care anymore for its Resharper users over Visual Studio.

citizenmatt commented 5 years ago

I understand your frustration, and can only apologise for the delay. While I'm not the only developer working on this, like any company we do have limited resources, and making sure everything is working with ReSharper has turned out to be a large task. The 2018.3 release has over 160 changes in it, many of them decidedly non-trivial.

I'm working on this right now, and to give some idea of the scope of things, the last commit for ReSharper support changed 74 files. While a lot of this is test output, it's still a lot of files to verify have been updated correctly.

I only have one more bullet point to get through, and once it's been reviewed and merged, I'll be able to post a release tomorrow.

Once again, apologies for the delays.

mattnewport commented 5 years ago

I understand you have limited resources, I think the the concern some of us have is that it seems as though where those resources are allocated reflects the company prioritizing Rider over ReSharper. Rider seems to be a decent product but I've been using Visual Studio over 20 years and make use of a lot of functionality as well as an ecosystem of tools and extensions that Rider does not offer. I'm not interested in switching to another IDE. ReSharper is useful but if it is no longer a priority for your company then I'm just going to stop paying for it rather than consider switching my IDE to Rider.

citizenmatt commented 5 years ago

It's not true to say that Rider is a priority over ReSharper. Rider is ReSharper. They share the same codebase, and features added to one product will usually end up in the other (e.g. parameter hints are a Rider feature that have made it into ReSharper, as has the debugging features).

Essentially, it's me that's dropped the ball on this one. This plugin is bundled with Rider and that lends a certain focus to hitting Rider's release dates. The fact that ReSharper is a download gives a little leeway on those dates, but I should have had a release out before now.

mattnewport commented 5 years ago

I know this isn't really the place for this but since someone is listening :)

ReSharper performance in Visual Studio is very poor, to the point that I've turned so much of the functionality off at this point to try and get usable performance it's not adding much value. You can find a number of posts talking about this on the community forums going back months with no real useful response from JetBrains. I hear from people using Rider that they do not see these types of performance issues so I assume it's something about the Visual Studio integration. Visual Studio frequently issues warnings about ReSharper causing performance problems and disabling it makes the problems go away so it's not just a VS issue. It seems like this type of thing would get more attention if ReSharper in VS was really still a priority.

Not your fault I know but maybe you can pass on the feedback that there's a portion of your userbase who are not interested in using Rider and just want a good ReSharper experience in VS and that some of us are feeling a bit neglected...

citizenmatt commented 5 years ago

Believe me, we know! A big part of the problem we have is that recent versions of Visual Studio (VS2015+ IIRC) have very much increased the amount of memory they use - Roslyn is more expensive than the previous C++ based language services. That leaves less memory that ReSharper can use, and because VS is 32 bit, if the project is large enough, it can start to hit the limits where the garbage collector kicks in, and performance starts to suffer.

That's not the only problem of course - we have some architectural problems that exacerbate things, especially at startup and during solution load. For example, we use a component container to instantiate the objects and services we need, and this takes too much time. For one thing, we do too much here. And because VS is COM based, we need to do most of this on the main thread, so a) we can't parallelise this and b) we're using the main thread! To make matters worse, some of our objects need to call into Visual Studio APIs, and if we call things in the wrong order, VS can do some lengthy initialisation on the main thread. This happened with fonts - if we tried to get font information at the wrong time, VS would freeze for multiple seconds as it initialised everything on the main thread. And Visual Studio's performance notifications see this, walk up the call stack until they see something non-Microsoft and report that extension as causing UI freezes and delaying startup.

We know there are issues, and we are working on them. Some have been fixed over recent releases, some are still in progress. For example, Rider runs ReSharper out of process, in a 64 bit process, and this does help a lot (we can parallelise startup for one thing). We're working on doing the same for ReSharper in Visual Studio, but this is a massive architectural challenge, and will take some time.

The blog is a good place to read up on what's going on, and we try to keep this up to date with current progress:

And you can browse posts with the "performance" tag, too.

mattnewport commented 5 years ago

I appreciate the detailed response and it's encouraging to know you guys are looking at this stuff. Hopefully you continue to make progress on ReSharper for VS - I hope to be able to keep using it and taking advantage of the useful functionality and just wanted to highlight that there are users like me who for various reasons aren't likely to switch to Rider because we are too enmeshed in the VS ecosystem so please don't forget us!

citizenmatt commented 5 years ago

It's coming folks. Need to get a build and upload. Soon...

citizenmatt commented 5 years ago

OK, finally got a release. Once again, apologies for the delays, hopefully it'll be worth it. Tons of new features - check out the release notes. Find it in the Extension Manager!