Disabling some ReSharper features

Hi Guys,

I am wondering if someone can help me figure out how to do the following:

1) is there a way to completely disable R# live templates or snippets and re-enable the VS ones. When I tried disabling them from the Template Explorer, the built in Visual Sudio ones did not work anymore.  I really hate the R# ones.

2) The native Intelisense behavior allows you to left click on items in the suggestion list box without committing them. I noticed that in R#, this is not the case. Left clicking commits the selection. I'd love to know if this feature can be disabled. I hate that.

3) Prior to R#, I used Visual Assis for c++ development, as well c#. Visual assist has a really nice fearure where is suggests arguments to methods based on a matching types from decalred variables. I am wondering if R# has a similar feature.

I am using the latest build of R# 9 on Windows 7 64 bit.

Thank you for the help.

7 comments
Comment actions Permalink

Hi.

1. Visual Studio's snippets still work with ReSharper, but they're not shown in the UI (there's a COM threading issue here - VS exposes its snippets only on the UI thread, and ReSharper's code completion is asyn and multi-threaded). But if you type the snippet shortcut and hit tab, they still work, and are expanded correctly. You can also use the normal VS shortcut to invoke VS's snippet chooser.

Can I ask why you hate the ReSharper snippets? They're very similar, but offer more functionality with macros that provide richer and more powerful code completion suggestions.

2. The click to select behaviour in code completion is something that ReSharper doesn't implement - it's more keyboard focussed. What's your scenario for this? There is an open issue for this behaviour, please vote and leave feedback: https://youtrack.jetbrains.com/issue/RSRP-307863

3. ReSharper has "smart completion" which will do what you want - suggest only items from the local context that fit. I.e. if I need to pass a string to a method, smart completion will just suggest string variables, parameters, fields, properties or methods returning string that are in the local context. You can find out more in the docs (although the shortcut is a bit weird there - it's CTRL+ALT+SPACE with the VS shortcut scheme and CTRL+SHIFT+SPACE for IntelliJ)

0
Comment actions Permalink

Hi Matt,

Thank you for your reply.
1. It's been almost two weeks and I am slowly starting to get the hang of ReSharper. I think I just need to get used to it. Give me one more week and I am sure I'll have to take back the "I hate ReSharper snippets tool" :)

2. I am not a keyboard shortcut person, so for me, being able to click around with a mouse is improtant. I really hope that the left click is finally addressed. Another thing I don't like in ReSharper's intellisense is the tool tips. Altough they are more informative than the VS ones, I don't find them very user friendly. they are not easy to read. for exmple, in VS the return type is always on the left side, while in R# it's completely reversed, adding all the annotations makes it really crowded. I am not sure why the annotations are even necessary. again, maybe I am just not used to it, yet.  just wondering, is there a way to tweak the tool tips of intellisense? maybe remove the annotations, change return type position etc :)

3. the smart completion is nice but it would be even better if there was an option to auto invoke it when the carret is inside a method body.

one tiny issu I noticed,  intellisense does not work in the following situations.

using (var someObject = new someObject()){

     if (someObject. <-- R# intellisense shows "no suggestions found" but if I hit ctrl + space then intellisense shows all the suggestions for the memeber.

}

i wonder if you can reproduce it. if you can't let me know and I'll send you a short screen cast. I can reproduce it 100% of times.

Thanks,

0
Comment actions Permalink

You know, I hadn't even noticed that the return type was on the right hand side of the method signature in the tooltips! You might want to look at the Enhanced Tooltip extension (you can find it in ReSharper → Extension Manager), as it overrides the default tooltips in many locations with nicer, syntax highlighted tips. It might format the return type differently, and if not, it's open source, so you can add a feature request!

You can disable the annotations in ReSharper → Options → Intellisense → Completion Behaviour and ReSharper → Options → Intellisense → Parameter Info.

It's worth voting for the mouse click issue - feedback on issues is taken into account when we consider workloads.

We don't invoke smart completion automatically, because we don't know what you're going to do. While you're more likely to use a symbol of that type at that location, you might also be looking for e.g. the string version of the Person.Age property, so if we only showed the string items, you wouldn't see "Age" in order to type "Age.ToString()". The default auto popup should prioritise based on the current context, so should give you the smart completion items first, but it also shows everything else. I've just tested this on a build of 9.1, the behaviour might have changed - I know we've changed the default sorting that code completion uses.

I've just tried your sample with a recent build of 9.1, and it displays completion items, just as it should. 9.1 just hit RC, you can download a build here.

0
Comment actions Permalink

that's awesome. I'll look into the extenstion.

i'll certainly vote on it. do i need to create an account to vote?

here is a short screen cast to demo the issue i am having:





http://screencast.com/t/IFEuZl7e

Thanks,

0
Comment actions Permalink

Hello,

Might be because of typing inside a LiveTemplates HotSpot.
What if you dismiss the red box with ESC somewhen in the middle of typing
the dataReader word?


Serge Baltic
JetBrains, Inc — http://www.jetbrains.com
“Develop with pleasure!”


0
Comment actions Permalink

if I desmise the red box it works.

I wonder if this should be reported as a bug?

0
Comment actions Permalink

Hello,

I wonder if this should be reported as a bug?


Why not? Probably, it's not the way it's intended to work.

While you're in the red hot-spot of the live template, it's not showing the
regular completion but instead it invokes what the live template author has
requested for this field (e.g. "suggest variable name", "suggest a type",
etc).

As I see, for "if" it's "suggest a boolean variable", which IMHO isn't so
good. Try changing it to "Execute basic completion" and see what happens.

PS again IMHO but the "if" template isn't of much help because as you type
"if(" you get the closing parenthesis automatically, and as you're thru with
typing the expression you can invoke Complete Statement (CtrlShiftEnter)
to add the statement block curlies and place the caret in between them —
all this with generic features rather than one-statement-specific template
magic.


Serge Baltic
JetBrains, Inc — http://www.jetbrains.com
“Develop with pleasure!”


0

Please sign in to leave a comment.