DEV Community

Discussion on: How to Make Vim a Python IDE - Best IDE for Python.

Collapse
 
nicolus profile image
Nicolas Bailly

I haven't tested your setup but it looks more like a nice editor than an IDE (as in "Integrated Development Environment", as in you have all the tools you need to write, test and compile your project). In my opinion here's what you should add to have a true IDE :

  • The ability to run tests and get the results from the IDE
  • The ability to run tests automatically when you change something
  • The ability to place breakpoints and run the debugger from the IDE
  • Git/SVN integration that shows you which lines were changed/added/removed in the gutter, can quickly "git blame" the line you're editing, and of course commit/push from the IDE.
  • An SQL and NoSQL client that integrates with your code (by completing table / column names when you type them in your code for eg.)
  • An HTTP Client to test your APIs right from the IDE.
  • Refactoring features : if you change the name of a variable/function, will it change all the calls automatically ? If you rename a file will it change the rest of your code automatically ? Can you extract a part of code to a new function ? Move some methods to a new class ?
Collapse
 
jrhamdi profile image
Hamdi Jr

Thank you for your response. I will try to add these features and write another blog soon.

Collapse
 
tacsiazuma profile image
Krisztian Papp
  • vim-test plugin
  • simple autocommand
  • vim-vebugger or vimspector
  • vim-fugitive for commands and vim-signify for gutter.
  • vim-dadbod and vim-dadbod-ui and vim-sql-suggest
  • thats what automated tests for but if you really want it then vim-http plugin
  • that is where it lacks some features, even with coc.nvim, extract features are limited.
Collapse
 
daandl profile image
Daan De Lombaert

By the time you've installed and configured all that, you could've just installed PyCharm and be done with it..

Also the more plugins you install, the slower it'll get.

Thread Thread
 
tacsiazuma profile image
Krisztian Papp

And I'd have an IDE which also has a bunch of plugins in order to operate, generally slow and requires a bunch of resources, less configurable, and works for python mostly. Also this configuration is like sharpening an axe. In order to excel in PyCharm you also need to memorize/customize keybindings, etc. The only difference is Vim just requires some of that work upfront.

Collapse
 
nicolus profile image
Nicolas Bailly

Great suggestions, thanks !

Collapse
 
jrhamdi profile image
Hamdi Jr

Thank you for your suggestions.