Какие наиболее важные функции IDE отсутствуют в Vim? - PullRequest
4 голосов
/ 01 октября 2009

Я программирую почти исключительно на Vim с 01.01.2001, и я чувствую, что Vim выполняет все мои потребности как редактор / IDE, но я не могу не задаться вопросом, возможно, были какие-то новые функции убийцы разработанные для других IDE в последнее десятилетие, которые позволили бы мне быть более продуктивным, чем я могу использовать Vim. Поэтому я спрашиваю: Какие наиболее важные функции IDE отсутствуют в Vim ??

Ответы [ 9 ]

4 голосов
/ 01 октября 2009

Мне не хватает отличной поддержки рефакторинга и советов по коду от таких инструментов, как Resharper. Регулярные выражения являются мощными для модификации кода, но понимание кода, как это делает Resharper, просто немного лучше IMO.

К счастью, я могу получить Resharper и Vim в Visual Studio, поэтому я счастлив.

4 голосов
/ 01 октября 2009
  1. Интегрированная отладка со всеми изысками, которые предоставляет Visual Studio / Eclipse (отладка потоков и т. Д.)
  2. Автозаполнение с поддержкой встроенной документации для методов / свойств
  3. Сборка и запуск из приложения редактора
3 голосов
/ 04 октября 2009

Изначально рефакторинг был убийственной функцией, которая заставила нас переключиться с Emacs. В течение последних 6 лет я широко использовал Eclipse для Java, и я ожидаю, что любая замена будет иметь:

  • Рефакторинг: переименование переменных, функций, изменение сигнатур методов (включая все обращения к ним).

  • Отладка: «Вы здесь», «Ваши текущие переменные» плюс такие вещи, как «перейти к определенному классу для этого объекта» или «перейти к фактическому типу для этого объекта». Я полагаю, что последний требует немного интеграции между отладчиком и редактором.

  • Замена кода при отладке. Измените код, нажмите Ctrl-S, и код в сеансе отладки будет обновлен в соответствии с тем, что вы только что изменили. Функция killer для больших программ.

  • Навигация: Простая навигация по иерархии классов (пожалуйста, покажите мне все реализации этого метода в этом интерфейсе и аналогичные).

  • Интеграция Javadoc - Eclipse может отображать Javadoc, просто наведя указатель мыши на идентификатор.

Плюс еще немного:)


Редактировать: Я иногда пропускаю функциональность Emacs в Eclipse, но редактор Eclipse стал сильнее, так что теперь он не так уж и плох. В этом отношении действие сохранения, разрешающее форматирование при каждом сохранении, было убийственным. Это гарантирует, что изменения правильно отображаются в исходном хранилище.

3 голосов
/ 01 октября 2009

Я считаю, что рефакторинг был бы очень полезен. Изменение имени java-пакета в vim с большим количеством исходных файлов может быть довольно громоздким.

3 голосов
/ 01 октября 2009

Реальный вопрос: что у VIM отсутствует в IDE.

1 голос
/ 03 октября 2009

То, что я пропустил, было завершение кода и отладка. Вот почему я начал использовать eclim http://eclim.sourceforge.net/index.html, чтобы я мог использовать vim для того, что он делает лучше всего, и затмять, когда он мне действительно нужен. Попробуйте - это фантастическая комбинация.

1 голос
/ 01 октября 2009

Поиск в файлах: в большинстве редакторов есть поиск по файлам в отдельном окне, и одновременно редактирование может продолжаться в главном окне. Результаты поиска обновляются по мере их обнаружения. Также можно просмотреть текущие результаты, щелкнув по нему, даже когда поиск продолжается, не дожидаясь завершения всего поиска (тогда как в cim нужно ждать, пока vimgrep / ctags завершит просмотр результатов)

Это особенно полезно для поиска по большому количеству файлов.

Таким образом, что-то вроде поиска в фоновом режиме и одновременного отображения результатов, на которые можно нажать, чтобы просмотреть их одновременно. (что-то вроде Microsoft Visual Studio 6.0 делает)

0 голосов
/ 01 октября 2009

Нет ничего не пропущенного в Vim, который есть в IDE. Единственное, о чем мы могли бы спорить; Vim должен быть настроен, и IDE выходит из коробки.

Позвольте мне прокомментировать другие ответы и как решить такие "потребности".

  1. сборка

Как уже упоминалось, используйте: сделайте и узнайте, как его настроить.

  1. рефакторинга

Используйте очень хорошо известный ropevim (для Python), он делает отличный инструмент рефакторинга. Вам не нужно больше, чем это. Есть много других, ищите ваш язык.

  1. Автозаполнение

Я использую этот фрагмент вместе с отображением в TAB (я думаю, что плагин supertab делает это)

" python stuff
python << EOF
import os
import sys
import vim
for p in sys.path:
    if os.path.isdir(p):
        vim.command(r"set path+=%s" % (p.replace(" ", r"\ ")))
EOF

" tags for python libs
set tags+=~/.vim/tags/python.ctags

autocmd FileType python,mako set omnifunc=pythoncomplete#Complete
autocmd FileType html,mako set omnifunc=htmlcomplete#Complete
autocmd FileType html,mako set omnifunc=htmlcomplete#CompleteTags
autocmd FileType mako set filetype=mako.html.js
  1. Справочная система

в Vim идеально, вам просто нужно изучить его систему. У этого есть свои собственные соглашения, как вещи организованы.

  1. Debugging

Я не знаю других языков, кроме Python, но запуск pdb и! Python% делает свое дело.

0 голосов
/ 01 октября 2009

Это как старый вопрос "Что носят под килтом?"

Ответ: «Ничего. Все в идеальном рабочем состоянии!».

А если серьезно, я бы хотел видеть более интуитивно понятную (простую в использовании) справку систему , добавленную в Vim .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...