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. Его завершение показывает сигнатуры методов:
Последняя версия включает в себя установщик (для linux/mac/unix и windows) для устранения проблем установки. (Это было намного проще, чем в прошлый раз!)
Я использую этот плагин, чтобы получить полуавтоматическое поведение завершения для всего:
https://github.com/shougo/neocomplcache
Вы можете проверить эти ресурсы, чтобы получить правильные настройки для C#:
Это кажется немного устаревшим. Возможно, вы просто захотите загрузить файл PHP omnicomplete (или любой другой, но я знаю, что он доступен). Затем измените имена функций, классов, ключевых слов и т. Д., Чтобы они стали эквивалентами C#. Добавьте его в каталог плагинов и загрузите для использования всеми!