Какими фишками IDE вы пользуетесь?

Аватара пользователя
adarash
Сообщения: 333
Зарегистрирован: 17 июл 2013, 09:59

Re: Какими фишками IDE вы пользуетесь?

Сообщение adarash » 20 фев 2015, 15:25

Ой. извините. Как то не подумал.

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Какими фишками IDE вы пользуетесь?

Сообщение klblk » 20 фев 2015, 15:45

Я свой комп давно собирал (апрель 2013: http://i.gyazo.com/7571625f13c231247ec2bbbc2bbaa1fe.png). А сейчас половину этой суммы заплатишь за ОЗУ, а вторую половину за проц. А ведь в то время был студентом (хоть и работающим) и ужасно приходилось экономить чтобы себе это позволить. Но сейчас рад=)

А по теме. Скажите можно ли в AS сделать так чтобы при запуске приложения не сбрасывался фильтр лога (на app:my.package.name)?
И еще у меня почему-то этот самый app:my.package.name ничего не показывает, хотя если поставить свой фильтр, логи идут нормально. Такое ощущение что фильтр по пакету работает криво. Кто-нибудь сталкивался? (AS 1.1 но и в предыдущих версиях это замечал)
Может есть горячая клавиша на смену фильтра в логах?)

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Какими фишками IDE вы пользуетесь?

Сообщение Foenix » 20 фев 2015, 15:55

у меня этот фильтр (на имя пакета) работает только при запуске АС, а со временем (в основном просто на второй раз запуска проекта) показывает пустоту. Поэтому мне приходится смотреть лог вообще без фильтров. Или свои применять, что не всегда удобно.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Какими фишками IDE вы пользуетесь?

Сообщение Mikhail_dev » 20 фев 2015, 15:55

Foenix писал(а):не у меня единственной, не надо
и если к студии нужно докупать ССД, извините, у меня на это нет желания и средств. На все остальное ресурсов моих компов хватает.
Ну я уже бессилен тебе говорить для чего нужен SSD. Любой уважающий себя профессионал понимает необходимость SSD перед HDD для работы с мелкими файлами (и поверь мне, эклипс такие же файлы обрабатывает, как и студия - мелкие).
К примеру брал три недели назад ноут. Мне он обошелся в 16к грн по курсу (0,3 за рубль). Тот же в розетке 34к стоит.
Опять же смотря что за ноут. И цена сейчас на ноуты выросла неслабо. Если я рассчитывал за пару тысяч долларов купить, то сейчас уже об этом и не думаю.
А по теме. Скажите можно ли в AS сделать так чтобы при запуске приложения не сбрасывался фильтр лога (на app:my.package.name)?
И еще у меня почему-то этот самый app:my.package.name ничего не показывает, хотя если поставить свой фильтр, логи идут нормально. Такое ощущение что фильтр по пакету работает криво. Кто-нибудь сталкивался? (AS 1.1 но и в предыдущих версиях это замечал)
Не подскажу тут. Мне не нравится в студии инструмент для логов, поэтому я открываю DDMS

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Какими фишками IDE вы пользуетесь?

Сообщение Foenix » 20 фев 2015, 16:01

а мне как-то в голову не приходит мерять профессионализм и уважение к себе по наличию ссд..
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Какими фишками IDE вы пользуетесь?

Сообщение doter.ua » 20 фев 2015, 16:07

Foenix писал(а):а мне как-то в голову не приходит мерять профессионализм и уважение к себе по наличию ссд..
ССД выигрывает время. любой профессионал ценит свое время, тратить время там, где этого можно избежать - не уважать себя, воооот 8-)
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: Какими фишками IDE вы пользуетесь?

Сообщение klblk » 20 фев 2015, 16:27

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

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Какими фишками IDE вы пользуетесь?

Сообщение Mikhail_dev » 20 фев 2015, 16:31

Так себе аргумент =) А что если чай уже есть? Тогда в бой вступает браузер, чтобы скоротать время (ну или подобное) и мы вылетаем из рабочего состояния потока.
А архитектуру проекта надо думать до написания кода :ugeek:

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Какими фишками IDE вы пользуетесь?

Сообщение doter.ua » 20 фев 2015, 19:52

Обещал показать пару примеров использования мультикурсора. Сначала отмечу несколько моментов (комбинации клавиш на гифке не отображаются :) )
Для начала вспомним и без меня всем известные штуки:
1) SHIFT + стрелки - выделение.
2) CTRL + стрелки - прыжок через все "слово".
3) комбинация первых двух пунктов - выделение по словам (вместо одного символа).
4) HOME, END - перейти в начало, конец строки.

Теперь более экзотичное:
5) CTRL + W - выделить слово в (рядом с) котором находится курсор.
6) ALT + SHIFT + ЛКМ - добавить\убрать дополнительный курсор.
7) ALT + J + заранее выделенный текст. - ищет и выделяет аналогичные кусочки текста, помещая в "находку" дополнительный курсор. ( после достижения конца файла, переходит в начало) Тут не помешает гифка:
Изображение
Как вы заметили, залезло на комментарий. В таком случае можно убрать выделение и курсор пунктом 6. Так же можно заранее убедиться что ничего лишнего на пути не встретится и только потом шаманить.
8) CTRL + SHIFT + U - изменить регистр (Работает в обе стороны)
Изображение
9) Все знают, что будет, если скопировать несколько строчек кода и вставить. А вот что произойдет если "использовать" больше одного курсора в момент вставки? - каждому курсору достанется по одной строчке.
9.1) Строчек больше, чем курсоров - лишние строчки просто не вставятся.
Изображение

9.2) Строчек меньше чем курсоров - лишние курсоры ничего не получат.
Изображение

10) обладатели "нажимающихся" средних колесиков мыши могут добавлять курсоры зажав это самое колесико.
Изображение

С помощью, перечисленных выше, фич можно кодить в несколько раз быстрее, чем без них.
Например: закинули в ХМЛ макет три TextView, в джава классе быстро накидали для них имена:

Код: Выделить всё

    TextView tvOne;
    TextView tvTwo;
    TextView tvThree;
Выделили только эти имена, вернулись в хмл, выделили общую для всех трех Вьюх часть ID первого текстВью ( textView), затем с помощью пункта 7 быстро выделили части ИД остальных вьюх, т.к. у следующих есть еще цифра - нужно сбить выделение стрелочкой и выделить снова пунктом 5, который выделит уже весь ид. Теперь вставкой заменим три "автогенерируемых студией айдишника" на наши нормальные.
Упрощенная демонстрация (для наглядности копирую из комментария выше, а не из джава класса):
Изображение

Для тех кому влом считать сколько курсоров вы наплодили внизу в статусной строке есть инфа об этом: 3 carets - 3 курсора.
Изображение

P.S. У live templates тоже есть пару своих фишек, потом и про них напишу. (или почитайте в англоязычных ссылках в одном из моих комментов этой темы)
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

Re: Какими фишками IDE вы пользуетесь?

Сообщение Mikhail_dev » 20 фев 2015, 21:26

Крутобл. Пару возьму на заметку. Я думаю хоткеям IDEA можно отдельно темку посвятить. У меня накопилось немало удобных хоткеев, к примеру:
1. Ctrl + Alt + стрелки влева и вправо - вернуться назад к месту. где был, либо вернуться вперед, до перехода назад
2. Ctrl + Alt + Shift + N - поиск метода по имени по всему проекту
3. Ctrl + N - поиск класса по имени
4. Ctrl + G - открыть строку с введенным номером

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: Какими фишками IDE вы пользуетесь?

Сообщение altwin » 21 фев 2015, 13:43

Mikhail_dev писал(а):Крутобл. Пару возьму на заметку. Я думаю хоткеям IDEA можно отдельно темку посвятить. У меня накопилось немало удобных хоткеев, к примеру:
1. Ctrl + Alt + стрелки влева и вправо - вернуться назад к месту. где был, либо вернуться вперед, до перехода назад
2. Ctrl + Alt + Shift + N - поиск метода по имени по всему проекту
3. Ctrl + N - поиск класса по имени
4. Ctrl + G - открыть строку с введенным номером
Ну для навигации я использую стандартные средства в vim раскладке, врятли кому - то это будет полезно. Но есть и не заменимые:
Double shift - поиск всего и везде
cmd + Q - посмотреть документацию метода или класса
cmd + P - посмотреть параметры метода
ну и всякие ( что делают можно понять просто попробовав, описывать лень ): cmd + alt + O | cmd + alt + insert | alt + insert | shift + alt + insert | cmd + F | cmd + shift + f | alt + shift + N | cmd + B | cmd + O | cmd + alt + O , это то, что как и раскладка vim уже живет в подкорке, большая часть наверно, ну и еще всякие кастомные комбинации для управления интерфесом. Как собственно и весь конфиг я использую довольно спецефический, один и плюсов IDEA она полностью кастомизируется, правда на сколько я знаю убрать сроку меню ( файл,правка и т.д.) нигде кроме osx нельзя, что причиняет нервные расстройства таким как я любителям минимализма...

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

P.s. но вообще это все просто субботняя лирика, врятли тут в тексте есть что -то полезное
Изображение

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Какими фишками IDE вы пользуетесь?

Сообщение doter.ua » 21 фев 2015, 14:14

altwin писал(а):
Mikhail_dev писал(а):Крутобл. Пару возьму на заметку. Я думаю хоткеям IDEA можно отдельно темку посвятить. У меня накопилось немало удобных хоткеев, к примеру:
1. Ctrl + Alt + стрелки влева и вправо - вернуться назад к месту. где был, либо вернуться вперед, до перехода назад
2. Ctrl + Alt + Shift + N - поиск метода по имени по всему проекту
3. Ctrl + N - поиск класса по имени
4. Ctrl + G - открыть строку с введенным номером
Ну для навигации я использую стандартные средства в vim раскладке, врятли кому - то это будет полезно. Но есть и не заменимые:
Double shift - поиск всего и везде
cmd + Q - посмотреть документацию метода или класса
cmd + P - посмотреть параметры метода
ну и всякие ( что делают можно понять просто попробовав, описывать лень ): cmd + alt + O | cmd + alt + insert | alt + insert | shift + alt + insert | cmd + F | cmd + shift + f | alt + shift + N | cmd + B | cmd + O | cmd + alt + O , это то, что как и раскладка vim уже живет в подкорке, большая часть наверно, ну и еще всякие кастомные комбинации для управления интерфесом. Как собственно и весь конфиг я использую довольно спецефический, один и плюсов IDEA она полностью кастомизируется, правда на сколько я знаю убрать сроку меню ( файл,правка и т.д.) нигде кроме osx нельзя, что причиняет нервные расстройства таким как я любителям минимализма...

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

P.s. но вообще это все просто субботняя лирика, врятли тут в тексте есть что -то полезное
Щас новички побегут искать cmd на своих "windows" клавиатурах :D
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Какими фишками IDE вы пользуетесь?

Сообщение doter.ua » 24 фев 2015, 20:12

Подробнее про живые шаблоны \ сниппеты \ Live templates.
Суть в том, чтобы заменить ввод длинных и часто используемых блоков кода на ввод кодового слова + TAB которое будет заменено на заранее заготовленный шаблон.
Возьмем например System.out.println(); вроде и не длинный, но используется очень часто (в чистой джаве, по крайней мере). В intellij, а соответственно и в студии для этого метода есть стандартный сниппет: sout, не забываем про TAB для "активации".
Изображение
После первого знакомства с ними я наштопал кучу примитивных заготовок, и не стал изучать эту технологию более детально, все ведь просто: придумал ключевое слово, скопипастил блок кода и готово. А зря, т.к. есть пару моментов, которые могут значительно улучшить ваши "наработки".
Те, кто переходил по ссылкам на англоязычное описание скорее всего ознакомился со всеми особенностями, остальные же могут читать дальше (Сначала будет вводная часть, как создавать).


1.1) Для создания шаблона Ctrl + ALT + S, затем начните вводить live templates (никуда нажимать не нужно, окно уже ждет ввода ключевых слов). Попадете в такой раздел:

Изображение

Дальше нажмите на плюсик и создаете шаблон (или группу для них). При создании придумайте ключевое слово и введите блок кода, который будет подставляться. Теперь нужно указать в каком контексте (грубо говоря для какого языка\разметки) будет работать ваш сниппет - снизу щелкните на define Обычно выбор стоит между XML и java. Например sout не сработает, когда вы редактируете xml.

Изображение

1.2) Еще один способ это выделить блок кода, для которого нужен сниппет и выбрать в меню Tools | Save as Live Template.

2) Созданные вами шаблоны сохраняются в xml файлах (для каждой группы свой файл ). Путь: C:\Users\UserName\.AndroidStudio\config\templates\myGroup.xml Т.е. ими можно легко делиться, делать бэкапы, экспортировать.

Теперь более интересное:
3) В шаблонах можно использовать Переменные, которые заключаются в знаки доллара $name$. Они позволяют подставить на свое место различную инфу.
Есть список доступных методов: https://www.jetbrains.com/idea/help/liv ... 081281e486
Для примера добавим переменную, которая будет брать текст из буфера обмена.

3.1) Вводим переменную "в долларах", нажимаем edit variables и получаем окошко как на скрине:

Изображение

3.2) В поле expression выбираем функцию из списка (Не забудьте указать контекст применения (смотри пункт 1.1), от него зависит набо доступных функций )
3.3) В поле default value можно указать значение, которое подставится, если выражение "не сработает", например если скопировать картинку, то в буфере обмена не будет текста для вставки.
4.1) После срабатывания переменной студия как бы "ждет вашего согласия" подкрашивая вставленное красной рамкой, для завершения(или перехода к следующей переменной) нужно нажать enter.
Изображение

4.2) Это ожидание можно отключить: в окошке настроек переменных поставьте галочку возле skip defined.
Изображение

5) Ну и напоследок есть две зарезервированных переменных:
$END$ - место, где будет курсор после отрабатывания сниппета. Например в sout курсор не в конце строки, а в скобках, ждет ввода аргументов.
$SELECTION$ - работает с выделенным текстом, для особого вида шаблонов - surround templates. Про них в другой раз.

На десерт сниппет для нахождения элемента по ИД.
Изображение
Название обьекта и id в хмл должно быть одинаковым и заранее скопированно в буфер. (Например в джава Button btnTest, а в хмл android:id="@+id/btnTest " ) Тип класса (переменная class) берется из функции typeOfVariable(varName) , где varName еще одна переменная (она как раз и читает буфер обмена).
Изображение
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

Аватара пользователя
vitaliy
Сообщения: 44
Зарегистрирован: 10 янв 2015, 14:28
Откуда: Украина

Re: Какими фишками IDE вы пользуетесь?

Сообщение vitaliy » 25 фев 2015, 02:43

Еще Live templates можно использовать для аббревиатур.
BAOS -> TAB -> ByteArrayOutputStream;
AL -> TAB -> ArrayList;
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
Donald E. Knuth.

Ответить