
Introducing ReSharper C++ - numo16
http://blog.jetbrains.com/dotnet/2015/04/10/introducing-resharper-cpp/
======
edgyswingset
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.

~~~
Someone1234
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.

~~~
gorohoroh
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 )

~~~
UnoriginalGuy
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).

------
stinos
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.

------
polskibus
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.

~~~
gorohoroh
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_...](http://www.reddit.com/r/cpp/comments/29k4fb/resharper_for_c_eap_goes_on_jetbrains_net_tools/cim0d3p)

(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.)

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

~~~
gorohoroh
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.

------
S_A_P
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.

------
overgard
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.

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

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

~~~
bithush
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 :)

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

~~~
dnesteruk
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 :)

