别院牧志知识库 别院牧志知识库
首页
  • 基础

    • 全栈之路
    • 😎Awesome资源
  • 进阶

    • Python 工匠系列
    • 高阶知识点
  • 指南教程

    • Socket 编程
    • 异步编程
    • PEP 系列
  • 面试

    • Python 面试题
    • 2025 面试记录
    • 2022 面试记录
    • 2021 面试记录
    • 2020 面试记录
    • 2019 面试记录
    • 数据库索引原理
  • 基金

    • 基金知识
    • 基金经理
  • 细读经典

    • 德隆-三个知道
    • 孔曼子-摊大饼理论
    • 配置者说-躺赢之路
    • 资水-建立自己的投资体系
    • 反脆弱
  • Git 参考手册
  • 提问的智慧
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
首页
  • 基础

    • 全栈之路
    • 😎Awesome资源
  • 进阶

    • Python 工匠系列
    • 高阶知识点
  • 指南教程

    • Socket 编程
    • 异步编程
    • PEP 系列
  • 面试

    • Python 面试题
    • 2025 面试记录
    • 2022 面试记录
    • 2021 面试记录
    • 2020 面试记录
    • 2019 面试记录
    • 数据库索引原理
  • 基金

    • 基金知识
    • 基金经理
  • 细读经典

    • 德隆-三个知道
    • 孔曼子-摊大饼理论
    • 配置者说-躺赢之路
    • 资水-建立自己的投资体系
    • 反脆弱
  • Git 参考手册
  • 提问的智慧
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 工作
  • 规范

  • Linux

  • 数据库

  • Git

  • 👨‍💻Web

  • 英语

  • Docker

  • 编辑器

    • PyCharm 如何排除目录(防止 index 时间太长)
    • Vim CHEATSHEET (中文速查表)
    • vscode 使用推荐
      • 为什么写这篇文章
      • 写给谁?想从 WebStorm 转向 VSCode 的 F2E
      • 为什么使用 VSCode
      • 心动不?开始吧
        • 先滚去下载🐶
        • 来解决终端问题(让终端更好用/更好看)
        • 插件
        • 配置
        • VSCode 代码片段
      • 最后
      • 快捷键
  • 网络

  • 前端

  • 存储

  • 备忘录

  • 如何开始你的单元测试
  • 以程序员的视角看中国——西安篇
  • 💻工作
  • 编辑器
Sh1_5
2022-03-25
目录

vscode 使用推荐

# 为什么写这篇文章

在公司,只有我使用 VSCode,其他同事都使用 WebStorm,我也向他们推荐过 VSCode,他们虽然心动,但是觉得配置麻烦,不想花时间去学习。再者,经常看到各个微信群里问 VSCode 如何配置前端开发环境之类的问题,而掘金上的大部分文章只局限于推荐 VSCode 插件。天降大任于斯人也,那么就由我来向大家安利,并且配置一个舒适的前端开发环境。

# 写给谁?想从 WebStorm 转向 VSCode 的 F2E

大家都是 coder,编程语言没用高低之分,编辑器/IDE 也是,使用自己喜欢的即可。

# 为什么使用 VSCode

“微软有两种软件,一种是 VSCode,一种是其他”。微软最近这些年干的算人事的事情有两件(😄我觉得最大的两件),一件是 TypeScript 的推出,一件是 VSCode 的开源。

  • 开源免费

    这个相比于 WebStorm 好太多了,直接白嫖,也不用通过各种身份去申请免费版或者自费购买,属实良心好吧。

  • 插件多(只有你想不到/找不到)

    这个即是优点也是缺点。插件多,意味着自由性很高,可以按需安装自己想要的插件。但对于不熟悉 VSCode 的人来说,就是灾难。安装了不会用,插件之间有冲突等等。

  • 轻量

    VSCode 介于编辑器和 IDE 之间,比记事本/SubLime Text 强大,又没有 WebStorm 臃肿。

另外,尤大很早就推荐并且转向 VSCode 了

# 心动不?开始吧

本文章配合 mac 食用最佳

# 先滚去下载🐶

仙人指路 (opens new window)

# 来解决终端问题(让终端更好用/更好看)

windows 用户自求多福哈,不想使用 windows 的很大原因就是终端太难用(就算最近出了很多新的)

  • iTerm2

    谁用谁知道,被推荐烂了,不多逼逼,iTerm2 (opens new window)

  • Oh My Zsh

    有了 ta,你就可以安装自己想要的终端主题,官网傻瓜教程 (opens new window)

    我用的是这款 (opens new window)

    你可以看到当前 node 版本和 git 分支等等。

# 插件

推荐必装插件

  • Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code

    不用解释

  • Auto Close Tag

    自动闭合标签,比如你敲下<h1>,就会自动补上</h1>。

  • Auto Rename Tag

    自动重命名标签,修改开始标签,结束标签也会自动修改。

  • One Dark Pro

    我最喜欢的一款主题,很好看。

  • VSCode Great Icons

    文件图标主题。

然后是一些工具性质的插件(按需)

  • Live Server

    可以帮助你启动一个本地服务器,用不了的话安装 Previwe on Web Server 也行。右键编辑区即可看到 Open With Live Server,也可以弄个自己喜欢的快捷键。

  • Markdown Preview Enhanced

    markdown 编辑,装就对了。

  • GitLens + Git Graph

    GitLens 可以让你看到每一行的代码是谁写的,拒绝❌甩锅。Git Graph 可以让你看到图形化的 git 分支情况(点击左下角 Git Graph)。

  • Code Runner

    可以运行各种代码。装了之后右上角有个运行标志。

  • Code Spell Checker

    拼写不对的单词,会有波浪线提示。

  • TODO HighLight

    高亮TODO:和FIXME:,配合注释使用哦~

  • Highlight Matching Tag

    双击选中某个标签后,匹配所有相同标签,用于查找标签。

  • carbon-now-sh

    生成好看的代码块图片。Alt+Cmd+Aor (Alt+Windows+Aon Windows)

代码片段插件

  • JavaScript (ES6) code snippets

  • ES7+ React/Redux/React-Native snippets

  • Vetur + Volar

    vue2 使用前一个,vue3 使用后一个,不用哪个禁用哪个。

  • vscode-styled-components

  • any-rule

    正则表达式大全,右键编辑区即可。

代码校验/格式化

  • ESLint + TSLint

  • Prettier

    不推荐 Beautify(垃圾🌶️)

项目上常用插件

  • Version Lens

    让你看到各个依赖的详细版本。点击右上角的V即可。

  • element-ui-helper

  • Remote - SSH + Remote - SSH: Editing Configuration Files

    部署项目必备。这两个插件可以让你直接在 VSCode 打开远程服务器(你可以直接复制 VSCode 里的文件粘贴上去,或者直接在服务器上使用 VSCode 修改代码,也可以通过 VSCode 打开终端),什么 xshell、xftp、mob、finalshell、windterm、securecrt、tabby、自带终端...都弱爆了,给老子死🐶

# 配置

以下是我的 VSCode 配置,Command+Shift+Por (Ctrl+Shift+Pon Windows)打开 setting.json

我这里配置了保存后按照我想要的规则格式化

    {
      "files.autoSave": "off", // 自动保存
    
      "editor.formatOnSave": true, // 保存格式化
      "editor.defaultFormatter": "esbenp.prettier-vscode", // 默认格式化程序
      "editor.fontSize": 16, // 字号
      "editor.tabSize": 2, // 一个tab强制转换为2个空格
      "editor.fontFamily": "Input Mono, Fira Code, monospace", // 字体
      "editor.smoothScrolling": true, // 滚动时启用动画
      "editor.renderWhitespace": "all", // 空白字符显示方式
      "editor.quickSuggestions": {
        "strings": true // 在键入字符串时启用建议
      },
      "editor.wordWrap": "on", // 在视区宽度处换行,
      "editor.bracketPairColorization.enabled": true, // 彩虹🌈括号
    
      "explorer.confirmDragAndDrop": true, // 控制在资源管理器内拖放移动文件或文件夹时是否进行确认
    
      "workbench.colorTheme": "One Dark Pro", // 主题
      "workbench.iconTheme": "vscode-great-icons", // 文件主题
      "workbench.tree.indent": 16, // 树缩进
    
      "terminal.integrated.defaultProfile.windows": "PowerShell", // 默认终端
      "terminal.integrated.defaultProfile.osx": "zsh", // 默认终端
      "terminal.integrated.copyOnSelection": true, // 终端选中复制
      // "terminal.integrated.fontSize": 16, // 终端字号
    
      "breadcrumbs.enabled": true, // 开启 vscode 文件路径导航
    
      "security.workspace.trust.untrustedFiles": "prompt", // 不显示信任引入提示
    
      // prettier 设置
      "prettier.semi": false, // 设置分号
      "prettier.singleQuote": true, // 强制单引号
      "prettier.trailingComma": "none", // 随时添加逗号
      "[html]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
      },
      "[javascript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
      },
      "[vue]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
      },
      "[typescript]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
      },
      "[json]": {
        "editor.defaultFormatter": "esbenp.prettier-vscode"
      },
      "javascript.updateImportsOnFileMove.enabled": "always",
    
      // updated 2022-03-14 00:43
      // https://github.com/antfu/vscode-file-nesting-config
      // 配置文件归类
      "explorer.experimental.fileNesting.enabled": true,
      "explorer.experimental.fileNesting.expand": false,
      "explorer.experimental.fileNesting.patterns": {
        "*.js": "$(capture).js.map, $(capture).min.js, $(capture).d.ts",
        "*.jsx": "$(capture).js",
        "*.module.ts": "$(capture).resolver.ts, $(capture).controller.ts, $(capture).service.ts",
        "*.ts": "$(capture).js, $(capture).*.ts",
        "*.tsx": "$(capture).ts",
        "*.vue": "$(capture).*.ts, $(capture).*.js",
        ".env": "*.env, .env.*, env.d.ts",
        ".gitignore": ".gitattributes, .gitmodules, .gitmessage, .mailmap, .git-blame*",
        "index.d.ts": "*.d.ts",
        "package.json": ".browserslist*, .circleci*, .codecov, .commitlint*, .editorconfig, .eslint*, .firebase*, .flowconfig, .github*, .gitlab*, .gitpod*, .huskyrc*, .jslint*, .lintstagedrc*, .markdownlint*, .mocha*, .node-version, .nodemon*, .npm*, .nvmrc, .pm2*, .pnp.*, .pnpm*, .prettier*, .releaserc*, .sentry*, .stackblitz*, .styleci*, .stylelint*, .tazerc*, .textlint*, .tool-versions, .travis*, .vscode*, .watchman*, .xo-config*, .yamllint*, .yarnrc*, api-extractor.json, apollo.config.*, appveyor*, ava.config.*, azure-pipelines*, bower.json, build.config.*, commitlint*, crowdin*, cypress.json, dangerfile*, dprint.json, firebase.json, grunt*, gulp*, jasmine.*, jenkins*, jest.config.*, jsconfig.*, karma*, lerna*, lint-staged*, nest-cli.*, netlify*, nodemon*, nx.*, package-lock.json, playwright.config.*, pm2.*, pnpm*, prettier*, pullapprove*, puppeteer.config.*, renovate*, rollup.config.*, stylelint*, tsconfig.*, tsdoc.*, tslint*, tsup.config.*, turbo*, typedoc*, vercel*, vetur.config.*, vitest.config.*, webpack.config.*, workspace.json, xo.config.*, yarn*",
        "vite.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env.*, .htmlnanorc*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, cssnano.config.*, cypress.json, env.d.ts, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, playwright.config.*, postcss.config.*, puppeteer.config.*, svgo.config.*, tailwind.config.*, tsdoc.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*",
        "vue.config.*": "*.env, .babelrc*, .codecov, .cssnanorc*, .env.*, .htmlnanorc*, .mocha*, .postcssrc*, .terserrc*, api-extractor.json, ava.config.*, babel.config.*, cssnano.config.*, cypress.json, env.d.ts, htmlnanorc.*, jasmine.*, jest.config.*, jsconfig.*, karma*, playwright.config.*, postcss.config.*, puppeteer.config.*, svgo.config.*, tailwind.config.*, tsdoc.*, unocss.config.*, vitest.config.*, webpack.config.*, windi.config.*"
      }
    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72

# VSCode 代码片段

右键左下角设置图标,选择用户代码片段。需要 xxx 格式的代码片段就新建 xxx.json。

这是以.vue 文件为例,我想设置以下代码片段:

打开 vue.json,打开这里 (opens new window)

讲代码片段复制到 your snippet 里面,tab trigger 填入你想要的简写,就生成好了

接下来 copy snippet 到 vue.json

在.vue 文件输入 vue2 即可出现

# 最后

没有什么能阻挡你转向 VSCode 了吧?

# 快捷键

  • 批量替换当前文件中所有匹配的文本

可以选择任何一组文本,如果该选中文本出现多个,可以通过按 Ctrl + F2 (Mac: command + F2)一次改所有出现的文本。

Ctrl + F2

  • 重复行

只需按 Shift + Alt + 向下箭头 (Mac: command + Shift + 向下箭头)

  • 复制光标向上或者向上批量添加内容

在 VsCode 中复制游标可以证明是最节省时间的特性。

按 Ctrl + Alt +向上箭头(Mac: Control + Option +向上箭头)将光标添加到上面,按 Ctrl + Alt +向下箭头(Mac: Control + Option + 向下箭头)将光标添加到下面。

编辑 (opens new window)
#vscode#编辑器
上次更新: 2024-07-23, 01:00:43
Vim CHEATSHEET (中文速查表)
网络知识待整理

← Vim CHEATSHEET (中文速查表) 网络知识待整理→

最近更新
01
2025 面试记录
05-28
02
提升沟通亲和力的实用策略
03-26
03
工作
07-15
更多文章>
Theme by Vdoing | Copyright © 2019-2025 IMOYAO | 别院牧志
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式