[MonoDevelop] Migrating from VS and R#

xeno.by xeno.by at gmail.com
Sat Aug 21 08:31:55 EDT 2010

Hi all!

Some days ago I've decided to check out Linux, and I liked it so much that
now I want to completely migrate from Windows. The only problem is my job
that involves coding .NET stuff. I have installed mono together with
monodevelop, so currently I'm in the middle of migration (luckily, my
project doesn't involve interaction with Windows-only stuff). 

I've spent quite a bit of time digging into MonoDevelop and, frankly
speaking, I'm pretty much astonished at the amount of functionality
available. 80-90% of things I use with VS and R# are already here and (omg!)
usually have much better performance (e.g. intellisense with loads of
options is instant, whereas in VS+R# environment it usually lags a lot). Now
I've got only to fix those missing percents, and I'm all happy with my Linux
development environment. 

So the questions are as follows:

1) My top feature of R# is, surprisingly, identifier coloring. Personally
for me it significantly simplifies mental parsing of the program. Being able
to easily distinguish fields, methods, locals and arguments is invaluable.
Any ideas how I can achieve this with MonoDevelop? I tried semantic
highlighting, but it seems to only highlight class names (e.g. within

2) Another thingie in R# that I also use frequently is "Ctrl+Alt+Space",
which displays an intellisense list of applicable methods that gets
populated from all referenced assemblies and namespace, *regardless* of
whether there's a corresponding "using" at the top of the file. So, if I
have lots of utility extension methods (and I do), I don't have to populate
usings first or enter a name and then wait for the quick-fix popup to
emerge, I just type several first symbols of the method name and then hit
Ctrl+Alt+Space - it will automatically search through my references and
auto-import namespaces if necessary. How does one achieve the same effect in
MonoDevelop? I tried "Toggle Completion Suggestion Mode", but didn't manage
to figure out what it does.

3) If we talk about navigation, I must confess that I'm impressed by the
speed of various "Go To..." dialogs. However, I wasn't able to find
analogues of several important features I use every day. Firstly, "Go To
Definition" doesn't display something like Studio's assembly browser (or w/e
it is called) when I use it on a library class. Secondly, it appeared that
I'm quite addicted at Ctrl+clicking method/class usages to go to definition.
It seems, that both features are missing. Any workarounds?

4) (An offtopic). Expanding the topic of navigation, I'd love to ask your
opinion on Reflector's replacement. Yeh, of course, one can run Reflector
under Mono, however, most navigation features in Reflector depend on IE, so
they become broken in Linux. Any ideas here?

5) Finally, is there a possibility to turn off automatic highlighting of
local/parameter usages within a method. That's a rough analogue of R#'s
Alt+Shift+F7, however, sometimes it's annoying, so I'd love to disable this
feature by default and toggle it whenever I need it. How do I do that? Upd.
Yeh, a small addition. Is there a way to make those symbol highlighting
persistent as in R#, so that they don't disappear whenever I move the caret
away from the symbol of interest?

I'd like to stress it once again - I'm very pleasantly surprised to see that
overwhelming amount of my favourite VS+R# features have equivalent or better
analogues in MD. Yeh, there are some bugs (e.g. with extract/inline variable
refactorings), but they can be tolerated - overall quality is still pretty
View this message in context: http://mono.1490590.n4.nabble.com/Migrating-from-VS-and-R-tp2333440p2333440.html
Sent from the Mono - MonoDevelop IDE mailing list archive at Nabble.com.

More information about the Monodevelop-list mailing list