VS Code
快速创建 HTML
自动计数
html
<ui>
<li>1</li>
<li>2</li>
<li>3</li>
</ui>div>ui>li{$}*3如果生成两位数则使用两个连续的 $$ ,更多位数以此类推
自动添加单词
div>ul>li>lorem4*5定位代码
⇧⌘O 快捷键唤起符号导航面板,在当前编辑的文件中通过符号快速定位代码。 按下快捷键 ⌘\ 将活动编辑器拆分为两个。 按下快捷键 ⌘1 切换活动编辑器。
光标移动
- 移动到单词的最前面:
option + ← - 移动到单词最末尾:
option + → - 将当前行代码移动到上一行:
option + ↑ - 将当前行代码移动到下一行:
option + ↓ - 移动到当前行最前面:
cmd + ← - 移动到当前行最末尾:
cmd + → - 花括号之间跳转:
cmd + shift + \ - 移动到文档第一行或最后一行:
cmd + ↑/cmd + ↓
文本选择
基于单词,行,文档的光标操作加上个 shift 键,就可以移动光标的同时选择文本;例如,选择当前光标所在位置到当前行最前面的代码:cmd + ← + shift
删除操作
- 删除当前行光标后的所有字符:
cmd + fn + delete - 删除当前行光标前的所有字符:
cmd + delete - 删除当前单词光标后的字符:
option + fn + delete - 把当前单词光标前的字符删除:
option + delete
添加注释
- 注释一行代码:
cmd + / - 注释一整段代码:
option + shift + A
格式化代码
- 格式化代码:
option + shift + F - 格式化选中行代码:
cmd + K cmd + F - 代码缩进:
cmd + shift + P
文件、符号、代码之间的快速跳转
control+ tab(同时按住),继续按着control键,松开tab键: 打开当前打开文件的列表,选择要打开文件,松开control就能打开对应文件cmd + P打开最近打开文件列表,同时列表顶部出现搜索框,搜索文件名,回车(enter),可以再当前窗口打开对应文件;使用cmd + enter会在新的编辑器窗口打开这个文件control + G:行跳转,输入对应数字回车,可以跳转到当前文件的当前行cmd + P(输入文件名 + “:” + 行数):跳转到指定文件的指定行数cmd + shift + O:调出当前文件的符号(函数名等),使用方向键或者搜索,回车,就能跳转到你想要的符号;如果输入“:”可以对当前文件的所有符号进行分类cmd + T:打开多个文件,搜索多个文件中的符号F12:跳转到函数的定义处cmd + F12:跳转到函数的实现位置;注:js 中没有接口的概念,定义和实现是相同的,所以 js 中的 F12 和 Cmd + F12 效果是一样的shift + F12:打开函数引用的预览(把光标放在函数或者类上,按shift+F12可以打开一个引用列表和内嵌编辑器)
鼠标操作
- 在 vscode 中,单击鼠标左键:把光标移动到响应的位置;双击鼠标左键:将当前光标下的单词选中;三击鼠标左键:选中当前行代码;四次点击鼠标左键:选中整个文档
- 鼠标左键单击行号:直接选中所在行;选中后,再按着
shift,鼠标左键再次选择行:可以选中多行代码 - 悬停提示窗口:当鼠标移动到某些文件上之后,一会就会显示跟鼠标下文本相关的信息;如果鼠标放在某个函数上,按下
cmd时,则能在悬停提示的窗口上看到该函数的实现。 - 代码的跳转和链接:如果我们把鼠标放在函数上时,函数下方会出现一个下划线,然后当我们按下鼠标左键时,就能跳转到该函数的定义处。cmd + 鼠标左键,跳转到函数、变量定义的地方。当我们再编写 Markdown 这样的非编程语言的文档时,还可以通过 cmd+鼠标左键能打开超级链接
Prettier
Prettier 是一个代码格式化的工具。
安装使用
sh
pnpm add -D prettier创建 .prettierrc 文件,配置 Prettier 如何格式化代码 ,以下是常用配置
json
{
"singleQuote": true,
"trailingComma": "all",
"printWidth": 100,
"proseWrap": "never",
"endOfLine": "lf"
}更多配置可以参考以下或查看 官网
js
module.exports = {
// 行宽 default:80
printWidth: 100,
// tab 宽度 default:2
tabWidth: 2,
// 使用 tab 键 default:false
useTabs: false,
// 语句行末是否添加分号 default:true
semi: false,
// 是否使用单引号 default:false
singleQuote: true,
// 对象需要引号在加 default:"as-needed"
quoteProps: 'as-needed',
// jsx单引号 default:false
jsxSingleQuote: true,
// 最后一个对象元素加逗号 default:"es5"
trailingComma: 'es5',
// 在对象字面量声明所使用的的花括号后({)和前(})输出空格 default:true
bracketSpacing: true,
// 将 > 多行 JSX 元素放在最后一行的末尾,
// 而不是单独放在下一行(不适用于自闭元素)。default:false
jsxBracketSameLine: false,
// (x) => {} 是否要有小括号 default:"always"
arrowParens: 'always',
// default:0
rangeStart: 0,
// default:Infinity
rangeEnd: Infinity,
// default:false
insertPragma: false,
// default:false
requirePragma: false,
// 不包装 markdown text default:"preserve"
proseWrap: 'never',
// HTML空白敏感性 default:"css"
htmlWhitespaceSensitivity: 'strict',
// 在 *.vue 文件中 Script 和 Style 标签内的代码是否缩进 default:false
vueIndentScriptAndStyle: true,
// 末尾换行符 default:"lf"
endOfLine: 'auto',
// default:"auto"
embeddedLanguageFormatting: 'auto',
overrides: [
{
files: '*.md',
options: {
tabWidth: 2,
},
},
],
}创建 .prettierignore 文件,忽略不需要格式化的文件
# Ignore artifacts:
build
coverage
# Ignore all HTML files:
*.html
**/*.svg
**/*.ejs
package.json命令行
sh
# 格式化所有文件
pnpm exec prettier --write .
# 格式化某些文件夹下的文件
pnpm exec prettier --write app/
# 格式化具体文件
pnpm exec prettier --write app/components/Button.js
# 格式化所有匹配到的文件
pnpm exec prettier --write "app/**/*.test.js"
prettier --write \"**/*.{js,jsx,tsx,ts,less,md,json}\"