[Tutor] What editor tools (plugins/extensions) would you consider essential for efficient Python development?

boB Stepp robertvstepp at gmail.com
Fri Nov 8 22:54:04 EST 2019


I have spent the afternoon playing around with Visual Studio Code with
the Vim extension enabled, comparing it to Neovim.  While interesting
and "pretty", I will continue to stick with Vim/Neovim.  But playing
around with VSC with all of its many integrated tools has convinced me
it is time to give careful thought to what would be helpful tools for
serious Python development to make me more efficient and less error
prone.  Up to this point in my on and off adventures with Python I
have strictly avoided any such tools to force myself to get Python
syntax into my head and fingers.  I think I now am at the point where
these tools would be more helpful than harmful to my Python journey.

My main system at home is Linux Mint.  I am using a bare Neovim editor
installation (Meaning no plugins installed and using existing
defaults) with no GUI running in Gnome terminal.  I am using Python
3.7.5 on this PC.  I use Git for version control.  I have installed
vim-plug for Neovim plugin management (Done today.)  I normally use
Python's unittest module for testing, though I play around with pytest
from time to time.  My normal workflow is to have Neovim open in one
terminal tab, the Python interpreter in another, and finally another
tab for actually running any code.  I normally prefer the latter to
using Neovim's integrated terminal or its terminal commands.

What Neovim plugins would any of you recommend as especially useful?
Searching online I have found a variety of opinions, but as to
functionality I have seen suggested:
    1)  Git integration plugins.
    2)  Code completion plugins.
    3)  Linters.
    4)  File explorer plugins.
    5)  Bracket and quote completion plugins.
    6)  Comments plugins.
    7)  Code autoformatting plugins.
    8)  PEP 8 compatibility plugins.
    9)  Multiple cursor plugins.
  10)  Code folding plugins.
  11)  "Fuzzy" searching plugins.
  12)  And on and on and ...

I may very well have left out something that is actually important.
Perhaps an integrated debugger of some sort?  This is all quite mind
boggling and it is hard to sift out the wheat from the chaff, not to
mention there are usually multiple plugins that claim to perform the
same functionality.  I am sure there must be significant variation in
quality of these different options.

Any help in making sense of these will be appreciated.  I have agreed
to work with my son on what looks to be a potentially very large
project (Meaning for us possibly tens of thousands LOC.) and anything
that will help my code quality and efficiency in generating it, I am
willing to entertain.

TIA!

-- 
boB


More information about the Tutor mailing list