Closed svermeulen closed 10 years ago
On further investigation this appears to be more of a neocomplete issue than an omnisharp issue. I will submit it over there.
@svermeulen out of interest, do you prefer neocomplete to YCM? I haven't tried it yet.
Are you using YCM then? Or neocompletecache still?
I was a die hard YCM user until recently, when I hit a wall with it trying to add some customization. NeoComplete on the other hand was able to do what I want (it is very customizable and extensible). It seems great besides this one bug.
I'm slowly migrating over to Shougo's plugins, but it's taking awhile. I'm now using NeoBundle instead of Vundle, NeoComplete instead of YCM, and vimfiler instead of nerdtree. The only one left is to replace CtrlP with Unite - just haven't had time to play with that enough yet.
I use both YCM and SuperTab depending on my mood - sometimes I find automatically popping up suggestions distracting :) I just switched over to vim-vinegar from nerdtree.
Shougo's plugins seem to be very well received - I should try them out sometime. I should try Unite too, I'm getting crashes now using Find Types / Symbols from CtrlP on Vim 7.4 on OSX.
I assume you use the tab key for completion? I used to do that but for the last few months have been using 'jk' and have been really liking that instead. And <c-j>
/ <c-k>
for navigation (though with neocomplete fuzzy select I only rarely need navigation)
jk sounds like a nice idea for completions. I might try that, I currently use tab for completions. Though I do like tab to trigger completions and then tab again to select. I guess my muscle memory has learned that from the shell :)
I'm actually using emacs with evil mode quite a lot at the moment. Evil mode is actually pretty excellent - it's a very good emulation of vim, the best I've seen. Haven't decided yet whether or not I'm going to make the switch permanent.
Company-mode on emacs is the best autocompletion system I've seen by quite a margin too.
Yeah I've heard good things about evil mode. The problem for me is that I am just so invested in the vim ecosystem. The idea of porting over my entire vim config (which is very non-standard) seems pretty daunting. I don't see how I could replace all the vim plugins that I'm used to (not to mention all the custom vimscript I've written for myself). Maybe there's plugin equivalents for everything, I don't really know.
What features are we missing out on with company-mode?
Well... Emacs is much bigger than Vim, so there's a hell of a lot of functionality out of the box without using any plugins. It has an in built package manager too. There is a noticeable delay the first time you open it, but that doesn't seem like such a big deal to me.
Company mode is just super configurable whereas Vim's completion system is pretty much fixed. You can set it to only complete after a certain number of characters for example. I like the fact that if there is only one completion available, then it displays it with placeholder text in front of the cursor without bringing the popup window up. You can select the completion, or just type over it. You can choose to display documentation on a case by case basis with a hotkey while the popup is open.
My favourite feature of all though is that you get parameter placeholders on method calls for example. So you select the completion, then you can tab between parameter placeholder text. This alleviates the need somewhat for a separate documentation window. Check the 2nd screenshot here to see what I mean http://bbbscarter.wordpress.com/2013/08/17/c-autocompletion-in-emacs/
Company mode is just one of various completely different completion systems for emacs. The whole editor just seems to be much more flexible and as the whole thing is pretty much elisp, you can change whatever you want - even on the fly!
Still, I'm undecided.... and I'm still learning. You should give it a try!
This video is worth a watch if you haven't seen it http://bling.github.io/blog/2013/10/16/emacs-as-my-leader-evil-mode/
I've noticed that in some cases, OmniSharp + Neocomplete causes strange errors when using the repeat operator
.
To reproduce, I've created a blank solution with just this file:
And then replace
WriteLine
with 'foo':If you then undo that change, then go to the start of 'foo' and hit '.', you see the following. ([x] marks cursor position)
That is, the 1 gets decremented to 0 and the cursor moves up one line for some reason.
I am using vanilla vim with NeoBundle and the following .vimrc:
Which I just took from the suggested configuration on the Neocomplete page, and added the force_omni_input_pattern from the Omnisharp suggested page.