Vim omnicompletion для C#

Мне было интересно, есть ли какой-нибудь инструмент, такой как OmniCppComplete для C# (сигнатура метода, показанная в сокращении, это то, что меня больше всего интересует). Я искал везде безрезультатно.

Обновление: я буду редактировать в основном из терминала оболочки, поэтому, пожалуйста, воздержитесь от предложения альтернатив Vim с графическим интерфейсом.

5 ответов

Очень просто. Загрузите и установите Exuberant ctags ( http://ctags.sourceforge.net/) (часть любого дистрибутива linux работает даже в Windows).

В каталоге вашего проекта сделайте это:

# ctags -R .

Это создает файл с именем "теги".

Теперь запустите ваш vim в той же директории. Откройте файл, наслаждайтесь OmniCompletion и другими вещами, которые вы можете делать с тегами.

Пожалуйста, не, пока это не идеальное решение (оно полностью игнорирует контекст), оно дает вам хоть что-то. Большим преимуществом является то, что вы можете сделать то же самое с любым другим языком, который поддерживает ctags (более 40 языков программирования). Также вы можете перейти к определению (функция, константа и т. Д.). Читайте: http://vim.wikia.com/wiki/Browsing_programs_with_tags

Это может быть только обходной путь, но вы можете нажать Ctrl+P для автоматического заполнения любого слова, ранее набранного в файле (используйте Ctrl+N для слова, набранного после текущей позиции курсора).

Вы можете попробовать OmniSharp. Его завершение показывает сигнатуры методов:

omnicompletion показывает подписи метода

Последняя версия включает в себя установщик (для linux/mac/unix и windows) для устранения проблем установки. (Это было намного проще, чем в прошлый раз!)

Я использую этот плагин, чтобы получить полуавтоматическое поведение завершения для всего:

https://github.com/shougo/neocomplcache

Вы можете проверить эти ресурсы, чтобы получить правильные настройки для C#:

http://arun.wordpress.com/2009/04/10/c-and-vim/

http://www.vim.org/scripts/script.php?script_id=1265

Это кажется немного устаревшим. Возможно, вы просто захотите загрузить файл PHP omnicomplete (или любой другой, но я знаю, что он доступен). Затем измените имена функций, классов, ключевых слов и т. Д., Чтобы они стали эквивалентами C#. Добавьте его в каталог плагинов и загрузите для использования всеми!

Другие вопросы по тегам