Exceedingly unhappy with intrusive behaviors
I've been a happy custom of Jetbrains Resharper for many years. Probably since near the very beginning of the product. I talked quite a few companies into using it for their teams. I've been away from C# for a couple years and am now just returning and, unfortunately, am finding ReSharper to be very frustrating.
I'm a very senior software developer. I don't need incessant “suggestions”. I don't need anything constantly popping things up or adding temporary text into the editor where I'm trying to type (thus moving code around). I actually know what I'm doing and what I'm trying to type thank you. I really don't know how any one can get any serious work done with all this “help” being offered. Especially when its very rarely correct and even if it were its going to interrupt the chain of thought and not speed things up significantly.
Sure, this is probably helpful for very junior developers who have no clue what they are doing. But for developers who aren't fresh out of college and know what they are trying to type this gets annoying.
Tech support. Could you please for the love of god provide an easy way to disable all of this nonsense? I keep trying to turn it off but then some other thing happens. Like I type something and it suddenly decides to reformat all my code for me. I had it the way I wanted it thank you. May I suggest one new configuration page with a few main check boxes where high level choices can be made that cascade and if they are all turned off ReSharper becomes a nice, passive helper (like it used to be).
ReSharper should do things WHEN I ASK IT TO. It should not interrupt me and it should absolutely never change my code without permission. But this seems to be impossible to achieve now.
Since there is no easy configuration option currently could you please provide me with a list of configuration options to turn off that would disable suggestions, auto-formatting and basically all intrusive behaviors. Please. Pretty please.
There are still a lot of things ReSharper offers and does very sell, but the intrusive interruptions kill my performance.
Please sign in to leave a comment.
Oh and if you want an example I gave a couple above but here is another. I just went to comment out a class and I typed /* on the line before the class and the text “[Serializable]” appears with a pop up saying “Press tab to accept”. I just started a comment, why on earth would I want to add serializable? This is not helpful, its annoying and frustrating. Its almost always wrong. But even if it suggested something that was meaningful it would still be annoying. I do not want suggestions. Ever.
Also note I'm not against AI. I subscribe to Claude, ChatGPT and Perplexity and use them frequently. But I use them when I want them.
My bad. To be fair and clarify that last example about serializable ended up being due to Visual Studio's most recent update not ReSharper. I switched to a new development workstation, exported the VS2020 settings but forgot to export the ReSharper settings. I didn't realize VS had updated so I thought it was ReSharper.
Previously it took me multiple days to figure out how to turn off most (unfortunately not all) intrusive ReSharper behaviors because there are now so many configuration options and they are not organized in a way to make this easy.
I really hope support reads this and passes this on to management / the dev team. As ReSharper gets more capable and complicated the configuration needs a bit of a revamp to make it easier to manage because its getting quite frustrating as-is.
I posted on here awhile back on this same topic and was asked for more detail, so here is more detail.
The way I see it ReSharper has functionality that falls into some large categories. There are probably more, but these are the ones I'm thinking about at least.
1) Features that are completely passive until requested such as code refactoring. These are desirable and effectively harmless since they are activated by the user when wanted.
2) Features that provide status but are non-intrusive (such as showing errors/warnings in the scroll bar). Obviously should be configurable but I imagine very few developers would find these objectionable. Though many may tweak the settings (I do).
3) Features that provide status and are a bit intrusive because they blend in with the code and thus cause it to move around and take up more space. Things like CodeLens and in-line parameter information. I still have mixed feelings about these. They can be helpful but I don't like losing the screen real-estate and shifting the code around. Would be awesome if ReSharper could make this info available as a pop-up when hovering over a method.
4) Features that interact with the user while coding which do not attempt to alter the code or get directly in the user's way or interfere. Such as pop-up hints showing function parameters. Obviously should be configurable though.
5) Features that interact with the user while coding which do not attempt to alter the code but do potentially get directly in the user's way to a lesser extent. Things such as identifier auto-complete. In most cases this is actually very helpful, particularly the way implemented by ReSharper. However it can sometimes also be very annoying because I've had it engage autocomplete when instead I wanted to start navigating with the cursor which auto-complete prevents. Auto-complete really needs a configuration option for a delay. If auto-complete could be configured to wait some number of milliseconds before initiating it would be perfect (for me anyway). Plus being able to be disabled and otherwise configured for others.
6) Features that do change code automatically but are minor and not intrusive like automatically adding uses clauses.
7) Features that are heavily interactive when the user is coding and can be intrusive. Such as in-line suggestions presented where the user is typing. Or hints or basically anything that adds text or causes the code to shift around unexpectedly due to what the user is typing.
8) Features that are not really interactive but are extremely intrusive while the user is coding. Things such as automatically reformatting blocks of code.
It used to be that ReSharper mostly consisted of features in the 1-7 range with almost nothing in the 7-8 range. It had a couple/few options for auto formatting but those could be found and turned off with a few check boxes on one or two pages. Then ReSharper would be unobtrusive.
Now, however, the default configuration is for ReSharper to be absolutely obnoxious and constantly get in the way changing the code and being heavily obtrusive. The settings to disable these behaviors are spread all thorough out the configuration pages, they do not easily stand out and are difficult to find.
What would be really nice is if there was a top level configuration page that was easy to find and provided the user with a couple of buttons or something that would set all of the intrusive configuration options off. Something like “Disable all code in-line suggestions and hints” with a button that when pressed turned off all such settings on all pages. “Disable all automatic code formatting” likewise with a button that did that. Etc. The user can then always go through and turn things back on if they want them.
Hint: Not having a feature occur and assist when desirable rarely causes a user to want to yell at the screen. But having an unexpected and highly intrusive feature automatically trigger when unwanted that changes things in a way the user does not want WILL cause the user to be upset.
I'll also toss this out there. Its an elephant in the room that no one likes and no one really wants to talk about. AI can be quite helpful. But on our current path its also going to replace the majority (if not all) junior developers in the next few years. Like it or not, that seems to be the future. Highly intrusive AI coding suggestions are mostly useful to junior developers. Companies who create development tools should consider carefully if they want to drive away mid-level and senior developers in favor of providing features to junior developers when those junior developers may not be around to be paying customers in a few years. Just saying.
I was a paying customer 15+ years ago. I would like to be a paying customer years from now. But if ReSharper continues to get more obtrusive and it remains hard to configure I may not be.
Hello James B Higgins, thank you so much for your detailed feedback, we shared it with the team.
First of all, I want to say that we are sorry that Resharper is causing you any inconvenience. I will try to give you a list of options that can be disabled, I hope this will help. Perhaps the list will be incomplete, as I could have misunderstood something from your feedback. Therefore, if any questions remain, please let us know. In addition, we have brought up some points for discussion with the team. I hope we can somehow improve the behavior of the ReSharper based on your feedback.
The list of options that can be disabled is as follows:
I'm not sure I understood how it looks in Visual Studio. If you can share more details about this - we will be happy to investigate this case. For now, you can uncheck the Use indent style and size from Visual Studio option in ReSharper | Options | Code Editing | C# | Formatting Style | Tabs, Indents, Alignment and set any necessary indent values for Indent style, Indent size, Tab width.
If I missed something, please let me know. I will also duplicate this text in the reply to the request you sent to our support system. Thank you!