Поиск по блогу

среда, 19 ноября 2014 г.

Видео "Python in VIM" и список редакторов с автозаполнением..., и штатная IDLE Python

Я немного научился пользоваться Spyder (и IPNotebook, естественно). "Немного" - это значит без затруднений. По мере того, как мои проекты стали разрастаться, понадобилось открывать сразу два-три проекта. Я начал было искать "легкие "IDLE" и редакторы с подсказками и автозаполнением...
Установил Komodo, посмотрел видео про Python in VIM, нашел целый список редакторов на StackOverflov... Потом вспомнил про штатный IDLE, скопировал оттуда приемы работы с автозаполнением и подсказками... Действительно, раз есть "штатные приемы" автозаполнения и вызова подсказок, то все IDLE должны их использовать...

Python-mode, Python in VIM
Vim as a Python IDE - Martin Brochhaus
Pydiction : Tab-complete your Python code
Pydiction allows you to Tab-complete Python code in Vim such as keywords, built-ins, standard library, and third-party modules
What IDEs ("GUIs/editors") do others use for Python coding?
Komodo Edit is completely free and Open-Source!

Results

                                       Rapid Application Development -.
                                           Integrated DB Support -+   |
                                                GUI Designer  -+  |   |
                                             Unit Testing -+   |  |   |
                                        Code Templates -.  |   |  |   |
                                       Code Folding -+  |  |   |  |   |
                           UML Editing / Viewing -+  |  |  |   |  |   |
                              Line Numbering -+   |  |  |  |   |  |   |
                         Bracket Matching -+  |   |  |  |  |   |  |   |
                          Smart Indent -+  |  |   |  |  |  |   |  |   |
         Source Control Integration -+  |  |  |   |  |  |  |   |  |   |
                   Error Markup  -+  |  |  |  |   |  |  |  |   |  |   |
  Integrated Python Debugging -+  |  |  |  |  |   |  |  |  |   |  |   |
    Multi-Language Support -+  |  |  |  |  |  |   |  |  |  |   |  |   |
  Auto Code Completion -+   |  |  |  |  |  |  |   |  |  |  |   |  |   |
 Commercial / Free --+  |   |  |  |  |  |  |  |   |  |  |  |   |  |   |
 Cross Platform -+   |  |   |  |  |  |  |  |  |   |  |  |  |   |  |   |
                _|___|__|___|__|__|__|__|__|__|___|__|__|__|___|__|___|_
                |CP|C/F|AC|MLS|PD|EM|SC|SI|BM|LN|UML|CF|CT|UT|UID|DB|RAD|comments
                +--+---+--+---+--+--+--+--+--+--+---+--+--+--+---+--+---+
 BlackAdder     |Y | C |  |   |  |  |  |Y |  |  |   |Y |  |  |   |  |   |
 BlueFish       |L |   |  |   |  |  |  |  |  |  |   |  |  |  |   |  |   |
 ConTEXT        |W | C |  |   |  |  |  |  |  |  |   |  |  |  |   |  |   |
 DABO           |Y |   |  |   |  |  |  |  |  |  |   |  |  |  |   |  |   |
 DreamPie       |  | F |Y |   |  |  |  |Y |  |  |   |  |  |  |   |  |   |
 Dr.Python      |  | F |  |   |  |Y |  |  |  |  |   |  |  |  |   |  |   |
 Editra         |Y | F |Y | Y |  |  |Y |Y |Y |Y |   |Y |  |  |   |  |   |
 Emacs          |Y | F |Y | Y |Y |Y |Y |Y |Y |Y | Y |Y |Y |Y |   |  |   |
 Eric Ide       |Y | F |Y |   |Y |Y |  |Y |  |Y |   |Y |  |Y |   |  |   |
 E-Texteditor   |W |   |  |   |  |  |  |  |  |  |   |  |  |  |   |  |   |
 Geany          |Y | F |Y*| Y |  |  |  |Y |Y |Y |   |Y |  |  |   |  |   |*very limited
 Gedit          |Y | F |Y¹| Y |  |  |  |Y |Y |Y |   |  |Y²|  |   |  |   |¹ with plugin ² sort of
 Idle           |Y | F |Y |   |  |  |  |  |  |  |   |  |  |  |   |  |   |
 JEdit          |Y | F |  | Y |  |  |  |  |Y |Y |   |Y |  |  |   |  |   |
 KDevelop       |Y | F |  | Y |  |  |Y |Y |Y |Y |   |Y |  |  |   |  |   |
 Komodo         |Y |C/F|Y | Y |Y |Y |Y |Y |Y |Y |   |Y |Y |Y |   |Y |   |
 NetBeans*      |Y | F |Y | Y |Y |  |Y |Y |Y |Y | Y |Y |Y |Y |   |  | Y |*pre-v7.0
 NotePad++      |W | F |  | Y |  |  |  |Y*|  |Y |   |  |  |  |   |  |   |*with plugin
 Pfaide         |W | C |Y | Y |  |  |  |Y |Y |Y |   |Y |Y |  |   |  |   |
 PIDA           |LW| F |Y | Y |  |  |  |Y |Y |Y |   |Y |  |  |   |  |   |VIM based
 PTVS           |W | F |Y | Y |Y |Y |Y |Y |Y |Y |   |Y |  |  |Y* |  | Y |*WPF bsed
 PyCharm        |Y | C |Y | Y*|Y |  |Y |Y |Y |Y |   |Y |  |Y |   |  |   |*javascript
 PyDev(Eclipse) |Y | F |Y | Y |Y |Y |Y |Y |Y |Y | Y |Y |Y |Y |   |  |   |
 Pyscripter     |W | F |Y |   |Y |Y |  |Y |  |Y |   |  |Y |Y |   |  |   |
 PythonWin      |W | F |Y |   |Y |  |  |Y |Y |  |   |Y |  |  |   |  |   |
 SciTE          |Y | F |  | Y |  |Y |  |  |Y |Y |   |Y |Y |  |   |  |   |
 ScriptDev      |W | C |Y | Y |Y |Y |  |Y |Y |Y |   |Y |Y |  |   |  |   |
 SPE            |  | F |Y |   |  |  |  |  |  |  | Y |  |  |  |   |  |   |
 Spyder         |Y | F |Y |   |Y |Y |  |Y |Y |Y |   |  |  |  |   |  |   |
 Sublime Text   |Y |C/F|Y | Y |  |  |  |Y |Y |Y |   |  |Y |  |   |  |   |extensible w/python
 TextMate       |M |   |  | Y |  |  |  |Y |Y |Y |   |Y |Y |  |   |  |   |
 UliPad         |Y | F |Y | Y |Y |  |  |Y |Y |  |   |  |Y |Y |   |  |   |
 Vim            |Y | F |Y | Y |Y |Y |Y |Y |Y |Y |   |Y |Y |Y |   |  |   |
 WingIde        |Y | C |Y | Y*|Y |Y |Y |Y |Y |Y |   |Y |Y |Y |   |  |   |*support for C
 Zeus           |W | C |  |   |  |  |Y |Y |Y |Y |   |Y |Y |  |   |  |   |
                +--+---+--+---+--+--+--+--+--+--+---+--+--+--+---+--+---+
                |CP|C/F|AC|MLS|PD|EM|SC|SI|BM|LN|UML|CF|CT|UT|UID|DB|RAD|
                |__|___|__|___|__|__|__|__|__|__|___|__|__|__|___|__|___|

Acronyms used:

  • CP - Cross Platform
  • C - Commercial
  • F - Free
  • AC - Automatic Code-completion
  • MLS - Multi-Language Support
  • PD - Integrated Python Debugging
  • EM - ErrorMarkup
  • SC - Source Control integration
  • SI - Smart Indent
  • BM - Bracket Matching
  • LN - Line Numbering
  • UML - UML editing / viewing
  • CF - Code Folding
  • CT - Code Templates
  • UT - Unit Testing
  • UID - GUI Designer (for example, Qt, Eric, ..)
  • DB - integrated database support
  • RAD - Rapid application development support
  • L - Linux
  • W - Windows
  • M - Mac

I don't mention basics like syntax highlighting as I expect these by default.


This is a just dry list reflecting your feedback and comments, I am not advocating any of these tools. I will keep updating this list as you keep posting your answers.

PS. Can you help me to add features of the above editors to the list (like auto-complete, debugging, etc.)?

Я уже поставил на w8 Komodo edit, весил дистрибутив 70mb ... но в памяти занимает (пока) 100mb, что, конечно ближе к Eclipse и прочим монстрам... Vim - 6,5mb Spyder - 2,5mb ... как то не верится..., там в стеке ничего не прячется? Зато в Komodo

In []:
[python IDLE](http://www.python.org/idle)
In []:
Completions are supplied for functions, classes, and attributes of
 classes, both built-in and user-defined.  Completions are also provided
 for filenames.

 The AutoCompleteWindow (ACW) will open after a predefined delay
 (default is two seconds) after a '.' or (in a string) an os.sep is
 typed.  If after one of those characters (plus zero or more other
 characters) you type a Tab the ACW will open immediately if a possible
 continuation is found.

 If there is only one possible completion for the characters entered, a
 Tab will supply that completion without opening the ACW.

 'Show Completions' will force open a completions window.  In an empty
 string, this will contain the files in the current directory.  On a
 blank line, it will contain the built-in and user-defined functions and
 classes in the current name spaces, plus any modules imported.  If some
 characters have been entered, the ACW will attempt to be more specific.

 If string of characters is typed, the ACW selection will jump to the
 entry most closely matching those characters. Entering a Tab will cause
 the longest non-ambiguous match to be entered in the Edit window or
 Shell.  Two Tabs in a row will supply the current ACW selection, as
 will Return or a double click.  Cursor keys, Page Up/Down, mouse
 selection, and the scrollwheel all operate on the ACW.

 'Hidden' attributes can be accessed by typing the beginning of hidden
 name after a '.'.  e.g. '_'.  This allows access to modules with
 '__all__' set, or to class-private attributes.

 Completions and the 'Expand Word' facility can save a lot of typing!

 Completions are currently limited to those in the namespaces.  Names in
 an Edit window which are not via __main__ or sys.modules will not be
 found.  Run the module once with your imports to correct this
 situation.  Note that IDLE itself places quite a few modules in
 sys.modules, so much can be found by default, e.g. the re module.

 If you don't like the ACW popping up unbidden, simply make the delay
 longer or disable the extension.  OTOH, you could make the delay zero.

 You could also switch off the CallTips extension.  (We will be adding
 a delay to the call tip window.)


Посты чуть ниже также могут вас заинтересовать

4 комментария:

  1. Как русифицировать Komodo
    http://www.programming2.ru/materials/2-materials/60-komodo-edit-python

    ОтветитьУдалить
  2. Если у вас еще нет редактора кода, попробуйте один из этих: Atom, Sublime Text, Textmate, Brackets.

    ОтветитьУдалить
  3. Установил Atom (Windows)
    Поцесс отключения google analytics подвис
    https://github.com/atom/metrics

    ОтветитьУдалить