前言:本来我也不是插件重度用户,写项目觉得太累赘,然后在公司前端工作之后,嗯,真香……本文总结vscode的使用,并记录配置相关信息以便更换设备迁移配置,具体内容有:

  • 常用插件
  • 代码校验(ESLint)和代码格式化(Prettier)的插件配置
  • vscode配置C++运行环境

    DELETE: 彻底删除vscode软件

    本着要学会如何配置环境,首先要学会如何彻底删除软件的原则(曾经的javaweb懂得都懂……),先介绍一下如何在本地设备彻底删除vscode软件。
    VScode 插件及环境配置总结等 - 图1
    因为:vscode如果更换电脑配置混乱(比如vue相关,既有vetur也有ESLint和Prettier会进行选择等),就删除软件,重新下载然后配置插件:

  • win + r 打开运行

  • %appdata% 回车
  • 删除 Code 和 Visual Studio Code 文件夹
  • 地址栏输入 %userprofile% 回车
  • 删除 .vscode 文件夹

    一、VScode插件使用

    常用插件

  • [x] Chinese (simplified)Language pack for Visual Code

vscode中文化

  • vscode-icons

美化图标

  • Waka Time

记录软件编写各类语言时间分配

  • Todo Highlight

优化TODO:高亮

  • Live Server

运行HTML

  • Auto Import

自动导入包(组件)
第一次用到该组件(包)时是不会有自动导入提示的,在另一个文件第二次用时就会有自动导入提示了

  • Color Highlight

代码中有颜色的地方会高亮
文件中找到的 css/web 颜色,所以你无需打开页面就能看到它们是什么颜色。

  • HTML CSS Support

让 html 标签上写class 智能提示当前项目所支持的样式

  • IntelliSense for CSS class names in HTML
  • JavaScript (ES6) code snippets

ES6语法智能提示以及快速输入,除js外还支持.ts,.jsx,.tsx,.html,.vue,省去了配置其支持各种包含js代码文件的时间

  • koroFileHeader

生成文件头注释
配置参考:https://github.com/OBKoro1/koro1FileHeader

  1. // 头部注释
  2. "fileheader.customMade": {
  3. // 头部注释默认字段
  4. "Author": "wztlink1013",
  5. "Date": "Do not edit", // 设置后默认设置文件生成时间
  6. "LastEditTime": "Do not edit", // 设置后,保存文件更改默认更新最后编辑时间
  7. "Description": ""
  8. },
  9. // 函数注释
  10. "fileheader.cursorMode": {
  11. // 默认字段
  12. "description":"",
  13. "param":"",
  14. "return":""
  15. },
  • Nuxt Typescript Snippets
  • Path Autocomplete

会有路径提示

  • Path Intellisense

自动路径补全

  • Reactjs code snippets
  • Vetur

VSCode里安装Vetur可以将“.vue”文件中的语法进行高亮显示,Vetur不仅支持Vue中的template模板以外,还支持大多数主流的前端开发脚本和插件,比如Sass、TypeScript、Jade和Less等等。

  • vue
  • Vue 3 Snippets
  • Vue VSCode Snippets
  • Auto Close Tag

自动闭合HTML/XML标签

  • Auto Rename Tag

自动关闭Html标签,输入起始标签后会自动变换尾部标签。

  • background

背景图片的设置

  • DotENV【添加env环境变量参数】

参考:https://blog.csdn.net/hbiao68/article/details/105205112

  • CodeRunner【编写C/C++】
  • C/C++【编写C/C++】
  • Todo Tree【优化TODO:侧边栏】
  • language-stylus【hexo 博客】
  • Markdown Preview Github Styling【Markdown】
  • Markdown All in One【Markdown】
  • GitLens 【显示当前行commit信息,管理git】
  • Git History 【查看commit信息】
  • Bracket Pair Colorrizer 2 【优化大括号】

vscode可以自定义markdown预览样式,css文件以外链的方式放上

二、集成ESLint和Prettier代码校验格式化环境

  • Prettier - Code formatter

代码格式化插件:按照所需配置直接格式化代码

  • ESLint

格式化检测工具:会给出警告抑或是报错,但不会修改

eslint-plugin-html

目的是为了检测html文件中的js代码,全局下载,让设备非node项目也能使用

  1. npm install -g eslint-plugin-html

image.png
每次打开html,eslint就会报错:

  1. 'plugins' doesn't add plugins to configuration to load. Please use the 'overrideConfig.plugins' option instead.

官网issues https://github.com/microsoft/vscode-eslint/issues/1376 中貌似也并未给出根治方法,暂时禁用:
image.png

三、VScode配置C/C++环境

下载编译器

下载地址:https://sourceforge.net/projects/mingw-w64/files/

image.png

配置环境

image.png
检查是否配置成功
image.png

下载插件

在vscode中下载如下两个插件

  • CodeRunner
  • C/C++

image.png

项目.vscode配置

建立一个 .vscode 文件夹,然后在里面新建下面三个文件即可。

image.png :::danger 注意:以后只有该配置文件夹的文件夹才能编写C/C++代码 :::

launch.json

  1. {
  2. "version": "0.2.0",
  3. "configurations": [{
  4. "name": "(gdb) Launch",
  5. "type": "cppdbg",
  6. "request": "launch",
  7. "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
  8. "args": [],
  9. "stopAtEntry": false,
  10. "cwd": "${workspaceFolder}",
  11. "environment": [],
  12. "externalConsole": true,
  13. "internalConsoleOptions": "neverOpen",
  14. "MIMode": "gdb",
  15. "miDebuggerPath": "gdb.exe",
  16. "setupCommands": [
  17. {
  18. "description": "Enable pretty-printing for gdb",
  19. "text": "-enable-pretty-printing",
  20. "ignoreFailures": false
  21. }
  22. ],
  23. "preLaunchTask": "Compile"
  24. }]
  25. }

settings.json

  1. {
  2. "files.defaultLanguage": "c",
  3. "editor.formatOnType": true,
  4. "editor.suggest.snippetsPreventQuickSuggestions": false,
  5. "editor.acceptSuggestionOnEnter": "off",
  6. "code-runner.runInTerminal": true,
  7. "code-runner.executorMap": {
  8. "c": "gcc '$fileName' -o '$fileNameWithoutExt.exe' -Wall -O2 -m64 -lm -static-libgcc -std=c11 -fexec-charset=GBK && &'./$fileNameWithoutExt.exe'",
  9. "cpp": "g++ '$fileName' -o '$fileNameWithoutExt.exe' -Wall -O2 -m64 -static-libgcc -std=c++14 -fexec-charset=GBK && &'./$fileNameWithoutExt.exe'"
  10. },
  11. "code-runner.saveFileBeforeRun": true,
  12. "code-runner.preserveFocus": true,
  13. "code-runner.clearPreviousOutput": false,
  14. "code-runner.ignoreSelection": true,
  15. "code-runner.fileDirectoryAsCwd": true,
  16. "C_Cpp.clang_format_sortIncludes": true
  17. }

tasks.json

  1. {
  2. "version": "2.0.0",
  3. "tasks": [{
  4. "label": "Compile",
  5. "command": "gcc",
  6. "args": [
  7. "${file}",
  8. "-o",
  9. "${fileDirname}/${fileBasenameNoExtension}.exe",
  10. "-g",
  11. "-m64",
  12. "-Wall",
  13. "-static-libgcc",
  14. "-fexec-charset=GBK",
  15. ],
  16. "type": "process",
  17. "group": {
  18. "kind": "build",
  19. "isDefault": true
  20. },
  21. "presentation": {
  22. "echo": true,
  23. "reveal": "always",
  24. "focus": false,
  25. "panel": "shared"
  26. },
  27. "problemMatcher":"$gcc"
  28. }]
  29. }

References