Comments 13
Вот тут еще немного «ништяков» для phpStorm.
(Не особо много, но некоторые весьма юзабельные)
phpstorm.tips
Кто-нибудь может подсказать удобные плагины для Bugzilla/Jira типа Mylyn для Eclipse и для Subversion/Git типа аналогичного для Eclipse?
Перешёл год назад с Eclipse на JetBrains, всё стало удобнее и быстрее, кроме отвратительной работы дефолтных плагинов с багтрекером и VCS. Доходит до того, что открываю проект параллельно в Eclipse, чтобы открыть баг, посмотреть историю коммитов, а в конце работы закрыть баг и сделать коммит. Ну или в браузере и консоли, в простых случаях.
А чем работа с Git не устраивает? Все есть: и diff, и blame, и push, и pull, и merge, и даже rebase. Все отлично интегрировано со средой. Уже несколько лет как можно в annotate посмотреть annotate на предыдущую версию кода.
Что касается интеграции с багтрекером — мне это никогда не было нужно, не очень понимаю, зачем это может быть нужно.
Не устраивает, потому что неудобно.
В Eclipse тыкаешь мышкой в файл или папку, и в окошке истории сразу видно историю коммитов для выделенного файла или всех файлов в выделенной папке на любом уровне вложенности. В JetBrains этого нет или я не нашёл — там можно в окошке истории как-то отфильтровать историю, но там показывается не всё и нельзя привязать фильтр к текущему выделенному файлу в дереве проекта.
В Eclipse можно показывать имя последнего коммиттера и номер ревизии сразу в дереве проекта.
В Eclipse подсвечивается папка, если в ней есть изменённый файл на любой глубине вложенности, а в JetBrains подсвечиваются только сами файлы.
Багтрекер: в mylyn/eclipse можно в один клик переключаться между багами, причём контекcт будет тоже переключаться. Можно отфильтровать баги по любым критериям — проектам, срочности и т.п., и сохранить эти фильтры, а в JetBrains показывается просто весь список багов.
IDE на то и IDE, что в неё всё нужное интегрированно. Так-то да, можно пользоваться багтрекером в браузере и проводником ОС для навигации по дереву проекта, а гитом в консоли.
По поводу контроля версий, мне кажется, что это вопрос отчасти вкуса, отчасти привычки. Посмотреть все измененные файлы и историю в PyCharm можно в окне, открывающемся по Alt-9. И я уже давно привык к идеологии Git, что изменение — это не правка одного файла, как в Subversion, а changeset. И историю читаю и воспринимаю changeset'ами.
Для просмотра истории чужих правок, я часто пользуюсь инструментами вне PyCharm, впрочем, например, tig.
Это если из любопытства. А в работе реально неоценимая фишка PyCharm — при клике по левому полю можно включить Annotate (я даже забиндил на сочетание Ctrl-;), так что если при работе над файлом нужно понять почему и зачем в файле находится какой-то кусок кода, можно включить annotate и посмотреть кем, и когда он был изменен. Если непонятно, там же можно вызвать annotate для предыдущей версии, и так далее. Этой возможностью пользуюсь чаще всего (за исключением стандартных commit/push/pull/stash/rebase).
Мне кажется, что это просто вопрос привычки. Я за свою жизнь столько различных редакторов и IDE сменил, что ни к чему стараюсь не цепляться. Только не выношу редакторы без эмуляции vim. Считаю, что vim — вершина эргономики для редактирования текстов, в PyCharm вседа стоит IdeaVIM.
Про баги не совсем понял, тут в каждом проекте свой багтрекер, и свой workflow. Я в своей жизни пользовался и пользуюсь: GitHub Issues, Trello, Jira, Asana, и т.п. Как правило, мне хватает открытой вкладки в браузере, где открыта страница с текущей используемой системой.
Но тут у каждого наверное запросы разные, в моей практике еще не было такого, чтобы я испытывал неудобства от отсутствия поддержки багтрекера в IDE.
История изменений для файла/папки в IDEA, конечно же, есть.
В последнем EAP — это кнопка в виде часов на главном toolbar. Ну или Ctrl+Shift+A и 'show history'. Или через меню VCS Operations по Alt+`.
Интеграция с баг-трекером (в т.ч. переключение контекста при смене тикета, а также изменение статуса тикета (на In Progress), создание новой ветки в VCS, трекинг потраченного времени) сделана в плагине Task Management:
https://www.jetbrains.com/help/idea/managing-tasks-and-context.html
Есть, конечно же, но сделано крайне неудобно.
В Eclipse я тыкаю в файл/папку в дереве проекта, окошко истории сразу обновляется. В IDEA нужно вручную вызывать историю.
Сравните Task Managament c Mylyn — там и сохранённые запросы, и зависимости показываются, и отфильтровать можно как угодно:
В IDEA это просто список багов для галочки, что он есть. Как мне там вывести только баги по одному проекту, только где статус FIXED, но не VERIFIED? Или все новые ещё не в работе? Или все, где исполнитель — я? А в Mylyn я сохранил несколько queries для этого, он мне удобно в одном окошке их показывает, со всеми вложенными зависимостями багов друг от друга.
А ещё для каждого шаблона можно выбрать альтернативную "Expand with" клавишу.
Мой любимый "альтернативный" шаблон: '+' и пробел после него внутри строки превращают "abc+|def" в "abc" + | + "def".
Template text:
" + $END$ + "
Создание шаблонов в IDE от Jetbrains