Pull to refresh

Comments 51

Для интеграции с fogbugz есть отличный (но платный) репозиторий-плагин — foglyn.
Ничего личного, я действительно хочу знать ответ на свой вопрос: а чем все эти свистелки-перделки реально лучше того же вима? (статью прочёл внимательно. предложение «попробовать» неактуально — перепробовал всё, начиная от Komodo и заканчивая Эклипсом)
Mylyn — это надстройка над эклипсом.

Чем IDE лучше просто редактора? всем! Скорость работы — если не на порядок, то в разы точно больше. Меньше ошибок, особенно тупых. Автокомплит и резолвинг типов от стандартных и библиотечных до своих, индивидуальных, структура кода, исходник или переход на метод/функцию. Интеграция со всем что нужно — репозиторий и хелп как минимум. Шаблоны. Билд и дебаг.
Эм… А в виме всё то, что вы написали — есть. И не так, как захотели создатели IDE, а как захотел я сам.

В общем, для себя ответ на свой вопрос я получил: ничем не лучше. Каждый пользуется тем, к чему привык.
Продолжать не буду, дабы не холиварить и не троллить. Удачи.
Ну да, каждому — свое :)
Просто многим не хочется тратить массу времени на заточку под себя vim etc, их устраивают типовые решения, которые сделаны в большинстве IDE. Поставил — и работаешь.
>И не так, как захотели создатели IDE, а как захотел я сам.

Вот в принципе и ответ на вопрос «чем лучше?». В vim'е (и подобных средах типа emacs) для эффективной работы (а не в стиле «гуглим, как вставить пустую строку») нужно:
а) осознать что хочешь (нужно)
б) понять как это сделать (включая, но не ограничиваясь курением кучи манов, гугление и т. п.)
в) настроить это
И многие в результате все равно получат лишь жалкое подобие привычных способов работы. Используя же GUI IDE типа Eclipse, NetBeans или VisualStudio (а так же их плагины, аддоны и прочие расширения) нужно только установить и посмотреть «нравится-не нравится, удобно- не удобно». В большинстве IDE программу типа «Hello world» можно написать и запустить через несколько минут после первого входа в неизвестную ранее IDE, владея лишь общими навыками работами с современными графическими интерфейсами, vim к таким программам явно не относится (включая даже последние GUI версии, про консольные вообще молчу)
С другой стороны, в IDE на пользователя набрасывается сразу целая куча вещей, в принципе для программирования некритичных.

1)Интерфейс тяжел, перегружен элементами, часто пространства для кода совсем мало.

2)Нельзя быстро посмотреть на несколько участков файла одновременно

3) обычно нельзя удаленно редактировать файлы, скрипты, конфиги

4) Нельзя просто подредактировать какой-нибудь конфиг с привычными биндами — приходится переключаться на текстовые редакторы

5) Интеграция с системами контроля версий часто оставляет желать лучшего. Пример: git под eclipse.

6) Пользователь за абстракцией проекта не видит реальных механизмов сборки программы.

7) Программы иной раз просто-напросто медленно работают.

8) Тяжело быстро и под себя добавлять на клавишы простые скрипты (хорошие примеры: TextMate, Emacs; плохие: VS, Eclipse и т.д.)
Идеала, конечно, нет, но в vim'е я бы сказал, что на пользователя набрасывается одна вешь, но большая — сам vim :) Все мои попытки освоить vim заканчивались одним и тем же — я, в принципе понимаю, что могу сделать из него идеальную для себя IDE (если даже не ОС, точнее оболочку :) ), вот только заняло бы это едва ли меньше времени, чем разработка такой IDE с нуля, скажем на C++, а использовать vim в режиме notepad++ или gedit вместо обычной (пускай и не идеальной для меня) IDE скорость разработки скорее уменьшит, а не увеличит.

P.S. Весьма вероятно, что суть разногласий больше в не в функциональных возможностях сред (наверняка можно из vim сделать полный аналог того же Eclipse, как и наоборот, а вот нужно ли), а в подходе пользователя. Примерно как одни не понимают почему в винде не все можно сконфигурировать из панели управления, а другие не понимают зачем делали графические средства администрирования в никсах, если есть консоль. И ведь нельзя сказать, что кто-то прав на 100%, а кто нет.

Странно. Я не виммер, пользуюсь емаксом. Ценю в нем то, что он — не IDE. Иной раз слышу про какую-нибудь фичу, повторяю ее у себя в среде — и отключаю за ненадобностью.

Что же вам не нравится?

Возможность настроить все под себя?
Быстрый запуск?
Ускоренный набор текста и кода?
Отсутствие неоходимости пользоваться мышью?
Моментальное создание скриптов для обработки текста, запуска тестов и так далее..?
Редактирование конфигов?

со временем выполнение любых, даже комплексных, действий становится вопросом нажатия пары кнопок. Опять же, конечно, емакс — не вим, тут немного иная философия и иной уровень погружения.

И про консоль я ваши замечания прочитал… Конечно, гуй — это интуитивно. Но консоль дает больше свободы. Свобода всегда сложнее, чем жесткие рамки.
Всё верно.
Вообще, зря мы эту тему начали.
Каждый приходит к виму и емаксу по-своему, а других насильно заставлять просто нет смысла. Насильно мил не будешь :D
Я вроде как добровольно, но вот никак :( То ли что-то важное во всех прочитанных манах и статьях пропустил, то ли еще что-то
Не нужно себя заставлять =)
Не идёт — значит не ваше просто ;)
Пользуйтесь тем, что нравится и будьте счастливы =)
>Возможность настроить все под себя?
Необходимость всё это настраивать, изучать команды редактора, плюс, по сути, изучать еще один скриптовый язык для написания всего того, для чего одних команд мало. Подозреваю, что в vim'е, как и в emac'е в поставку не входят модули для полноценного (с учетом иерархии классов, интерфейсов и т.п. в ООП-языках) автокомплита (или я не смог понять как их запустить), а реализовать его без скриптов, анализирующих исходники по-моему затруднительно. Да даже бог с этим автокомплитом, мне кажется даже простую «панельку» слева от основного окна с деревом хотя бы файловой системы (про всякие «виртуальные папки» я вообще молчу) я настраивать буду ну не меньше недели чистого рабочего времени.

>Быстрый запуск?
Тут, конечно, не хватает :)

>Ускоренный набор текста и кода?
Не вижу причин для резкого ускорения, все активно используемые конструкции у меня и так забиндены, автокомплит работает, переходы по именам функций, классов и т. п. тоже

>Отсутствие неоходимости пользоваться мышью?
Вот тут, пожалуй, очень спорный момент, в vim'е мне очень не хватает возможности пользоваться мышью, от банального позиционирования курсора и скроллинга до навигации в файловых и прочих древовидных системах

>Моментальное создание скриптов для обработки текста, запуска тестов и так далее..?
Вот тут ничего не могу сказать, нужны ли мне такие возможности в принципе от редактора. Имеется в виду внутри редактора на его языке, при необходимости я напишу привычными средствами и запущу не выходя из IDE.

>Редактирование конфигов?
Что не так с конфигами? любой нормальный редактор подсвечивает распространенные форматы конфигов, если же нет, то настраивается быстро, синтаксис простой у них, как правило.

>становится вопросом нажатия пары кнопок.
Ну убейте, но не понимаю как без графического (или псевдографического а-ля нортон коммандер) открыть произвольный файл нажатием пары кнопок, особенно если его имени (и пути к нему) не знаешь, да и не знаешь есть ли вообще этот файл.

>Но консоль дает больше свободы.
С этим я даже не спорю, наоборот, выигрывал много пари о том, что под голой виндой в ее «консоли» сделаю что-то, что из гуи сделать нереально. Но вот для повседневных задач, таких как копирование или архивирование файла я предпочитаю гуи, хотя и знаю как это сделать в консоли и даже допускаю, что через год активного ее использования (и постоянного курения манов) буду делать это быстрее, чем сейчас в проводнике или наутилусе. Просто встречая задачу, которую я сходу не знаю как выполнить в гуи, я горестно вздыхаю «опять эта свобода» и лезу в консоль, привычка еще с MS-DOS :)

Да ладно, Emacs Code Browser (эт типа панелька) или Speedbar (панелька потупее, зато из коробки есть) уже двести тыщ лет существуют. и запускаются, и все такое, только я попробовал и перестал пользоваться.

Насчет автокомплита и все такое… Ну есть такое. Настраивать надо.

А про пару кнопок… Не поверите, есть много способов открыть файл именно парой клавиш. Что-нибудь вроде C-x C-f beg — и открывается файл bobberg.txt. Опять же, не про вим говоря, можно открыть и файловый менеджер в пределах емакса.

Ну ладно, с редакторами vs IDE все понятно. Это религиозное и все такое. Кому-то надо быстрее, кому-то — покомфортнее.

Но вот про консоль что вам скажу…

Я пользуюсь и mc, и емаксовым dired, и консолькой. Каждый нашел свое место в workflow. Dired дает возможность быстро сориентироваться в директориях проекта, mc — филигранно подкорректировать структуру файлов/директорий, удалить, скажем, или перенести.

Однако, в консоли есть чудная история, волшебные алиасы и дополнение по табу. Все действия запоминаются, к ним можно вернуться. сложные команды заальясить. Есть продвинутый поиск. Есть запуск команд по найденным файлам. Git действительно создан для использования из консоли, я просто оргазм получаю от его использования. Честно говоря, злюсь, когда вообще надо пользоваться интерфейсом.
Понял. Спасибо всем за развёрнутые ответы =) Это именно то, что я хотел услышать.
От себя добавлю, что после того, как разобрался в виме, в его настройках и использовании — я никуда уходить больше не собираюсь (причём использую именно консольный, а не гуёвый вим ;) Но это только ИМХО =)
Много времени разбирание заняло, если не секрет? И приходилось ли в чем-то себя перебарывать или менять «мировоззрение»? Я вот, например, никак не могу заставить себя получать удовольствие от работы в консоли, если знаю как это сделать в гуи, консоль для меня досадная необходимость, свидетельство неидеальности мира :) А многие, я знаю, плюются от тулс, которые к части возможностей, как правило по тонкой настройке, пускают только через этот самый гуи, в принципе тоже не идеал, но у нас с ними полярные точки зрения. Мой идеал — «То, что можно сделать в консоли должно быть возможно сделать в гуи», а их наоборот.
Однажды я понял, что идеального IDE не существует, — всё, чем я пользовался так или иначе меня ограничивало. Наиболее близко мне подходил Komodo, но и у него была масса минусов. И тогда я поставил себе vim и начал в нём разбираться. Примерно через неделю я не испытывал никаких неудобств в работе, а примерно за месяц я настроил под себя всё, что только можно до такого состояния, что мне стало совершенно комфортно работать. Ни в одной IDE я не испытывал удовольствия от работы, работая в vim'e же я просто счастлив :D
С тех пор я периодически узнаю что-то новое о нём и постоянно правлю свой конфиг — мне это нравится — не стоять на месте и не тухнуть.

Перефразируя одну известную фразу я могу сказать одно: "All IDE suck. This one just sucks less." © И это самые правильные слова, которые можно сказать о виме и емаксе — после этого можно уже ничего не говорить ;)

Для меня консоль — это свобода. Я не люблю, когда меня ограничивают и втискивают в рамки. Например, мне недавно довелось разбираться с одной программой в винде — и я очень долго не понимал, как же мне включить вывод отладочной информации (набрал уже по привычке «prog.exe -d» и обломался). Так и не смог с ней справиться и, в конце-концов забил на неё. Если программа работает идеально, то консоль не понадобится. Но таких программ просто не существует. И это — факт.

«То, что можно сделать в консоли должно быть возможно сделать в гуи» — такого не будет никогда просто потому, что это невозможно. Это не хорошо и не плохо, это просто данность. Консоль априори всегда даёт большую свободу.

Впрочем, каждому — своё. Никого ни за что не агитирую. Мне хорошо с вимом в консоли, а что у других — мне, собственно, пофигу ;)
> Чем IDE лучше просто редактора? всем!

Только vim — не простой редактор. IDE, умный редактор(с автокомплишеном, анализом кода и т.д.) и простой редактор — разные вещи. IDE = умный редактор + куча инструментов, которые обычно используются в процессе разработки, но могут быть и самостоятельными без ущерба производительности программера.
Жалко, что народ этого не понимает. А со своим уставом в чужой монастырь не ходят.

Мне вот даже какие-то малолетки защищая свои любимые IDE в карму успели насрать из-за моих комментов в этом посте :D

Молодежь… Вырастут — поймут ;)
Интересно, а мне кто минуса ставил, малолетки защищающие свой любимый vim? ;)

Молодежь… Вырастут — поймут ;) (с) :-D
Ну, я, во-первых, минусы в тех ветках, где я учавствую в обсуждении не ставлю — «религия» у меня такая — не оценивать своих собеседников, т.к. я могу быть не прав.
А во-вторых, я не защищаю vim — каждому своё.
Ещё в начале ветки я написал, что просто хочу понять — может, я что упускаю? И никого не агитирую и не хочу ввязаться ни в холивар, ни в троллинг.
Возможно Вы упустили то, что vim вне контекста языка разработки неспособен дать такие же эффективные инструменты (автокомплит, рефакторинг с учетом классов, типов и т.д.).
Рефакторинг, и статический анализ кода. Ну плагины в зависимости от области применения.
В виме можно сделать так?
1) В браузере скачать либу.
2) Перетащить ее из Download Manager'а браузера в папку lib в проекте (через IDE, не через файл-менеждер)
3) Right-Кликнуть на либе и выбрать Add to build path
4) Получить контекстно-зависимую подсказку по свежеподключенной либе
5) Подключить к либе джавадок и получить его при наведении на классы из либы в коде
6) Подключить к либе сорцы и легко переходить к имплементации метода из либы в коде
\troll{Вы всё ещё качаете через браузер? Тогда мы^W^WПора бы уже осилить менеджер пакетов}

К сожалению под виндой это не вариант. А, скажем в Gentoo, достаточно установить либу с doc и source:
USE=«doc source» emerge log4j

Остальное (пункты 4, 5 и 6) — совершенно не проблема.
И что, после этого log4j добавится в класспуть всех моих проектов? :) Или мне все-таки придется вручную прописывать путь и переносить либу в проект? (я в курсе про мавен, если что :)).

Насчет 4, 5 и 6 покажите мне скриншот как вим это делает и вы измените мой взгляд на этот редактор. :)
eclim использует возможности eclipse по анализу кода, чтобы сделать это возможным:
eclim.sourceforge.net/_images/completion.png

Но ввиду некоторых его недостатков я бы рекомендовал писать Java код в vim, а читать, рефакторить и т.д. — в NetBeans. ;)
Да, интересный трюк.
Насчет писать и читать код в разных редакторах — это фантастика :)
Я именно так и делал. С точки зрения написания кода есть всего два хороших редактора — vim и emacs, но:
1. У них ограниченные возможности по анализу кода, особенно java.
2. Рефакторинг и т.д. для Java обычно реализуется частью IDE, а не отдельной программой.
Не знаю как для ждавы (не люблю её), но для того же Perl или Си все ваши пункты в виме делаются элементарно.
За исключением пунктов 2 и 3 («перетащить», «right-кликнуть»… я в линуксе, тут всё гораздо проще ;)

Что касается «в виме можно так, в виме можно сяк...». Скажите, сколько оперативки жрёт ваша IDE, и комфортно ли вам работать в ней? Меня эклипс просто убивает своей тормознутостью на вполне себе так современной машинке с двумя гигами ОЗУ и средних размеров проектом. А там более под виндой. Фу…
не хватает внешнего легкого планера для локальных задач… В принципе там xml файлики и api — надо время найти и написать. :)

А так, после привыкания ( читай подстраивания стиля работы под тул ) — очень удобно шариться. Лучше всего работает для багов или изменений. Для последовательного девелопмента приходиться иногда копировать контекст последовательно для задач или активировать вернеуровневую задачу и матчить по списку как комплит.

Также надо приучаться переключать контекст, иначе мусорится задача ненужными открываемыми файлами — то есть отвлекаемся на посмотреть — отключили, посмотрели, включили или переключились. Достаточно легко и хот кеи есть. Не хватает временного выключения отслеживания, но видимо такова политика партии :)

Вся прелесть раскрывается вместе с интеграцией. Локальный депозиторий какой-то малофункциональный.
Оох, мля! только сейчас увидел кнопочку «I'm feeling Lazy» в списке задач по Ctrl-F9 :)
Плагин для связки с траком у меня почему-то упорно не обновляет потраченное на задачу время.
Давно хочу попробовать Mylyn, но нет коннектора для используемой у нас системы учета багов (а учитывая, что она мало распространена никогда и не появится). Есть ли какие-нибудь подробные туториалы по написанию своего или адаптированию существующего коннектора для тех, кто мало что понимает в эклипсовских классах?
Для неподдерживающихся систем управления задачами существует Web Connector. Он работает на основе разбора html страниц — выкусывает с них список задач и описание отдельной задачи. Все шаблоны можно полностью заточить под используемую систему. Для добавления новой задачи просто напросто открывается встроенный браузер.

По личным ощущениям — не фонтан, но лучше чем ничего.
А что, кто то сумел это прочесть? Меня этот перевод подкосил на излете.

Как я понимаю перевод это не замена английских слов на русские, а скорее перевод это изложение текста на русском.
То, о чем вы говорите, это скорее пересказ. Перевод — это попытка передать мысль, язык, стилистику и слог автора на другом языке. Попытка потому, что только автор полностью знает, что он хочет сказать.
Все переводимые книги в аннотации обязательно имеют описание, перевод это или пересказ. Разницу между тем и другим ощутить очень легко, найдя одну и ту же книгу, но одна должна быть помечена как «перевод», а вторая соответственно как «пересказ». Сам ощутил это различие в классе 4, когда сравнивали на литературе «Синюю птицу» в обоих вариантах. Разница была на лицо.
Хорошо, а вот этот образец это что? По моему явно не перевод.
Если вы начинаете критиковать, то хотелось бы, чтобы вы указали на то, что вам так не нравится. Да, я по профессии не переводчик, хотя у меня и заканчивал специальные курсы. И я сейчас учусь делать грамотные и правильные переводы. И, если перефразировать ваше высказывание, можно каждому начинающему программисту говорить — «Это не программа, а набор операторов». Имхо, это глупо и бессмысленно.
>> В связи с этим современным разработчикам необходима такая среда, которая позволит сосредоточиться только на тех артефактах
Что за артефакты? Не смогли придумать русский аналог и оставили как есть?
Меня больше всего умиляет, что вы не пытаетесь перечитать свой «перевод» и критически к нему подойти, вместо этого вы почему-то пытаетесь отстоять косноязычие промтобразного перевода. Воспринимайте критику как хотите, я собственно уже высказался, и спорить с вами мне не интересно.
P.S. Артефактом там дело не ограничивается.
Артефакт, кстати, уже давно стал таким же термином, как и билд, бага и проч. В частности, он активно используется в scrum, да и вообще в agile.
Я может что-то не понимаю, но в статье попутаны Mylyn c Mylar'ом. По крайней мере К.О. подсказывает, что оригинальная статья называется «Five Reasons to Love Mylar»…
MyLyn и MyLar — это одно и тоже — просто MyLYn — новое название для MyLar-а (кстати переименовались уже очень давно)
Эхх, было бы еще что-то подобное для NetBeans — ибо Eclipse мне не понравился
Для НетБинс есть например TaskList, плагин для работы с JIRA или другой плагин для интеграции с Trac. А версия 6.7 поддерживает работу с Kenai. Они, конечно, не поддерживают всего функционала Mylyn, но хоть чем-то смогут и помочь.
Коннектор для интеграции с Redmine.
Хабр неадекватно выкинул линк: хттп://sourceforge.net/projects/redmin-mylyncon/
Sign up to leave a comment.

Articles