Pull to refresh

Comments 127

Если включить Django тимплейты в JavaScript то отваливается поддержка JavaScript библиотек, таких как Ext.JS и т.п.
Не работает автодополнение для методов на связанных объектов в Django. Пишет что данный метод не найден у класса ForeignKey. Конечно, не найден, он же в классе на который ссылается, а не в самом ForeignKey…
Напишите, пожалуйста, реквест в трекер с примером кода: youtrack.jetbrains.net/
Поддержка ForeignKey у нас есть, видимо, мы не смогли обработать ваш конкретный случай.
Если вы не поддерживаете их вот в таком случае, то в каком же вы их тогда поддерживаете?:)

Поддерживаем в том случае, когда вы не используете keyword argument в вызове ForeignKey. Уберите to= и будет всё работать.
youtrack.jetbrains.net/issue/PY-5309 — пофиксим в 2.0.1
И вот так тоже не работает, хоть и без keyword argument: youtrack.jetbrains.net/issue/PY-5310

Вроде бы как коммерческий продукт, а тестирование что-то у вас отдыхает…
Да, про self тоже поправим, спасибо.
Вы бы хоть на парочке реальных проектов прогнали свои инспекции и ой как много интересного нашли. А то такое впечатление, что вы тестируете чисто на сферических конях, сами продуктом не пользуясь.
Под Django своих проектов у нас нет, это правда. Тестируем на разных open-source проектах.
Вы так написали, как будто Django не open-source. :)
К сожалению, 2.0.1 пришлось выпустить раньше, чем мы планировали — фикс там только один, зато очень ценный. :) Всё остальное будет в 2.0.2.
Автодополнение по related_name тоже не работает, хотя на багтреке висит уже такой баг со статусом Fixed.
Опять же, в самом простейшем случае, без всяких изысков, простом как три копейки:

Как по мне, то здесь совершенно не очевидная ситуация, которая разрешается в runtime. С чего бы IDE мыслить о том, как могло бы быть.

PyCharm не пользуюсь, но подобные претензии выглядят как позёрство на ровном месте.
IDE не нужно мыслить о том, как могло бы быть, потому как Django работает вполне конкретным образом, и IDE ничто не мешает об этом знать. Что PyCharm во многих случаях и делает, хоть и с некоторыми недочётами, на которые справедливо указывает Алексей.
Да, к сожалению, это известная проблема, которая пока не пофикшена.
сделайте, чтоли наконец, возможность скачать дистрибутив в виде rpm/deb пакета
Когда-нибудь обязательно сделаем.
lol. когда-нибудь я куплю pycharm.
Очень радует, что занялись внешним видом как под Linux, так и под Mac. Жалко у меня опенсурс-лицензия через пару месяцев истекает. А ее продлевать можно, если проект до сих пор активно разрабатывается?
Да, продлевать open-source лицензию можно.
Спасибо, а то как-то «подсел» я на PyCharm :(
Кстати, очень-очень хотелось бы фичу которую я кажется видел в WingIde или в чем-то таком (сама IDE весьма посредственная, но фича мега-крутая): чтобы тип переменной брался из pydoc комментария.

Т.е. скажем пишу я:
def foo(bar):
    """
    :param bar str Тестовая переменная
    """
    bar.


И вот после последней точки среда бы выдавала подсказки, считая что bar — это экземпляр класса str. Понятное дело, что тип можно и не указать (или переменная может быть нескольких типов), однако в очень многих случаях это было бы крайне приятной фичей.
Есть такая фича. Ещё в прошлой версии появилась.
а почему тогда в примере выше когда я написал последнюю точку то ничего не появилось?
Мы понимаем немножко другой синтаксис. Или epydoc:
@type bar str

Или sphinx:
:type bar str
Мы понимаем немножко другой синтаксис. Или epydoc:
@type bar str

Или sphinx:
:type bar str
А, хорошо, спасибо, так намного лучше:) Тогда было бы неплохо генерировать stub для этих переменных при действии «insert documantation string stub», как это делает PyDev:)
И это мы делаем, если выбрать формат, в котором вы хотите их генерировать, в Settings | Integrated Tools.
Ок, спасибо) Правда я слабо понимаю как до этого можно было дойти самому)
Как только мы придумаем способ сделать это более discoverable, так сразу и сделаем. :)
Например — сделать более 2-х видео туториалов.
Видео туториалы — штука безусловно очень полезная, и мы планируем делать их в большем количестве, но данную конкретную проблему они не решают.
так же поддерживается комбинированный синтаксис (see Sphinx domains):

def foo(bar):
"""
:param str bar: Тестовая переменная
"""
bar.

Note: В настройках нужно указать какой тип докстрингов используется в проекте (Settings->Python Integrated Tools->Docstring Format)
Спасибо за релиз. Очень порадовала поддержка дополнительных шаблонных движков и новый UI. Смотрится намного лучше.
100500 извинений за оффтопик, но, думаю, этот пост — очень хорошее место, чтобы задать вопрос, который меня очень давно мучает.

Дело вот в чем — я работаю под Windows (на работе) или под Mac OS X (дома). Django и там и там крутится внутри Ubuntu Server на виртуалбоксе. На хост-системах, как правило, установлен минимальный набор (только Python + Django), из-за чего есть проблемы с автодополнением кода, когда, например, в проекте используется PIL.

Нельзя ли как-нибудь объяснить PyCharm-у, что на самом деле у меня питон и его окружение установлен на удаленном хосте, доступном, например, по SFTP?
Пока что нельзя, хотя в планах такая фича есть. Так а что мешает тот же PIL поставить локально? У него вроде никаких проблем с портабельностью нету.
Под Mac OS X с тем же PIL не всё так просто. Самое простое решение из найденных мной требует, в моем случае, как минимум установку Xcode (это надо качать 3.5-гигабайтный образ).

А вообще, если бы эта фича была, я бы не устанавливал на хостах даже Django и 2-й Python. :)
Django иметь локально установленным всё равно придётся. Вытягивать по SFTP вообще все библиотеки, которые вы используете, не хочется из соображений performance. Скорее всего, напрямую с удалённой машиной будут работать только run/debug и генерация скелетов для бинарных библиотек (типа того же PIL).
Мне пока сложно оценить, насколько это сложная или простая задача, но в чем проблема один раз выкачать из Ubuntu в Windows/Mac OS X все прикрученные к Python-у библиотеки, и проидексировать их для обеспечения функционала автодополнения?
Если мы выкачаем библиотеки себе в тумбочку, они будут доступны только PyCharm'у. Если вы их поставите через pip install, это займёт ровно столько же времени, только доступны они будут всей вашей системе. Зачем же тогда заморачиваться с написанием функциональности по выкачиванию в тумбочку, если pip install уже один раз написали?
Соль в том, что на моих хост-системах они и нужны только PyCharm-у. Веб-сервер — это веб-сервер, а машина для разработки — это машина для разработки. Какой смысл мне на ней поднимать недо-сервер и в итоге поддерживать среду в 2-х местах одновременно (по 2 раза обновлять библиотеки, например, если вышла новая версия).
Мне, право же, удивительно слышать о том, что на машине для разработки не должно быть главного инструмента собственно разработки. :)
Недо-сервер поднимать никакой не надо — инсталляция Django ничего такого не делает, она просто копирует django в site-packages.
А с синхронизацией библиотек, насколько я понимаю, тот же pip вполне справляется. И в pycharm мы планируем вокруг этого всяческий UI сделать.
Человек просто не осилил, как поставить все нужные библиотеки и хочет, чтобы вы за него решили его проблему. Потом он ещё попросит, чтобы pycharm его собачку выгуливал и мусор выносил.
Вижу, вы тонкий психолог, провидец и Григорий Петухов. Не останавливайтесь, расскажите о моих недостатках что-нибудь еще.
Ну, ещё у вас на клавиатуре клавиша S западает :)
Что удивительного в том, что я не хочу тащить в хост-систему Python, Django и еще кучу библиотек? Написанный код в любом случае запускается на выполнение исключительно на линуксовом сервере. Приведите хотя бы один аргумент в пользу того, что я поступаю категорически неправильно, не плодя сущности (с учетом вышесказанного).
Если вы работаете над ровно одним проектом и ничего больше никогда в жизни не пишете и не собираетесь — наверное, это не категорически неправильно. Но вообще на Python можно написать огромную кучу всего полезного, в том числе и то, что захочется запускать локально на рабочей машине.

Вообще PyCharm рассчитывает и будет рассчитывать на то, что какой-то локально установленный Python у вас есть. Например, он используется для красивого форматирования epydoc'овских и sphinx комментов.
Понимаю, о чем вы. Вещи не для веба я пишу на 3-м питоне (и пока что только под Windows, на основной работе), так что в моем случае это для меня никак не отменяет моей хотелки. :)
А вообще мой оффтопик превратился уже в какой-то совсем оффтопик. :) Я задал вопрос, получил ответ и в целом всем доволен, спасибо. На этом можно закончить дискуссию.

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

Но за ссылку на мануал, как это делается в Эклипсе, был бы очень благодарен.
Где взять такую ссылку, настраивал чувак на работе. У них там у всех еклипсы с питоновым плагином. Пути нужно прописывать. Мне самому лично еклипс как и пишарм не по душе, пользуюсь текстмэйтом нативен и быстр.
Очень классный редактор, но поясните: как мне сделать так, чтобы на ubuntu у меня редактор не кушал 80% процессора...dual core 2.0, 3gb ram…
Хорошо, сделаю при первой же возможности!
Молодцы, новый пайчарм очень нравится.

Инспекции PEP8 видел в потенциальных фичах, не планируете?
Кроме кофескрипта планируете поддержать другие препроцессоры кода (SASS, например) в новых версиях?
Если совсем честно, мне кажется, что инспекция PEP8 — это примерно самая бесполезная из всех инспекций, которые можно было бы сделать в PyCharm. Но пользователи её почему-то хотят, так что наверное в конечном итоге сделаем.

SASS уже давно поддерживается.
Почему бесполезная, простите? Ну и раз пользователи хотят и раз фича планировалась, то почему её всё ещё нет?
Бесполезная потому, что если код плохо читается или сильно отклоняется от принятого стандарта, то это отлично видно и без всякого инспекшна. А если читается нормально, но в одном месте один пробел «не по уставу», то никакой пользы от того, что этот пробел убрать, никому не настанет.

Фича была в списке потенциальных фич на версию 2.0. Её всё ещё нет, потому что из этого списка мы выбрали другие фичи, более полезные.
Вы слишком категорично мыслите, мне кажется. Я думаю проверка по pep8 в первую очередь нужна начинающим пользователям, чтобы у них вошло в привычку писать корректный код. Только проверка нужна динамическая, чтобы по мере написания кода сразу были видны огрехи в оформлении.
С этим я спорить не буду, но как раз начинающие пользователи у нас эту фичу не просят.
Она нужна опытным пользователям, которым приходится работать и с кодом начинающих :(
Как анализ кода по PEP-8 поможет вам в работе с кодом начинающего python-разработчика. Как выше было сказано, вы и так увидите, что он гумно.
Он его сначала сам проверит.
Ммм, есть вопрос. Если есть лецензия купленная, то сколько будет стоит ее докупка (новая покупка?) для версии 2.0?
Ведь если я правильно помню, то купленная лицензия позволяет бесплатно обновляться с минорнами релизами, а вот с мажорными обновления нужна новая лицензия.
Купленная лицензия включает в себя все апдейты в течение года с даты покупки, неважно, минорные или мажорные. Продление персональной лицензии, чтобы получать апдейты в течение следующего года, стоит $59.
Класнно, спасибо!
Еще вопрос: PyCharm мне напомнит, что надо продлить лицензию?
Вам должна будет придти напоминалка по email.
При открытии проекта созданного в 1.5 пропали все настройки deployment
Спасибо за репорт, завтра попробуем воспроизвести.
Заодно пропали все добавленные Python Interpreters при тех же действиях
Вам при первом запуске должен был показаться диалог с предложением проимпортировать сеттинги. Вы согласились?
только при открытии проекта был диалог такого направления
Нет, это не то. Впрочем, ещё не поздно скопировать папочку .PyCharm10/config в .PyCharm20/config
О, теперь все хорошо, спасибо
С MacOS хорошо всё было и раньше. А что с линукс? От swing ушли наконец? Или всё так же страшненько?
«Ушли от Swing» для нас означает переписать всё нафиг. Don't hold your breath, как говорят в таких случаях англоязычные товарищи.
Жаль. А я так надеялся, что будут нормальные виджеты и шрифты.
Насчёт шрифтов у нас есть некоторая надежда: текст в редакторе можно рисовать прямо через нативное API, минуя Swing/Java2D. А с виджетами вроде как всё и так достаточно неплохо.
«можно рисовать» уже реализовано?
Рендеринг шрифтов — это один из основных минусов не дающих мне перепрыгнуть с Аптаны на ПуЧарм…
Нет, это пока только мысли.
Эх… Очень, очень, очень нужно, чтобы мысли преобразовались в результат и проблема с шрифтами ушла на совсем.
Надеюсь это реально возможно и будет в ближайших релизах, чтобы тогда я (и многие другие) понял зачем отдавать денежку за IDE (Аптана сейчас меня устраивает полностью, но я не против посмотреть по сторонам, найти возможно лучшее решение в плане IDE).

IMHO это круче и ценнее любых фич!
Я добавил в pycharm.sh такую строчку:

export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on"

стало гораздо лучше, я пока доволен.
Да, знаю — можно так. А можно еще и это под-настроить и то подпилить… И, да, это чуть-чуть помогает…

Подобные советы подходят исключительно под бесплатные/опенсорс продукты, где не принято чего-то требовать и ожидать реально крутого результата, хотя последний иногда проскакивает, хоть и редко (я о том, что иногда встречаются не «альтернатива», а реальная замена платному софту).

Когда я покупаю продукт, который к слову стоит 99 долларов (немного, но и совсем не мало), то он (продукт) должен соответствовать моим ожиданиям. В случае с IDE, в которую я смотрю 99% рабочего времени, для меня очень важно как выглядят шрифты в первую очередь. Фичи, штуки, дополнительные тулзы — вторичны IMHO.
А вот то, что теперь показывает какому модулю принадлежит файл и полный путь до него — это гуд.
> От swing ушли наконец?

Вам в Eclipse.
За поддержку нескольких проектов в одном окне — спасибо =)
Ещё добавили бы поддержку слайсов ice и qml — цены бы не было =)

+ график лога для меркуриала тоже не помешает.
А кто такие слайсы ice?
qml пока что нету в планах: работы много, а пользователей, которым это нужно, похоже, мало.
Лог для меркуриала мы сделать хотим, но пока что не дошли руки. Надеюсь, в одной из следующих версий получится сделать.
Грубо говоря — язык описания интерфейсов шустрого и простого аналога corba и soap, тикет уже давно написал =)
Но скорее всего оно даже менее востребовано, чем qml.
Что-то я не нашёл, как два проекта в одном окне открыть.
Когда открываете второй проект (через open directory, не reopen), там есть галочка «открыть в том же окне».
Так первый при этом закрылся! Ну или я не нашёл, как на него переключиться.
Попробуйте ещё раз и почитайте внимательно, что в этом диалоге написано.
А, не через reopen :) Извините.
Почему скромно молчите об увеличении производительности на связке Python 2.7 + Windows XP раз так в 50 в новом PyCharm'е? Или это локальная проблема у меня была?
Я вообще был в шоке, когда поставил новую версию на стадии первых EAP и он взлетел(а Pycharm 1.5 у меня только ползал).
Огромное спасибо, лучшее IDE. Своей быстротой и удобством в легкую окупает стоимость своей лицензии.
Я думаю, что проблема была локальная. Там есть некоторое количество фиксов про перформанс, в разных местах, но ничего, что могло бы дать 50x прирост.
Использую в работе на полную катушку. Отличная IDE.
Some skeletons failed to generate: 39 modules failed in 1 SDKs. Details… это нормально? Это про virtualenv, ругается на всякие _bsddb_d и прочие _d.
Какая операционка, и как вы ставили Python?
Debian unstable, питон 2.6 из репо.
Надо, видимо, исключать дебаг модули из генерации скелетов. Но в принципе это безвредная ошибка, всё должно работать.
Кроме дебаговых там ещё упомянуты cdbmodule и pymorphy_speedups._morph
Как раз созрел приобрести. Будет ли скидка в честь выпуска новой мажорной версии? :)
Хватит уже на этот год скидок. :)
Если вы open-source разработчик, вам могут дать её бесплатно.
UFO landed and left these words here
Можно поподробнее?
UFO landed and left these words here
Создайте, пожалуйста, реквест в трекере youtrack.jetbrains.net/ и приаттачьте тред-дампы из папочки с логами (Help | Reveal Logs)
О, за Copy path спасибо, давно мечтал.
А можно как то настроить PyCharm, что бы он учитывал, то что написано в файле .hgignore при использовании интеграции с Mercurial? А то раздражает повторно указывать то что надо игнорировать.

Я так понимаю в PyCharm свой собственный список ignore-ов, но было бы неплохо если бы для этого всё таки использовался предусмотренный VCS механизм.
Вообще-то должен и безо всяких настроек учитывать. Если у вас не работает, напишите нам баг в трекер youtrack.jetbrains.net — будем разбираться.
И ещё вопрос — планируете ли добавить UI для создания branch-ей для Mercurial (другие VCS не проверял, подозреваю, что и там нет такого функционала)
Для большинства других есть. Для меркуриала тоже рано или поздно сделаем.
скажите, а поддержку flask вы еще не планируете? хотябы, чтобы его дебажить можно было
Дебажить фласк в версии 2.0 уже можно.
круто. молодцы, спасибо.
>Поддержку CoffeeScript
Счастье-то какое! Спасибо!
Часто выскакивает окошко «Updating index». Пропадает и тут же появляется, и так раз по 15. Тормозит и мешает работать.
2011-12-23 16:47:31,221 [106374198]   INFO - j.util.indexing.FileBasedIndex - Rebuild requested for index Stubs 
java.lang.Throwable
	at com.intellij.util.indexing.FileBasedIndex.requestRebuild(FileBasedIndex.java:1356)

PyCharm 2.0.1  Build #PY-111.107 
Server VM 
Vendor: Sun Microsystems Inc. 
OS: Linux 
Запостите, пожалуйста, реквест в трекер youtrack.jetbrains.net/ с полным стектрейсом, а не только верхней строчкой.
Скидки были в сентябре. На этот год хватит.
ну и ладно… сто, так сто :)

спасибо за отличный продукт!
Only those users with full accounts are able to leave comments. Log in, please.