Hacker News new | past | comments | ask | show | jobs | submit login
Introducing ReSharper C++ (jetbrains.com)
145 points by numo16 on April 10, 2015 | hide | past | favorite | 26 comments



I wonder what the resource usage of this will be. ReSharper with C# really slows things down on my machine. With an SSD it's fine, but with a regular HDD I notice the difference.


Mixed comments on resource usage so far. Some examples: * "Besides beeing a bit slow, VS suddenly felt like a proper IDE" * "a bit more sluggish than using vanilla VS, but made up for it in terms of usability" * "even after I've opened the project and everything is parsed, Visual Studio slows down too much for it to be acceptable" * "once resharper had completed (warning up) though, everything was fine and Visual Studio + performance was pretty good"

(these are all from a recent reddit thread: http://www.reddit.com/r/programming/comments/31xbrt/jetbrain...)

Seems that it depends on the size and complexity of a solution, takes trying to see if it's acceptable in a given environment. That said, a lot of performance work is ahead provided that the team has input on what's going wrong and in what circumstances.


Thanks for the info.

Just some statistics on my setup:

Machine: i7, 8GB RAM, 7200 rpm HDD, vs2012 (upgrade to 2013 happening soon hopefully).

Project: 70 Projects in Solution, ~500k LOC.

I tried it again today and it was simply too slow for my taste. The HDD on my machine needs to be replaced, though, so it isn't all on Resharper. I suspect with a proper SSD it wouldn't be nearly as slow.

I haven't tried it for C++ solutions.


> Project: 70 Projects in Solution, ~500k LOC.

Our project is starting to go that direction (we're using areas in MVC). Is there any tricks you've discovered to manage better with that many projects in the solution (e.g. have the projects in the solution but unopened or something)?

PS - Yes, there is a giant hack to build areas as a stand-alone binary, but it is clunky and terrible. Hopefully the MVC team add first-party support in the next version.


I think it should definitely get better with SSD although not sure if it would be completely OK: 500k is quite a lot, at least by v1.0 standard. Give it a try when/if you're on a SSD. Do get in touch with us (https://youtrack.jetbrains.com/issues/rscpp) if still too slow by then, we'll try to see what can be done.


I had to uninstall one of the later beta builds because leaving any C++ Visual Studio solution open would result in a massive multi-gig memory leak. VisualAssistX is still installed because it's lightweight and though it doesn't have the same featureset as ReSharper, it doesn't get in the way. Don't get me wrong though, I'm still willing to try RS again.


You should consider CodeRush from DevExpress. They've always been super serious about performance (they have perf stats on their site). They've had C++ tooling for years, their UI is top notch and their live templates blow R# out of the water.

I'm not affiliated with them in anyway, but I am a huge fan.


That's exactly why I uninstalled Resharper. I loved the extension, and was quite seriously considering paying the cost of admission ($149), but it just dragged down Visual Studio 2013, both in terms of start times and I also had random second-long freezes throughout the day. This disappeared as soon as I uninstalled it.

It appears like Visual Studio 2015 has many of the Reshaper features I most covet, and doesn't appear to have the same performance issues (likely because they're powered by architecture changes), so win/win, and I save $149 since my employer gets us MSDN.


I always thought Visual Studio was a dog but one day I opened it with ReSharper disabled and it was blistering fast.

ReSharper makes writing C# a lot easier so I stick with it.

VS2015 has, on paper, some of ReSharper's features but I tried it without ReSharper and it felt ... dead. So you still need it for a complete C# IDE experience.


Second-long freezes... could be ReSharper, could be a different plug-in or a VCS integration interfering with ReSharper. Unfortunately you got rid of it so I guess we'll never know for sure )


They said when they got rid of it the freezes disappeared. So I guess we do know. I too have experienced period freezing with ReShaper so none of this really surprises me to read (in particular if you have a HDD).


I am not sure it matters much anymore - why would you want to get a computer without an SSD?

Okay so some big companies haven't yet gotten around to upgrading, but a) there are going to be fewer of those around and b) this is a new tool. It is not necessarily a bad idea to target your tool a little in front of the average machine, especially if you want to be the best.


I haven't used a non-SSD in a dev machine for over 5 years. Sometimes people in the office fill their SSD C-drive and start working from D-drive. This is unacceptable and they get a bigger SSD.


My2cents. Perfectly usable on lower PC without background compilation


Some of the functionality is builtin into VS - not always exactly the same, but sometimes close enough. So if you're afraid it will crush VS performance (the proper way would be to try it of course) check these. Just metioning this because not everybody knows these and when VS2013 came out I decided to try it with a minimum of extensions and see it it's doable. For C#, I'm too spoiled by Resharper so it's unbearable. For C++ however I really like it: super snappy IDE with just enough builtin navigation etc functionality. Startup time alone for the VS2013 install is 5 to 10 times faster than the VS2012 one (Resharper and Visual Assist X). So:

- go to everything (except folders): Edit.NavigateTo and don't forget to turn on the Show Details checkbox

- go to file or folder: Window.SolutionExplorerSearch

- switch between header and source files: EditorContextMenus.CodeWindow.ToggleHeaderCodeFile

- find usage and the likes: Edit.FindAllReferences or EditorContextMenus.CodeWindow.ViewCallHierarchy - doesn't always work properly though and can be slow

- go to file member: built-in dropdown at top of file, not sure if there is a keyboard shortcut for it though

- live static_assert evaluation: built-in

- rename and the likes: I once forced myself to learn at least some of the regular expression syntax and combined with builtin Find/Replace it served me pretty well for this

In general I'd advise people to check all VS has to offer (list it via command window or in keyboard customisation): if you haven't ever done so I bet you'll find commands you'll come to like and use but never heard of before. Last one I discovered (after many, many years of using VS, shame on me): Ctrl-Shift-] when the cursor is on a brace, it will select everything between the brace and the matching one.


Hmm, interesting how it compares to VisualAssistX (a plugin for Visual Studio that has been around for a very long time). Hopefully someone will blog a thorough comparison soon.


First of all ReSharper C++ offers ~60 real-time code inspections. Things like unreachable code, hiding local declarations, dependent type without 'typename' keyword, non-inline function definition in a header file, boost::format with too many or too few arguments, invalid printf format specifiers, redundant keywords ('else', 'static', 'template' etc).

Quick-fixes are provided for many of the inspections so that if you want to act on an inspection, you can have R# C++ do the editing for you.

AFAIK Visual Assist has very limited code analysis capabilities.

Refactorings/transformations such as "Substitute macro call", "Initialize field from constructor parameter", "Merge nested if statements", "Replace redundant parentheses", "Move method implementation out of class scope" or "Replace 'auto' with explicit type" are also unique to ReSharper C++ AFAIK.

Also I don't think VAX has navigation to derived/base symbols or specializations.

Some of the things that VAX has but R# C++ doesn't include Document method, auto-inserting underscores after 'm' and Header hierarchy view.

Here's how a dev on the R# C++ team has summarized differences between the tools in a comment last year: http://www.reddit.com/r/cpp/comments/29k4fb/resharper_for_c_...

(Disclaimer: I'm with JetBrains, the company behind ReSharper C++. If you want to take the above with a grain of salt, feel free to.)


How many of those things are going to be in clion?


A lot. Definitely a similar set of code inspections/quick-fixes and navigation actions. Not sure about the set of refactorings and context actions (intention actions in their terms) but based on history of IntelliJ IDEA based products that CLion is, I think they won't disappoint in this regard, too.


Resharper is indispensable for me. Code is better by a factor of 2 while it's there to remind everyone of a common style and template. I have used it on a project that had ~1 million loc and 250 projects and didn't find an issue with it slowing the ide. You need to be careful with having other extensions that monitor code in real time as that is the big cause of slowdowns and deadlocks. I'm looking forward to trying this one out.


I've been using ReSharper at home and Visual Assist at work. You can't go wrong with either, they both make the IDE much better.

That said, I like resharper more for a few reasons:

- Visual Assist's refactoring is buggy. "Extract Method" often generates pretty broken results, and Rename often captures more than I intended.

- I like the Alt-Enter uber-shortcut thing

- Presentation is slightly nicer in ReSharper

Like I said though, either one is worth the money if you can afford it.


Looks good but I will stick to VisualAssistX as it is cheaper, at least in the UK.


Save a hundred bucks for a loss of how much productivity? Surely more than $100.


My point was that it doesn't seem to offer anything more yet costs more. Yes $100 is a little under 3 hours work so justifying the cost isn't a problem but considering I already paid for VAX I am not one to just throw money away :)


Can't figure out if it works with my CUDA, QT, CGAL.


Well there's no specific support for things like CUDA, but C++ support works for the most part. Not for CUDA's triple-angled-chevrons (yet), but neither does Visual Studio itself :)




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

Search: