Ctrl + space to force open the autocomplete. Ctrl + . to open the issue fixer. Especially useful to fix missing imports.
Honestly, the single thing that can improve editing speed is learning how to code with multiple cursors.
It takes about a solid week of practice just to recognise and catch yourself in a situation where using multiple cursors would make you more efficient, and to start using the shortcuts. It takes another week or two to get back up to your old regular speed. After that, you'll find that the old speed ceiling has been removed and you'll continue to get faster and faster until you hit a new ceiling (which is usually your WPM).
This 100%. Part of my job is writing test cases, which can be extremely repetitive. With multiple cursors, I can frame out a dozen or more cases simultaneously and then go through and fill in the details. It significantly reduces typing time.
Also, if you work with any sort of XML or HTML, learn Emmett abbreviations and learn them properly. It will take you an hour to learn them properly, but they save so much time over typing tedious tags longhand. Being able to type html>(head>meta[charset=utf-8]/+title{My page})+body
saves so much time over
<html>
<head>
<meta charset="utf-8"/>
<title>My page</title>
</head>
<body>
</body>
</html>
Protip: when using emmet, just type !
once then press tab.
It will write out:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
</html>
With the first tab stop at: device-width
, the second tab stop at 1.0
, the third at document
, and the fourth indented between the body tags.
This means that if you want to create a new html page specifically with the title "My page" and end with the cursor in the body ready for your new hand written html or your next emmet abbreviation, you only need to press the following:
!
- Tab (or whatever your emmet expansion shortcut is)
- Tab Tab (to move past the first and second tab stops
- My Title
- Tab (to move the cursor inside the body tag)
So it only takes 13 keystrokes (of which 8 keystrokes were typing out the title) to create the following:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My Title</title>
</head>
<body>
>|<-- cursor is here
</body>
</html>
A few shortcuts that I use a lot are really basic, but very powerful. Frankly, I'm always surprised when I'm pairing with a co-worker and they don't know about them.
Cmd+p
to open the fuzzy file finder search. This is a huge one and I'm shocked when I see people hunting through the file explorer to find the file they are looking for.
Cmd+shift+f
to open the fuzzy workspace text search. Basically grep your workspace for code.
F1
or Cmd+p+>
- Action menu. So many good actions in here from running formatters, to toggling light/dark mode, reload window, etc.
Ctrl+r
(mac) - Fuzzy search for recently opened projects/files. Hitting Enter
opens it in same window or Cmd+Enter
opens in new window. I use this sooo much and most people don't know about it.
Cmd+n
to open a new vscode window. Although I rarely use this as I almost always just use Ctrl+r
.
VSCode has great fuzzy search and if you use it, it lets you move around your code and codebases so much faster.
Installing CLI tools so when in the terminal, you can run code <path>
to open vscode at that working directory.
Can't remember the last time I used File->Open
to open a new project window.
Cmd+b
to open/close the left drawer
Cmd+shift+e
to open the file explorer.
Vim has a rich ecosystem of plugins like easymotion which allow you to jump directly to different parts of the current file with minimal keystrokes. There are vscode extensions like Jumpy and Acejump which provide a similar keyboard-driven cursor jumping support for vscode.
I highly recommend trying out one of these if you haven't already. Once you get habituated to easymotion, you wonder how you survived without this so long.
Web Development
Welcome to the web development community! This is a place to post, discuss, get help about, etc. anything related to web development
What is web development?
Web development is the process of creating websites or web applications
Rules/Guidelines
- Follow the programming.dev site rules
- Keep content related to web development
- If what you're posting relates to one of the related communities, crosspost it into there to help them grow
- If youre posting an article older than two years put the year it was made in brackets after the title
Related Communities
- !html@programming.dev
- !css@programming.dev
- !uiux@programming.dev
- !a11y@programming.dev
- !react@programming.dev
- !vuejs@programming.dev
- !webassembly@programming.dev
- !javascript@programming.dev
- !typescript@programming.dev
- !nodejs@programming.dev
- !astro@programming.dev
- !angular@programming.dev
- !tauri@programming.dev
- !sveltejs@programming.dev
- !pwa@programming.dev
Wormhole
Some webdev blogs
Not sure what to post in here? Want some web development related things to read?
Heres a couple blogs that have web development related content
- https://frontendfoc.us/ - [RSS]
- https://wesbos.com/blog
- https://davidwalsh.name/ - [RSS]
- https://www.nngroup.com/articles/
- https://sia.codes/posts/ - [RSS]
- https://www.smashingmagazine.com/ - [RSS]
- https://www.bennadel.com/ - [RSS]
- https://web.dev/ - [RSS]