In addition to this list, for those doing node monorepos in 2022, the extensions that I think you must use are:
- Github copilot - like autocomplete on steroids.
- peacock - change the workspace color - helps reduce mental load when working on different projects.
- tag autorename - this should be built into vscode, saves a bunch of keystrokes
- snippets - this is a category of extension. Find whichever snippet lib is out there for your stack.
Although that plugin seems trivial, for me, when working with multiple code repos, it really does help to organize thoughts quickly. I get multiple interruptions daily and being able to quickly bounce between repos, using visual cues, helps alleviate context interruptions.
One of my most used VSCode extensions at the moment is "Fix JSON". It fixes problems in JSON by running the broken JSON through jsonic. If you ever need to take a JS object dump (from an error stack trace, or a Redux state dump, etc) and turn it in to well formatted JSON it's very useful.
Because of issues like this, I find it absurd people use out-of-the-box JSON for human readable/writeable configuration. Issues with straight quotation marks, commas, brackets, and other stuff, and to top it off, there's no types so you often get terrible feedback on the configuration and every application needs to do similar marshaling to deal with it.
An increasing amount of extensions phone home parts of your code, many of which do not disclose it anywhere, some performing tasks so mundane you wouldn't ever have considered a remote server would be taking care of it.
Installing something like Copilot could have massive legal consequences if you're working under an NDA, with protected customer data, any proprietary code that isn't yours, etc. Something to keep in mind.
One of these at least is a native feature of vscode now (rainbow brackets) so I’d consider this post to be of low quality. If you ran even half of these last it’d really slow vscode down too.
If you mean "install prettier, set it as a default formatter", then it doesn't. I tried all shallow methods, then all deep ones I was able to comprehend. Indentation rules are different from formatting, and default prettier settings mess it up completely into argument-per-line if it's a big hierarchy (which it usually is). Hyperscript readability highly depends on how you format it.
Fun part is, neovim plugin reindents it correctly with =.
I've not heard Hyperscript in a while. While I detest JSX, with Hyperscript's bad ergonomics and indentation issues you have, why use JavaScript? There's a plethora of better options that compile to the JS target if you want markup as function that improves the ergonomics and likely a better experience. Heck even CoffeeScript does a better job at this.
It doesn't feel right to me to switch languages because of a wrong editor behavior. Also, I'm already using typescript. Hyperscript is just an example, e.g. long lists also have this issue:
foo(bar, baz, ........
quux)
I'd agree if you told that it probably begs for a refactoring into named arguments, but it isn't an excuse to mess with indentation. Virtually every other editor out there would indent quux line, if it at all has indentation concept built in. Even neovim vscode plugin "knows" that.
VS Code is pretty cool, and when I use it -- I have it open right now --, I mostly enjoy it.
But I'm very concerned about the security of the extensions. They are so great, they are what makes VS Code the great tool that it is, but I fear that it will soon have the same problems npm has.
Are there any kind of protections in place which prevent an extension developer to sell his extension or he/she itself go rouge and siphon out the code being edited, or the entire project being worked on, or even install malware on the machine?
This is a great list, thanks for this. Many of these I use, but glad to see REST client, which I didn't know about. Have been looking for a replacement for Postman since they went off the "enterprise" deep end. I mean, I basically want a slightly better UI for curl, not 60 levels of "project management" features to make an HTTP call.
If you want a Postman replacement, I recommend Insomnia. There's a free app! And it can import Postman collections, so you aren't totally starting from scratch.
We're in a VS Code thread, but the Jetbrains REST client (Part of e.g. Webstorm) is absolutely terrific. You can easily cut and paste from requests or responses just as in a text editor - because that is what it is.
As a VIM user (IdeaVIM in the Jetbrains editors), this is even easier, because text editing (as opposed to writing) is where VIM shines.
- Filter lines
- Align by RegEx
- Excel to Markdown table
- Gistpad
- Markdown all in one
- Markdown PDF
- Project Manager
- Sort
- Spell Right
- Thunderbolt client
- Todo Tree