ervandew / eclim

Expose eclipse features inside of vim.
http://eclim.org
GNU General Public License v3.0
1.04k stars 127 forks source link

Refactoring and Code Correction for non-Java langages #443

Open iago-lito opened 8 years ago

iago-lito commented 8 years ago

What a thrill yesterday when I asked Google for vim eclipse and the answer was eclim ! This is an amazing project and I love how smart the design is.

I am writing here as a C++-Python coder and I was mostly interested in using Eclipse for its code refactoring and quickfix/autocorrection features. I seems like Eclim supports such Eclipse features for Java coding (:JavaCorrect, :JavaRename..), but the doc looks empty as far as C, C++ is concerned, even though it already supports autocompletion and local history.

Are there yet in Eclim such commands as :CCorrect, :CRename, :CMove, etc. ?

If not, is there an Eclim's official roadmap where we could watch them grow? In a nutshell, how is the balancing of the features page doing?

puremourning commented 8 years ago

Apologies for the shameless plug but YouCompleteMe supports semantic auto complete and quick fix (and more for c-family languages. Refactoring... Not yet. YCM also works very nicely for Python and can integrate with eclim and omnifunc for many other languages.

iago-lito commented 8 years ago

No worries, I already was a huge fan of YCM ;) But I didn't know about its quickfix feature. Is it "quickfix" in Vim's sense (jump to errors) or Eclipse's sense (autocorrection)?

I have a dream that one day (somebody already wrote this I think), modularity will be so much venerated that all these "IDE features": {coloring, completion, refactoring, quickfixing, local-historing, debugging..} will be run by independent programs, so that choosing your interface from {Eclipse, Vim, Emacs, Notepad++, Code::blocks, VisualStudio, TextMate, nano, TextMate, cat-sed..} will only be.. like really only be just a matter of taste. :)

And I think Eclim and YCM are very good first steps towards this perfect world. Keep up with the good work guys :)

puremourning commented 8 years ago

It is correction, check the docs. There's also a demo on the PR

You type :YcmCompleter FixIt when the diagnostic says (FixIt) at the end. I use a mapping :nmap <leader>yfi (_y_cmcompleter _f_ix _i_t).

iago-lito commented 8 years ago

How great. Thank you!

ervandew commented 8 years ago

@iago-lito I do most of my coding in python and java (far more of the former these days), so those are the two parts of eclim I'm most likely to spend time on since I get to use those features. I admittedly added the c/c++, ruby, and php support in hopes that if I got them started, other users who primarily use those languages would jump in and help expand their support. Unfortunately that hasn't really happened and my time has grown more limited, so enhancing those is pretty low on my list.

@puremourning I didn't realize YCM had added those additional features either. Very cool to see!

iago-lito commented 8 years ago

@ervandew I understand. Let's hope I'll be able to try and delve into Eclim's code one day, when something like a holiday comes by. This sure would be great :)