LINUX.ORG.RU

Уменьшение боли от жабобыдлокодинга в виме

 ,


9

9

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

Задача: писать на жабе в виме (сборку через ant уже осилил).

Навигацию по ошибкам компиляции через :cn/cp/cc прикрутить осилю самостоятельно.

Костыли работающие через eclipse (eclim), идейку, и т.п. — недопустимы.

Фичи которые очень нужны:

  • заполнение списка модулей (аналог cmd+shift+o в эклипсе)
  • заполнение асбтрактных методов при реализации интерфейсов
  • добавление обязательных обработчиков исключений (например, пишу Thread.sleep, тыкаю хоткей, и втыкается пустой обработчик InterruptedException)
  • подсвечивать строки с warnings и errors прямо в коде разными цветами (думаю это не имеет отношения к топику, и делается каким-то плагином)

необязательно, но желательно

  • подсказки со списками методов в классах, аргументами функций
  • переход на документацию слова под курсором

Если кто-то знает альтернативные текстовые редакторы с подобными фичами — тоже будет интересно узнать (обязательно пишите линки не только на сами редакторы, но и на страницы проектов для настройки работы с жабой).

И еще, у меня кроссплатформа linux/osx, поэтому просьба не предлагать виндовс-онли решения, или линукс-онли. osx-онли в принципе в данный момент устроит, но лучше чтобы работало на osx и линуксе.

★★★★★

Последнее исправление: waker (всего исправлений: 3)
Ответ на: комментарий от ebantrop

You can get stellar omnifuncs for Java and Ruby with _Eclim_

лучше таки прочитай тред, или хотя бы топ. я сразу написал что это ненужно.

waker ★★★★★
() автор топика
Ответ на: комментарий от waker

Костыли работающие через eclipse (eclim), идейку, и т.п. — недопустимы.

Извини, не прочел вопрос внимательно. А почему костыли недопустимы? Я YCM костыль пользую — мне нравиться.

ebantrop
()
Ответ на: комментарий от ebantrop

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

waker ★★★★★
() автор топика
Ответ на: комментарий от waker

что то мне подсказвает что вы просто не умеет всем этим пользоваться (Java IDE я имею ввиду), а валите все на IDE которые ни в чем не виноваты.
в этом случает действительно лучше использовать то что вы хорошо знаете

rusich
()
Ответ на: комментарий от waker

тебе необязательно знать почему я не хочу юзать эклипсу.

Даже не представляю как дальше жить без такого знания вселенской важности.

ebantrop
()
Ответ на: комментарий от rusich

И что, я должен боротбся с тошнотой, и использовать ненавистные программы через силу? Зачем?

waker ★★★★★
() автор топика

О, тяжелая задача. VJDE и прочие ява-плагины лежат заброшенные. Особо шика там нет.

Solace ★★
()
Ответ на: комментарий от zinfandel

Да и android create project вроде бы изкаробки gradle выплевывает.

плохо, если так. надеюсь, android update project не решит внезапно сменить билд систему смеха ради.

waker ★★★★★
() автор топика
Ответ на: комментарий от habamax

let &errorformat = 'new stuff' . &errorformat

да, тоже работает, спасибо

waker ★★★★★
() автор топика
Ответ на: комментарий от vvviperrr

зачем в голом, если можно в неголом?

waker ★★★★★
() автор топика
Ответ на: комментарий от redhat

Atom уделывает все другие существующие редакторы и IDE в плане расцветки синтаксиса.

Это настолько важная фича, что

Q: Is there syntax highlighting?

A: No. The creator of main users of Acme find syntax highlighting unhelpful and distracting.

loz ★★★★★
()
Ответ на: комментарий от waker

Ну, вообще, вим немного не тот формат, что тебе нужен. Посмотри Atom или Sublime, они тоже универсальные, но более IDEшные. На маке должны завестись без тормозов.

Aswed ★★★★★
()
Ответ на: комментарий от Aswed

Посмотри Atom или Sublime

обязательно пишите линки не только на сами редакторы, но и на страницы проектов для настройки работы с жабой

Ну, вообще, вим немного не тот формат, что тебе нужен.

я могу самостоятельно понять, что мне нужно.

waker ★★★★★
() автор топика
Последнее исправление: waker (всего исправлений: 1)
Ответ на: комментарий от waker

В оригинале так, http://acme.cat-v.org/faq. Может хотели написать and, а может какой-то свой смысл в это вкладывают.

loz ★★★★★
()
Ответ на: комментарий от asaw

Проект нужно писать ручками в мавене/градле с нуля

Дадад, буду я каждый раз с нуля писать в градле, навеянном NIH-синдромом и «фундаментальными недостатками» систем сборок, когда можно готовое перетащить на андроед. (Особенно если мне вообще не нужна java, а только NDK)))

slackwarrior ★★★★★
()
Ответ на: комментарий от ya-betmen

отметил как решенную

waker ★★★★★
() автор топика

Haters gonna hate. Все работают, у всех всё нормально, а его видите ли тошнит.

anonymous
()
Ответ на: комментарий от slackwarrior

Готовое что перетащить? Я не про какую-то конкретную систему сборки написал, если ты не заметил. Я написал, что не нужно ставить IDE в центр, только и всего. Проект должен уметь существовать вне зависимости от того, чем его редактируют.

asaw ★★★★★
()
Ответ на: комментарий от redhat

Эти люди вытащили тебя из пещеры, возможно стоит к ним прислушаться.

loz ★★★★★
()
Ответ на: комментарий от asaw

Готовое что перетащить?

Готовый код, который может быть даже не на жабе, но на андроиде идет, еще как (и быстрее)

вне зависимости от того, чем его редактируют.

Если его с нуля и на грабле? (Могу процитироват «Проект нужно писать ручками в мавене/градле с нуля») «Любой цвет, если чорный» (с) (Но не буду - ты рассказал, что имел в виду, а так сразу было не понятно) :)

slackwarrior ★★★★★
()
Ответ на: комментарий от waker

я не хочу юзать эклипсу

Аналогично свалил с жирноИдеи в вим.
Также ищу и приспосабливаю решения, чтобы малой кровью заменить
идеевский Cursive для нормальной работы с Кложурой.

Помочь ничем не могу, но хоть пожелаю успешной миграции.

Hertz ★★★★★
()
Ответ на: комментарий от anonymous

Haters gonna hate.

это ты про себя?

waker ★★★★★
() автор топика
Ответ на: комментарий от asaw

Проект должен уметь существовать вне зависимости от того, чем его редактируют.

вот у меня тоже вызывает недоумение, что для большинства жабистов нормально, что проект можно собрать только в IDE, и только в каком-то определенном.

waker ★★★★★
() автор топика
Ответ на: комментарий от Aswed

Тогда зачем ты тут топик создал?

в топике написано, зачем.

waker ★★★★★
() автор топика
Ответ на: комментарий от waker

Не встречал такого. Необъяснимую любовь к «идее» видел, привязку к оси видел, но при этом проекты нормально собирались из консоли.

asaw ★★★★★
()
Ответ на: комментарий от asaw

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

waker ★★★★★
() автор топика
Последнее исправление: waker (всего исправлений: 1)

а кто-нибудь знает, можно ли существующий проект перегнать в gradle используя android project update? в create есть опция -g, но в update ее нету. хотел попробовать как оно.

waker ★★★★★
() автор топика
Ответ на: комментарий от waker

допилил основы. теперь могу прямо из вима компилять, бродить по ошибкам через quickfix, подписывать apk, инсталлировать на девайс, и запускать. все на хоткеях.

А при этом ошибки c/c++ тоже парсятся?

andreyu ★★★★★
()
Ответ на: комментарий от waker

Последнее обновление 4 года назад - 2011-01-30. Но по описанию штука интересная.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

А при этом ошибки c/c++ тоже парсятся?

у меня в папке с жабо-проектом отдельный vimrc, который выставляет жабовский errorformat, и c/c++ ошибок там быть не может. так что да, парсятся. но я планирую разобраться как сделать это в основном vimrc.

waker ★★★★★
() автор топика

ради интереса, накодил build.gradle, и собрал проект. потрахаться пришлось знатно. но в итоге собирается.

привожу сравнение с ant:

сборка после clean:

ant: 8 секунд, gradle: 42 секунды

пересборка без изменений (холостой прогон):

ant: 2 секунды, gradle 12 секунд

думаю, все дело в том, что gradle гоняет lint на google-play-services, appcompat и support. если разберусь как это отключить — отпишусь с новыми цифрами.

waker ★★★★★
() автор топика
Ответ на: комментарий от waker

но я планирую разобраться как сделать это в основном vimrc.

Подожду, когда вы выкатите универсальный вариант, дабы не делать локальных rc-файлов :)

andreyu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.