Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2013-04-16

Autocomplete, calltips for Python

Где-то тут у меня пробегало высказывание о том, что до сих пор я не нашел такой среды разработки на Python, где бы в полном объеме работали подсказки и автодополнение (calltips, autocomplete for indirectly created objects). В том смысле, что почти все IDE умеют давать подсказки о методах класса, если объект класса создан в текущем namespace. Но нет такой IDE, которая могла бы дать такие подсказки, если объект пришел в виде параметра функции, к примеру. Для Javascript и PHP есть способы разъяснить тип переменной в теле комментария к функции. Для Python нету такой возможности, в каком стиле не пиши docstring.

Однако, не все так плохо. Для пытливых умов нет ничего невозможного :)
Рассказываю, как научить autocomplete & calltips понимать типы обьектов, созданных бог знает где.

Для Komodo Edit можно использовать такой грязный хак
def testFunc(lyrconf):
    if 0: lyrconf = layermeta.LayerInfo()
после чего для lyrconf начинают работать подсказки.

Для PyDev работает гораздо более приемлемый хак
def testFunc(lyrconf):
    assert isinstance(lyrconf, layermeta.LayerInfo)
Заодно и проверка на корректность параметра.


Информация нагуглилась по запросам типа
«pydev|komodo autocomplete object type tips in comments»


original post http://vasnake.blogspot.com/2013/04/autocomplete-calltips-for-python.html

Комментариев нет:

Отправить комментарий

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) humor (23) Java (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Klaipeda (15) Manager (15) web-browser (15) Никонов (15) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) Baltic (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) seaside (1) serialization (1) shore (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)