What do you really need in a text editor?
Introduction
Let’s collect the real “must have” features we genuinely enjoy using and that make our work more distraction free…. but – have some self control ok — ? We don’t need your “OK – here’s how I setup my VSCode with tons of bullshit.” We’re talking — core needs here. (you can load up and get nerdy somewhere else)
We don’t want a virtual server or a terminal or git or anything else but the core text editor. (we have dedicated things for that already!)
(Derek only cares about a very small set of things, but he cares about them a lot) (going to just collect them here)
Make a new file
It’s crazy that I have to ask for command
+ N
to make a new text file — in a text editor… but here I am. I like this. Can we have this? And if you want a more special “new” – how about command
+ shift
+ N
for I don’t know… a Vue file or a special window to deal with where you want it.
A simple sidebar
I prefer to not use the side bar most of the time — but – I still want it to be there as an option — and i don’t want to have it dissapear / and then spend a long time trying to find it … and not be able to find it – because it has some confusing name…
Find a file by name
You should be able to think of what you want and get to it immediately without looking through a file directory/sidebar. Ideally very
loose just mashing of letters: lec
= **l**isting **e**ditor **c**ontroller etc.)
`command + p` is how they do it in Sublime (for example) and it’s very good. You can mash out crazy letters and it somehow
still finds what you want. Some look for the first letters of words only.
In PHPStorm there’s `shift + shift` – and it has a really in-depth search area / but it’s way too complex when you’re
just looking for files. So, you can map a form of that that defaults to by file. Furthermore, you can create a sub-scope
of files for it to search and leave out vendor etc. (but after setting this up and losing it / and resetting and so many different attempts to make the most of it — instead / we just basically memorized ways to get around it)
Zoom in and out
You should be able to zoom in and out (change font sizes) / so that when sharing your screen people can read what you’re showing them. But
you should be able to only zoom in the pane you are in. If all the UI also gets bigger and not just the actual code –
it’s not nearly as useful. Using the classic command
w/ +
and -
(like every program does) is ideal. If you need a unique shortcut – and all the UI zooms — fuck off. srsly bro…
Find words
command
+ F
and command
shift
F
for across all files (and we don’t need a whole specialized app that pops up and blocks everything / and ensures you can click and copy from your text anymore)
Select a string of text and then incrementally select each subsequent occurrence
command
+ D
is how Sublime does it (duplicating selection) — and command
+ U
will back up – if you went one too far.
Basic tab complete
section.name
+ tab === <section class='name'>
– Emmet – or however that needs to happen. Just looking for the basics – and that goes for MyComponent
too
Placing multiple cursors
Sublime uses command
+ click
but VSCode and PHPStorm use that for drilling down to a class or function (which is very helpful) — but maybe that’s command/shift/click?
Auto formatting
On a team, it’s important that we’re not looking at syntax changes in PRs. So, I’d like to have a set of formatting rules that are ideally shared with the team – and work in all the different editors the same. I’d like to choose whether I want to to explicitly format – or auto format.
other notes… still listing these out as I note how I’m navigating things
- auto imports… as in / if you’re not using Nuxt… – automatically figuring them out and pasting them in there
- highlighting things that are incorrect / or unused. (very helpful!! But not worth a ton of other bullshit that counters that)
- browser refreshing (browser refresh package for basic PHP stuff / but usually – we’re using Vite anyway)
Also useful, but needed much less would be to click and drag down a vertical line of cursors. That’s holding option and
dragging. But maybe we just skip that and use `option + click` for drilling — or `command + shift + click` for
drilling.