Resharper v10 C++ unusable
Let me preface that I've been trying everything offered online to optimize the performance. I've been struggling with this for months but at this point however I am done. Every time I rebuild or switch platform, Resharper would suspend my VS for 20+ minutes. Every time I debug and place some breakpoints, the performance will consistently degrade over time until Visual Studio would just crash. Hell, any time I just write code, VS will randomly crash to desktop with Resharper enabled. None of this happens with plugin disabled. This is completely unacceptable.
I've tried newer version too on trial period, there was no performance improvement there either. Why is it that Visual Assist takes 15 sec to parse my entire solution WITHOUT blocking me from using VS, while Reharper takes 20+ minutes... and re-parses it ALL OVER every time when I rebuild or switch from Release to Debug for example?
Please sign in to leave a comment.
Hello Mikhail,
10 is really really outdated at this point, since each major releases fixes a lot of important issues. With 2017.1 compared to 10 you shouldn't experience crashes, memory usage should be much better, and no reindexing should occur after a build or when a new #include or #define is added to a header file. By "blocking from using VS", do you mean that R++ indexes files in background and that process introduces lags into typing experience? 20 minutes of indexing time also indicates quite a large solution (e.g. Unreal Engine 4 requires around 15 minutes). Starting with 2016.3 you should be able to exclude parts of your solution that you're not interested in from indexing, which can significantly reduce the indexing time.
The reason files get reindexed when switching configurations is that compiler options get changed. R++ operates much like a compiler - when it picks a C++ file, it will go through all included files to get correct parsing results. When you switch configurations, you update the compilation properties (including predefined macros), which means that anything in your program can get changed.
Would you be willing to try 2017.1 when it's out and see if some of your problems get resolved? If you tell us your JB account, we can issue an extended evaluation license. Thanks!
Hey Igor,
Yes codebase is actually CryEngine source. Indexing introduces a lot of lag to the point where I have to wait 5-10 sec between mouse/keyboard input to see anything happen. Also even after indexing completes opening new files in the solution would often introduce 1-2 min lag before I can interact with that file. Debugging is also super laggy, whenever I place a breakpoint and hover over a variable to see it's value it can take up to several minutes to have the value tooltip show up. None of this happens when Resharper is in Suspended mode.
I really like some tools that Resharper offers which VA doesn't, otherwise I wouldn't be writing this. I would love to try the 2017 one, my jetbrains account name is "chebz".
Hello Mikhail,
I've checked the Lumberyard SDK solution (which should be close enough to CryEngine) with R++ 2017.1. The initial indexing takes around 6 minutes on my machine, managed memory usage on second solution open is around 700MB (that includes VS's project model), which is not great but should leave enough headroom for debugging - please note that R++ does not affect the debugging experience in any way, any lags probably come from memory pressure in the VS process. You can also improve indexing time and memory usage by excluding projects that you are not interested in from indexing via the "Third-Party Code" options page, see https://www.jetbrains.com/help/resharper/2017.1/Reference_Options_Code_Editing_Third_Party_Code.html (any headers from these projects that you use in indexed files will still be indexed). The reindexing process still happens in this release after the configuration gets changes or a project is reopened.
It turns out we also need your email to update your license. Could you please leave it here or send it to igor.akhmetov at jetbrains.com?
Thanks!