Quote:
Originally Posted by :::grimReaper:::
What do you find most useful about it? I don't think I could give up vim + i3 so easily.
Linux + strong text editor + strong tiling manager = IDE
I'll try to keep this brief, there's a lot of stuff.
Some of the things, you can get from other sources, but it's nice to have tightly integrated, like
* debugger
* linter
* correctness checking, to a degree (it will show you things that will be syntax errors or missing imports or improper indendation or improper punctuation etc)
* symbol completion (including even hash keys)
The ability to run test suite from code, and be able to jump directly to tests that failed. Ditto the ability to run code coverage and be able to look at the file and see uncovered lines. I can run the whole test suite, or say "run all the tests in this folder/file" or "run this test." You can do this on the command line with pytest but it's so immediate in the IDE comparitively. I am used to just hitting ctrl-shift-f10 in whatever test function I'm working on and having the test run, output show on my 2nd monitor
The way you can highlight any function or class and be taken directly to where it's defined.
The way files loading works - it understands partial file names, like if I want to open
src/foo/bar/my_thing.py
I can type in f/b/my and it'll find it or even just my_t, almost any partial incomplete version of it. This is very addictive and when I'm at someone else's computer very frustrating. It does the same search semantics when you go look for symbols too, soo MyFooClass I can look for by typing in mfc or myf or mclass etc.
The ability to easily refactor. It understands import semantics so if I want to change a function or class name it will change all the places it's referenced. If I want to move something to a different file it will fix all my imports for me.
It shows me any uncommitted lines I have, and I can look at that chunk's diff and revert just that chunk if desired
It also has basic understanding of related technologies - it does syntax highlighting, linting/syntax checking on
* bash
* any python related template language
* javascript
* C/c++
* probably some other stuff that I don't usually use
It understands most python frameworks and includes their idiosyncracies. It understands docker and virtualenvs and stuff like that.
Really what it does for me is reduce my mental load