Совсем недавно мы начали плавный перевод разработки наших проектов с Eclipse + PyDev на PyCharm. Это такая замечательная среда разработки от компании JetBrains, которая специализируется на создании продуктов для программистов, в том числе всяких IDE.
Если вы делаете сайты на Джанго, но еще не оценили в полной мере Пайчарм, мы подготовили небольшой список фич, которые определили наш выбор в его пользу. В основном, это конечно же, функционал, которого нам не хватало в Эклипсе, либо фичи, которые были реализованы неполно или менее удобно. Само собой, это лишь вершина айсберга фич, которые есть в PyCharm, для примера таблица сравнения популярных IDE.
Все популярные VCS поддерживаются из коробки. Нас привлекло вот что: понятный интерфейс работы с git, история комментариев к коммитам, удобный экран решения конфликтов, отдельная панель Version control и вменяемые сообщения об ошибках, аннотация строчек по их автору.
![](https://habrastorage.org/r/w780q1/storage/ab50e221/5223aa89/fa3d0b36/2bf9ec21.jpg)
Так выглядит окно коммита
![](https://habrastorage.org/r/w780q1/storage/bab918c5/1c70c243/2bcc8632/d2e2ffbb.jpg)
А это merge
Очень просто создавать проекты и открывать уже существующие: пайчарм буквально в два клика позволяет приступить к редактированию кода. Не нужно импортировать проект в workspace или делать что-то подобное.
Автокомплит работает мгновенно, не нужно вызывать его хоткеем. Работает не только в привычных местах, но и в шаблонах Джанго, для подстановки путей к файлам, к тому же очень шустрый.
![](https://habrastorage.org/r/w780q1/storage/1372f3fb/72d64efd/eb71e6aa/b32a6044.jpg)
Помимо привычных плюшек присутствует отладочная консоль (опять же с автокомплитом), удобная навигация между шаблонами. В последнем релизе также появилась отладка шаблонов Джанго.
![](https://habrastorage.org/r/w780q1/storage/e7f9b26e/b6d81f10/d9cf71d2/8099da84.jpg)
Множество приятных мелочей, доступных по горячим клавишам и из меню. Например, подсказка по сигнатуре функции (Ctrl+P), нахождение всех упоминаний конструкции (Alt+F9), переход по Ctrl+click к опредлению сущности (что приятно, работает даже в urls.py) и тому подобные.
Зачем это нужно можно посмотреть в скринкастах: обзорном и про Django.
Автоматический рефакторинг при переименовании и удалении файлов. А также Pull Up/Push Down для членов класса, Extract Superclass помимо классических Extract Method и Introduce Variable. И это не всё.
![](https://habrastorage.org/r/w780q1/storage/548a309c/601dceac/2b2a0f36/c5855cc1.jpg)
Пайчарм вобрал в себя кучу приятных фич: двустрочные вкладки (их отсутствие в Эклипсе бесит), вертикальные направляющие для выравнивания текста, быстрый и неглючный кодфолдинг, логичное расположение элементов интерфейса, который не выглядит перегруженным.
![](https://habrastorage.org/r/w780q1/storage/88f5d317/9d9ada79/1b626fbd/d448a47b.jpg)
Из коробки доступна выкладка проектов через FTP, самбу и SFTP. Очевидно настраивается и предсказуемо работает. Кроме того, бывает очень полезно в панели Remote Host посмотреть, что лежит на удаленном сервере и скачать обратно на локальную машину.
![](https://habrastorage.org/r/w780q1/storage/52804727/4736422a/eb8aee58/1e913417.jpg)
PyCharm унаследовал от своего брата WebStorm отличные редакторы HTML и javascript. Перечисление всех полезняшек тянет на отдельную статью, но всё же парочка: Show Applied Styles рассчитывает стиль тега прямо в редакторе, поддержка популярных js-библиотек на уровне автокомплита и документации.
![](https://habrastorage.org/r/w780q1/storage/95ec1f09/98acbe95/0ff757c8/a7cdd1d6.jpg)
Пайчарм стартует в несколько раз быстрей, не тормозит при открытии больших файлов, одно удовольствие.
А ещё у Пайчарма есть один серьёзный минуc… нет, не цена, а внешний вид в линуксе. Для кого-то это может стать ощутимым минусом, особенно сравнивая с нативно выглядящим Эклипсом.
Надеемся, ребята когда-нибудь всё-таки доберутся до этой проблемы и пофиксят её.
![](https://habrastorage.org/r/w780q1/storage/1100809d/4e181527/ce8c0266/8a1e4bca.jpg)
Если у вас есть какие-то любимые фичи PyCharm обязательно пишите в комментариях.
P.S. Мы всегда ищем талантливого разработчика на Django.
Если вы делаете сайты на Джанго, но еще не оценили в полной мере Пайчарм, мы подготовили небольшой список фич, которые определили наш выбор в его пользу. В основном, это конечно же, функционал, которого нам не хватало в Эклипсе, либо фичи, которые были реализованы неполно или менее удобно. Само собой, это лишь вершина айсберга фич, которые есть в PyCharm, для примера таблица сравнения популярных IDE.
1. Понятный git
Все популярные VCS поддерживаются из коробки. Нас привлекло вот что: понятный интерфейс работы с git, история комментариев к коммитам, удобный экран решения конфликтов, отдельная панель Version control и вменяемые сообщения об ошибках, аннотация строчек по их автору.
![](https://habrastorage.org/storage/ab50e221/5223aa89/fa3d0b36/2bf9ec21.jpg)
Так выглядит окно коммита
![](https://habrastorage.org/storage/bab918c5/1c70c243/2bcc8632/d2e2ffbb.jpg)
А это merge
2. Простая организация проектов
Очень просто создавать проекты и открывать уже существующие: пайчарм буквально в два клика позволяет приступить к редактированию кода. Не нужно импортировать проект в workspace или делать что-то подобное.
3. Удобный автокомплит
Автокомплит работает мгновенно, не нужно вызывать его хоткеем. Работает не только в привычных местах, но и в шаблонах Джанго, для подстановки путей к файлам, к тому же очень шустрый.
![](https://habrastorage.org/storage/1372f3fb/72d64efd/eb71e6aa/b32a6044.jpg)
4. Тесная интеграция с Django
Помимо привычных плюшек присутствует отладочная консоль (опять же с автокомплитом), удобная навигация между шаблонами. В последнем релизе также появилась отладка шаблонов Джанго.
![](https://habrastorage.org/storage/e7f9b26e/b6d81f10/d9cf71d2/8099da84.jpg)
5. Полезные мелочи
Множество приятных мелочей, доступных по горячим клавишам и из меню. Например, подсказка по сигнатуре функции (Ctrl+P), нахождение всех упоминаний конструкции (Alt+F9), переход по Ctrl+click к опредлению сущности (что приятно, работает даже в urls.py) и тому подобные.
Зачем это нужно можно посмотреть в скринкастах: обзорном и про Django.
6. Вкусный рефакторинг
Автоматический рефакторинг при переименовании и удалении файлов. А также Pull Up/Push Down для членов класса, Extract Superclass помимо классических Extract Method и Introduce Variable. И это не всё.
![](https://habrastorage.org/storage/548a309c/601dceac/2b2a0f36/c5855cc1.jpg)
7. Приятный интерфейс
Пайчарм вобрал в себя кучу приятных фич: двустрочные вкладки (их отсутствие в Эклипсе бесит), вертикальные направляющие для выравнивания текста, быстрый и неглючный кодфолдинг, логичное расположение элементов интерфейса, который не выглядит перегруженным.
![](https://habrastorage.org/storage/88f5d317/9d9ada79/1b626fbd/d448a47b.jpg)
8. Нативный deployment
Из коробки доступна выкладка проектов через FTP, самбу и SFTP. Очевидно настраивается и предсказуемо работает. Кроме того, бывает очень полезно в панели Remote Host посмотреть, что лежит на удаленном сервере и скачать обратно на локальную машину.
![](https://habrastorage.org/storage/52804727/4736422a/eb8aee58/1e913417.jpg)
9. Человеческий редактор HTML и JS
PyCharm унаследовал от своего брата WebStorm отличные редакторы HTML и javascript. Перечисление всех полезняшек тянет на отдельную статью, но всё же парочка: Show Applied Styles рассчитывает стиль тега прямо в редакторе, поддержка популярных js-библиотек на уровне автокомплита и документации.
![](https://habrastorage.org/storage/95ec1f09/98acbe95/0ff757c8/a7cdd1d6.jpg)
10. Очень быстрый
Пайчарм стартует в несколько раз быстрей, не тормозит при открытии больших файлов, одно удовольствие.
Ложка дёгтя
А ещё у Пайчарма есть один серьёзный минуc… нет, не цена, а внешний вид в линуксе. Для кого-то это может стать ощутимым минусом, особенно сравнивая с нативно выглядящим Эклипсом.
Надеемся, ребята когда-нибудь всё-таки доберутся до этой проблемы и пофиксят её.
![](https://habrastorage.org/storage/1100809d/4e181527/ce8c0266/8a1e4bca.jpg)
Если у вас есть какие-то любимые фичи PyCharm обязательно пишите в комментариях.
P.S. Мы всегда ищем талантливого разработчика на Django.