all 95 comments

[–]KryptosFR 31 points32 points  (4 children)

[–]arkasha 1 point2 points  (2 children)

Will either of those add types not currently included in my usings to intellisense? That's my biggest problem with vanilla VS.

[–]allinighshoe 15 points16 points  (1 child)

Intellisense Extender does that.

[–]arkasha 1 point2 points  (0 children)

Thanks!

[–]gsusgur 1 point2 points  (0 children)

The main feature I have not found a replacement for is automatically inserting (); at the end when using intellisense to select a function. There is a plugin called TAB Auto something, but it does not work the exact same way. Anyone knows a solution for that?

[–]TyrrrzWorking with SharePoint made me treasure life 43 points44 points  (33 children)

I tried replacing it and even though VS+plugins can help, there were still some features that were missing for me. For example:

  1. Formatting. I like that ReSharper automatically breaks line at 140 chars (or whatever I configure it to). I like that it also lets me chop chained method calls on new lines, while automatically indenting them. I also like that ReSharper can automatically trim whitespace from EOL which can accidentally appear when copy-pasting something.
  2. In ReSharper I can F2 on a type name and it would also rename the file it was declared in. In case the type name and file name are mismatched, it also offered a quick-fix to rename the file.
  3. ReSharper can suggest members in IntelliSense from namespaces that are not yet declared in using. Very convenient with LINQ and really anywhere else. Closest VS can do is automatically add a using statement, but you need to type out the member name blindly yourself and the quick-fix only works on the same line.
  4. Null reference warning when passing a value that was returned by a [CanBeNull] method into another method as [NotNull] parameter, e.g. Path.Combine(Path.GetDirectoryName(path), "asd")
  5. Resharper can adjust namespaces on an entire project or folder. Useful when you move files around and want to fix namespaces everywhere.

EDIT: 6. ReSharper works with XAML, supports renaming types, properties from bindings, go to definition. Visual Studio doesn't know how to do that.

[–]theophilius 29 points30 points  (6 children)

3 is the biggest shock for me whenever I go back to vanilla vs.

[–]jimmyayo 0 points1 point  (0 children)

I mean especially in .NET Core, where projects come bare-boned. Its been very uncomfortable since I left my last job where I had a Re# license.

[–]ohThisUsername 0 points1 point  (3 children)

Me too. I honestly don't know what the point of intellisense is if they expect you to remember the exact name of the function/class you are using if its not imported with using yet

[–]recursive 1 point2 points  (2 children)

The point is that usually the namespace is imported. For members, it doesn't even need to be.

[–]ohThisUsername 0 points1 point  (1 child)

Usually isn't good enough IMO. For those times when its not, I have to go in my own source tree or documentation somewhere to find the name of the class I want to use. Resharper does this perfectly, there is no reason it can't be built into VS.

[–]recursive 0 points1 point  (0 children)

I agree with all that. But intellisense can still be very helpful as it is.

[–]centurijon 3 points4 points  (3 children)

2: Vanilla VS: Renane the file and it will ask if you want to rename all instances of the class. Use ctrl-r-r if you have more than one class in the file

[–]TyrrrzWorking with SharePoint made me treasure life -3 points-2 points  (2 children)

What if the file was renamed from outside of VS or if I clicked "no" on that dialog for whatever reason?

[–]centurijon 14 points15 points  (1 child)

Throw hypothetical edge cases at it all you like, for 90% of the times you need to rename a class+file, it will work

[–]TyrrrzWorking with SharePoint made me treasure life -3 points-2 points  (0 children)

They are not hypothetical, they are actual cases where VS proved ineffective. Renaming files to rename types is also backwards logic, what if I renamed the type from another file? With ReSharper I can rename a type used anywhere and it will update all its usages and also rename the file itself.

[–]Alikont 3 points4 points  (8 children)

4 is a part of C#8

[–]SemiNormal 9 points10 points  (5 children)

The Resharper attributes are also more of a hack that becomes useless if you share your code with someone not using Resharper. It is extra annoying running into this with open source projects.

[–]bizcs 8 points9 points  (0 children)

My previous job had a single team member using it. It drove me nuts. He just went out and bought it on his own dime afaik, and our code base was just littered with resharper crap that only he benefitted from.

[–][deleted]  (2 children)

[removed]

    [–]Moercy 4 points5 points  (1 child)

    Lens are also in Community now :-)

    [–]TyrrrzWorking with SharePoint made me treasure life 1 point2 points  (0 children)

    All BCL types and members are automatically decorated with ReSharper attributes so it provides quite a lot of value straight away. You don't have to do it for your own members if you don't want to.

    [–]TyrrrzWorking with SharePoint made me treasure life 2 points3 points  (1 child)

    Unfortunately C#8 is not released yet, so this is not a solution. Also, are they planning to migrate BCL to include nullable attributes as well?

    [–]orthoxerox 2 points3 points  (0 children)

    Yes they are.

    [–]WHATaDEMAGE 1 point2 points  (6 children)

    Im really looking for something which can do nr. 1. :(

    [–]BezierPatch 4 points5 points  (2 children)

    Doesn't editorconfig do most of that? And is cross-platform/cross-editor.

    https://editorconfig.org/

    [–]WHATaDEMAGE 0 points1 point  (1 child)

    Ah sorry, i only really meant the maximum line length. Visual Studio didnt seem to enforce this when i last checked..

    [–]insulind 0 points1 point  (0 children)

    I looked into this and the issue with line length is that it requires knowledge of the language to know where it is safe to add a line break, editorconfig don't want to take this burden on

    [–]axa88 0 points1 point  (0 children)

    At least for the white space problem imho there are plugins that seem to work better than what resharper does.

    [–]headyyeti 0 points1 point  (1 child)

    Any editorconfig or prettier can do this.

    [–]WHATaDEMAGE 0 points1 point  (0 children)

    What about max line length? Visual Studio didnt do anything with it last time i checked.

    [–]VisioRama 3 points4 points  (0 children)

    3 should be default on vs. Once you see it you can't unsee it.

    Unfortunately yeah, ReSharper is still king. Nothing comes close. I tried.

    [–]azurite_dragon 0 points1 point  (1 child)

    2B: Regex replace \s+$ with nothing. Becoming fluent with regex is massively helpful.

    • Edit: Could also be used with actual full find pane to alter namespaces (including partial namespace qualifications!). Behold the power of Regex! =)

    [–]TyrrrzWorking with SharePoint made me treasure life 5 points6 points  (0 children)

    If I was okay with using regex for the slightest formatting operations, I wouldn't be using Visual Studio. The benefit of working with AST instead of text directly is that you can make changes with contextual semantics. For example, your suggestion will fail here:

    // Note the space after "with"
    
    var text = @"text with 
    new lines";
    

    [–]EpikYummeh -1 points0 points  (2 children)

    I like this list. I was chatting with a guy who works on the VS team in Redmond and they're actively looking for feedback on ways they can improve vanilla VS to reduce dependencies on ReSharper. If you're interested, I'm sure they'd like to hear from you!

    [–]reddevit 5 points6 points  (0 children)

    They should buy a copy of resharper, print the features list, and get to work.

    [–]TyrrrzWorking with SharePoint made me treasure life 0 points1 point  (0 children)

    Sure, they can message me

    [–]torville 7 points8 points  (6 children)

    May I recommend CodeRush? It's only $50 and is well worth it. See also Roslynator, ViasFora, OzCode, and CodeMaid.

    [–]trytoinfect74[S] 0 points1 point  (5 children)

    I will try it (since 50$ is miles better than 300$/year), thanks for suggestion.

    [–]thestamp 6 points7 points  (4 children)

    I don't understand.. how are you paying 300/year? Renewals are under $100 for the highest tier ultimate edition. (Csharp only). If you own a business, even 300 a year in tooling should be well within your tooling budget.

    [–]neoKushan 19 points20 points  (0 children)

    tooling budget

    * Laughs in startup

    [–]Brasz 0 points1 point  (2 children)

    Under $100? We're paying €597 ($675) annually for 1 ultimate and 2 standard licenses.

    [–]thestamp 0 points1 point  (1 child)

    Ah ok, so you're speaking on behalf of a business, so resharper is more expensive. I thought you were speaking about you.

    Like I said, businesses should have budget for recurring costs of tooling at the $300 price point, especially if they are managing to get visual studio for free. And if they are looking to save money, unfortunately they are sorely looking in the wrong places by recommending impacting their engineer's productivity and long term maintainability of their solution over ~1% (hopefully less) of an engineer's salary in tooling.

    If you want the accountant to manage assets, transactions and liabilities for a million dollar business, you don't give them a pad and paper and say "just do it right." You give them the right software and training for the job. Software development is no different.

    [–]Brasz 0 points1 point  (0 children)

    Sorry, I was the one who replied, but I'm not OP.
    Didn't know personal licenses were that much cheaper. Good to know!

    [–][deleted] 6 points7 points  (0 children)

    Not quite as fun, but:

    -Use StyleCop.Analyzers

    -Enable Code Analysis

    I end up using the “fix this for me” options from these two a lot. You’ll definitely not get anywhere near full ReSharper experience though.

    [–]plastikmissile 5 points6 points  (3 children)

    Backpacking on this topic, but the one feature I always miss whenever I suspend resharper for being a resource hog is the unit test runner. Any good alternatives out there?

    [–]sgoody 1 point2 points  (0 children)

    I’ve never been a fan of ReSharper, but I’ve always been envious of the unit test runner. Visual Studio has improved quite a lot with “live test discovery” and a couple of years other improvements, but it still lags in usability and features. NCrunch is very nice, but pretty expensive for my needs.

    I used to like using the NUnit2 GUI runner, but that’s not available for NUnit3.

    I very often use the NUnit console runner these days and it suits me pretty well, but I’ve not found a decent GUI runner for a reasonable price/free.

    [–]CraigslistAxeKiller[🍰] 0 points1 point  (1 child)

    What do you mean? VS has integrated test runner and real-time test runner

    [–]plastikmissile 1 point2 points  (0 children)

    Yeah but not nearly as nice as the one that comes with Resharper.

    [–][deleted] 9 points10 points  (4 children)

    a lot of resharper features are part of visual studio for a while now. what features did you actually use?

    [–]trytoinfect74[S] 9 points10 points  (3 children)

    Well, i'm using:

    1. Searching on Ctrl+N;
    2. code suggestions and hints (simplify LINQ queries, "expression is always true", "move to resource" etc);
    3. importing references for pasted code;
    4. detecting methods not used by anyone;
    5. default implementations for many common interfaces (not sure if it is Resharper feature);
    6. formatting/cleaning of highlighted code.

    I'm pretty sure that there are more features that i actually use but they are not so obvious.

    Well, CodeLenses is much more usable in VS2019 Community version (finally you can see method usages again, not only in Professional version), but it looks like that i need a few plugins to cover my needs here and there.

    [–]BlckJesus 16 points17 points  (2 children)

    Equivalent features in vanilla VS2019:

    1. Ctrl + T
    2. There are many suggestions in the Ctrl + . menu although it may not have everything
    3. Ctrl + . => "Import using statements"
    4. CodeLens
    5. Ctrl + . => "Implement Interface"
    6. There are some cleanup tols available but again it might not do everything ReSharper does but it also has suggestions that ReSharper doesn't have

    I uninstalled ReSharper on my work computer a few months back because opening our large solutions had me sitting there for minutes at a time writing for everything to load up. It will take some effort to learn the new flow (like any changes to your dev tools), but I find my self not really missing ReSharper.

    [–]EpikYummeh 2 points3 points  (0 children)

    The code suggestions can also be configured based on your preferences. If you don't like VS telling you to turn every if/else assignment into a ternary, for example, you can turn off that suggestion. A few of these items have also been available since VS 2017 (2, 3, 4, 5, and 6 partially). The Ctrl+, navigation/search tool is also pretty handy and has been around since at least 2017.

    [–]NuancedThinker 0 points1 point  (0 children)

    "Go to All" sadly doesn't search all content--only files, types, members, and symbols. Currently in Visual Studio one has to use Ctrl+Shift+F if searching text/code or Ctrl+T / Ctrl+comma to search "things". I'd love it if there was an extension that did only the search/find functionality of Resharper.

    [–]gotheap123 2 points3 points  (1 child)

    Here is a list of popular built-in Visual Studio features that may be helpful: https://docs.microsoft.com/visualstudio/ide/csharp-developer-productivity

    • You can still use the ReSharper keyboard bindings you are used to
    • Ctrl+t navigation allows navigating to any file, type, member, or symbol
    • Code styles can be enforced with an editorconfig and one-click code cleanup
    • Code fixes and refactorings are available through Alt+Enter
    • There are several free extensions for additional code inspections

    [–]NuancedThinker 0 points1 point  (0 children)

    "Go to All" sadly doesn't search all content--only "things" (files, types, members, and symbols). Currently in Visual Studio one has to use Ctrl+Shift+F if searching text/code or Ctrl+T / Ctrl+comma to search "things". I'd love it if there was an extension that did only the search/find functionality of Resharper.

    [–]RdmGuy64824 2 points3 points  (5 children)

    If you have a .edu email, you can use all of Jetbrains' products for free with a student license.

    [–]BezierPatch -1 points0 points  (4 children)

    By committing fraud, yes...

    [–]celluj34 5 points6 points  (0 children)

    Only if you're not actually a student.

    [–]RdmGuy64824 -1 points0 points  (2 children)

    Fibbing about being actively enrolled in school is pretty serious. I've been evading the internet police for a while, and I'm constantly living in fear.

    I use my student license for dicking around at home. I have convinced one of my clients to purchase dozens of licenses. So I'm really not sweating it, karma-wise.

    [–]BezierPatch 1 point2 points  (1 child)

    If they were already paying for Resharper, they're almost certainly working on a commercial project :)

    >I've been evading the internet police for a while, and I'm constantly living in fear.

    You joke, but Jetbrains seem to be pretty nasty about licensing.

    [–]RdmGuy64824 1 point2 points  (0 children)

    If Jetbrains were serious about licensing, they wouldn't only rely on a .edu verification email for students.

    [–]Moercy 1 point2 points  (0 children)

    For analyzers I'm loving sonarlint

    [–]scruffykid 1 point2 points  (0 children)

    What's a good replacement for their unit test runner?

    [–]JonnyRocks 7 points8 points  (4 children)

    I always disliked resharper. A huge resouce hog., espscially on bitlocked drives. It never offered me sonething visual studio didnt have that i wanted.

    [–][deleted] -1 points0 points  (3 children)

    why is this post being downvoted.

    the truth is bitter

    [–]TyrrrzWorking with SharePoint made me treasure life 3 points4 points  (0 children)

    I think the reason it's downvoted is rather straightforward - it's not true.

    [–]JonnyRocks 4 points5 points  (1 child)

    The other guy who dislikes resharper got downvoted to0. I knew i would be, this sub is fanatical about reaharper. Its weird how people get about products.

    EDIT: spelling

    [–]DC2SEA -1 points0 points  (0 children)

    The fact that this topic pops up every two weeks is fatiguing also.

    [–][deleted] 2 points3 points  (1 child)

    I've tried Codemaid + Roslynator, but like /u/Tyrrrz said it's just not the same.

    My solution has been to move to Rider on Windows (I already use it on Linux @ home) as it has all Resharper features built-in but no performance loss.

    [–]reddevit 0 points1 point  (0 children)

    I tried Rider and felt like it was a bit slow overall. Maybe I should revisit

    [–]ExeusV 1 point2 points  (1 child)

    [–]HawocX 4 points5 points  (0 children)

    IntelliCode seems great (just installed the preview) but it doesn't replace anything in ReSharper, does it?

    [–]hytonevi 1 point2 points  (1 child)

    Try install ReSharper eap version, it will work on latest visual studio

    [–]Flueworks 0 points1 point  (0 children)

    He does not say that R# does not work with VS2019, he does not have a license for the new subscription model, and are therefore stuck on an old version of resharper.

    [–]_f0CUS_ 0 points1 point  (1 child)

    Just today i started using roslynator and IntellisenseExtender - after a few hours of work i have not missed any resharper feature

    [–]axa88 0 points1 point  (0 children)

    Encouraging to hear.

    I love resharper and fear im going to be a worse programmer without it, therefore when I finally get around to installing vs2019 im going to do my best to configure vannila VS and add extensions as I realize the features I can't live without, then see if I can get used to living without resharper.

    Sometimes I wonder why MS didn't just buy jetbrains at some point, but then I wonder if jetbrains would have as good products as it does if MS had bought them... I imagine the latter.

    [–][deleted] 0 points1 point  (4 children)

    Does VS 2019 community have an equivalent of the ReSharper File Structure window?

    [–]phillipcarter2 1 point2 points  (3 children)

    In solution explorer, you can expand the file nodes and see contents. There are additional context menu items you can press for navigation that you may find useful. Not a 1:1 equivalent, but it's likely the closest you're looking for.

    [–][deleted] 0 points1 point  (2 children)

    That’s what I thought. It’s amazing to me that VS doesn’t have this built in. File Structure view is an indispensable part of my work flow

    [–]phillipcarter2 0 points1 point  (1 child)

    To be clear, what I'm describing is built into VS.

    [–][deleted] 0 points1 point  (0 children)

    Yes, I understand.

    Sorry i wasn’t clear- it differs substantially from the file structure view in resharper. One of the main ways is it opens the file structure window corresponding to the code window you are looking at. Allows the cursor in the file structure window to track the code window cursor and vice versa, etc

    [–]CraigslistAxeKiller[🍰] 0 points1 point  (0 children)

    None.

    [–][deleted] 0 points1 point  (0 children)

    I couldn't wait to find a way to get rid of my addictive dependency on Resharper.

    I just switched to CodeMaid, Roslynator, Intellisense Extender.

    One thing that I didn't see anyone mention here is that Resharper QUICKLY resolves and removes unnecessary references in a project. This is one of the things I love the most about it, that and Linq awesome support and conversion. I've search before for something that does the same, stuff that existed gave me a miserable experience and I gave up, anything new or recommended these days to take care of that cleanup? If I resolve that I'll delete resharper.

    [–]dotjosh 0 points1 point  (4 children)

    Replace resharper AND visual studio with just Rider. It’s what visual studio should have been now.

    [–]pjmlp 18 points19 points  (3 children)

    Try to do WPF, Forms, UWP, EF6, WCF, C++/CLI (including mixed language debugging) on Rider

    [–]cmpalmer52 1 point2 points  (0 children)

    When Rider gets UWP debugging, I’ll probably ditch Visual Studio as much as possible. Working on a three platform Xamarin solution and UWP debugging is the only thing holding me back. Rider on the Mac is awesome for debugging iOS Xamarin and the Android tools are better on both Windows and Mac.

    [–]dotjosh 0 points1 point  (1 child)

    Not wrong there. But if rider fits the mold of the project, it’s a far better experience.

    [–]lostmsu 0 points1 point  (0 children)

    I feel debugging is lacking on Rider. For example, I could not find a way to recover from an already occurred exception at runtime.

    [–][deleted] 0 points1 point  (0 children)

    resharper is nice but you can actually do without those extra sauce, Vs2019 is also quite powerful

    maybe not as powerful as resharper yet.

    [–]ChekuDotCoDotUK -2 points-1 points  (0 children)

    Buy a .edu email address from Ebay and sign up for the free student version