| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> 前端web开发高效vscode插件分享(辩证的海量实战检验) -> 正文阅读 |
|
[开发工具]前端web开发高效vscode插件分享(辩证的海量实战检验) |
前言从最初眼花缭乱的各种 vscode 插件个个都想用,觉得很腻害,到现在经过无数业务的考验和编码的历练,大幅淘汰了一些华而不实的插件,得到了最终能提高编码效率的沉淀。 在开始之前,我们需要明确的是天下没有免费的午餐,也没有完美的插件,用的越多,暴露的 corner case 越多,我们要辩证的看待每个插件给我们带来的收益和副作用,究竟是否符合自己。 插件驼峰翻译助手介绍:一键中文换英文,支持驼峰和全大写、全小写等转换,十分好用,嘤语苦手必备。 缺点:自带的几个源有时候会不好用,最终还是要走向百度翻译等翻译站点身体力行。 使用频率:★★★★ any-rule介绍:内置数十种正则匹配,很长很细致,相当于一个正则存储后备库,免去记忆正则的烦恼。 缺点:不常用,另外判断太细致有时候对某些场景也不太友好。 使用频率:★ Auto Close Tag介绍:自动闭合标签,输入前标签自动生成后标签。 缺点:不智能,经常生成多余,需要自己再改,凑付使用吧。 使用频率:被动触发 Auto Rename Tag介绍:自动同步前后标签的文本,减少重复工作。 缺点:不智能,有时候会出现一些问题,需要自己修复,凑付用。 使用频率:被动触发 background介绍:自带几个东方的图片显示在 ide 右下角,也可自己定制,纯装饰用。 缺点:会 hack ide,有被破坏的提示,需要点击永不提示,虽然一次即可免去后顾之忧,但不是 100% 完美的。 使用频率:被动使用 Better Comments介绍:可以在注释开头使用不同的英文符号给该行注释附加高亮颜色,比如高亮一些很重要的注释。 缺点:眼花缭乱的,不常用,只会在有大坑的时候才使用其进行一个明显的高亮标注。 使用频率:★ Bracket Pair Colorizer介绍:自动给对应的括号附加不同的高亮颜色,方便区分是哪个括号,明确层级。 缺点:不完全智能,有时候层级太多会识别不明确,如果搭配特殊的特性(比如 es6 模板字符串中再使用变量)使用,括号会彻底识别错位。 使用频率:被动使用 Code Runner介绍:在工作区右上角增加一个快捷执行该文件代码的按钮,可以快速执行该文件查看调试结果,另外支持绑定快捷打开终端快捷键( ctrl + ~ ),得到快捷打开终端就切换到当前目录的效果。 详情见:《 vscode快捷键快速打开终端到当前目录打开的文件位置 》 缺点:跳转目录都是绝对路径,会占用一片终端输出空间,在 windows 系统上比较慢,有多种执行选项时按钮也要点击两次,不够完美。 使用频率:★★★ CodeSnap介绍:给选中的代码块生成一个好看的截图,方便 share 给别人看。 缺点:不常用。 使用频率:★ Comment Translate介绍:可以 hover 到注释上得到该片注释的中文翻译,或选择一部分注释,得到选中区的英文的中文翻译。 缺点:很依赖网络,网络不够高效的话几乎用不了这个插件。 使用频率:★★★★ CSS Modules介绍:react 中使用 css module 必备,支持快链到对应的 css 位置,按住 ctrl / cmd 点击 缺点:不支持嵌套语法,当采用了通用的 使用频率:★★ CSS Peek介绍:提供 class 链到对应样式书写位置的能力。 缺点:没发现有多只能,在 webpack 系项目内发挥的空间不大,适合 jquery 系老旧书写 class 的项目。 使用频率:★ DotENV介绍:提供 缺点:不能做到完美的高亮,一些 case 无法高亮 使用频率:被动使用 Dracula Official介绍:一款粉色系暗色主题,最大的好处是没有红色,不会刺眼。 缺点:某些高亮色系比较不人性,但勉强能用。 使用频率:被动使用 EditorConfig for VS Code介绍:对 缺点:在目前流行的通用配置中往往会有尾部留行的设定,导致正常从上往下进行编码时,光标会跳一下打断快速编码。 使用频率:被动使用 Emoji介绍:对没有 emoji 能力或字体的系统提供 emoji 书写选择支持(比如在 win server 系服务器端进行编码)。 缺点:不常用 使用频率:★ es6-string-html介绍:通过规范注释对 es6 模板字符串提供高亮支持。 缺点:适合 jquery 老旧项目编写使用,不适合现代项目,也适合新手学习期使用。 使用频率:★★ ES7 React/Redux/GraphQL/React-Native snippets介绍:react 系代码提示必备 缺点:内置规则太多,很多不太常用,有大而全但只需取一瓢的体感,有时候选择太多会干扰编码 使用频率:★★★★★ ESLint介绍:搭配 eslint 进行自动代码修复使用,必备 缺点:对当前 eslint 工作区根目录和对应需忽略的目录识别有时会不准确,在 monorepo 等复杂项目结构时会出现较多不符合预期的 case,但随着迭代这些错误 case 被逐渐减少了一些。 使用频率:被动使用 filesize介绍:打开文件后,可以在工作区左下角显示该文件的大小。 缺点:必须点开该文件才会显示大小,有时这个文件非常大,或是打包后的产物,要点开是多此一举,不完美。 使用频率:★★★ Fix JSON介绍:可以自动在格式化 json 的时候把 js 的对象修复为 json 的双引号结构,必备 缺点:无 使用频率:★★★ Fluent Icons介绍:vscode 1.53 后的一套比较好看的 product icon,装饰用 缺点:无 使用频率:被动使用 GitLens — Git supercharged介绍:可以追溯每一行代码的历史,支持查看当时的 commit diff 情况。 缺点:有时候会干扰视觉和编码体验,鼠标不能乱放。 使用频率:★★★★★ Google Translate介绍:支持将选中的中文翻译为英文或者英文翻译为中文,需要使用命令。 缺点:接口需要高效网络的支持。 使用频率:★★ Highlight Matching Tag介绍:高亮当前光标处的前后标签,方便区分当前区块的范围 缺点:无 使用频率:被动触发 Image preview介绍:支持对 url 或相对路径书写的图片地址在左侧进行一个缩略图的展示,方便确定图片。 缺点:对 alias 支持不友好,如果图片太多也就意味着你要打出那么多请求,如果不注意无形中可能构成小型 ddos。 使用频率:被动触发 Import Cost介绍:可以明确的在 缺点:是整体大小,也就是当 tree shake 时,你也无法知道被摇树后究竟引入了多少质量,当然这个要求过于苛刻了 使用频率:被动触发 JavaScript and TypeScript Nightly介绍:每天都会下载最新发布的测试版 typescript,之后作为 vscode 内部的 ts 支持环境,可以第一时间体验到最新 ts 的特性和支持,拥抱第一手变化,走在最前沿。 缺点:因为是测试版,经常出 bug,导致 type 其实是正确的但是识别错误,要承担一定的使用体验下降的风险。 使用频率:被动使用 javascript console utils介绍:支持快捷键将选中的变量快速生成 缺点:默认快捷键可能与其他插件冲突,需要确定好 使用频率:★★★★★ jQuery Code Snippets介绍:jquery 系的代码提示包,老旧项目必备 缺点:很久没更新了,不能涵盖所有 jquery 的提示 case。 使用频率:因人而异 JS & CSS Minifier (Minify)介绍:支持右键 css / js 文件进行压缩最小版,方便快捷。 缺点:只有去除空格和换行的作用,没有压缩和优化的好处,不会处理 css 兼容性,适合老旧项目、临时项目、新手学习期使用。 使用频率:★★★ Live Server介绍:支持将单文件开启本地 server 服务,以此来避免一些跨域和纯前端项目无服务器无法调试查看的问题。 缺点:需要承担该文件的 path 在 url 上的成本,有时这会导致和预期完全相反或无法使用,后备方案是使用 使用频率:★★ Markdown All in One介绍:对 markdown 即时预览提供支持,支持分屏,一边书写一边预览。 缺点:按钮在右上角,不太好寻找,辨识度低,经常搞混,书写和同步的滚动不是 100% 完美的兼容,在一些图片等 case 下会导致左右书写和同步结果不在一个视口内。 使用频率:★★★ Material Icon Theme介绍:一套好看的 icon 主题,支持目前 99% 文件类型的独特图标 缺点:一些场景下和你选择该文件采用什么语言解析有关,这会影响到 icon 的展示,有时候会搞混,需要调整语言识别类型。 使用频率:被动使用 node-snippets介绍:对部分 node 依赖提供代码提示 缺点:只涵盖很少的一部分场景,凑付使用 使用频率:★ npm Intellisense介绍:对 npm 相关功能提供一些代码提示功能 缺点:不常用,随着 vscode 能力补齐,这些老旧的提示插件都会被集成于 vscode 内部,逐渐被淘汰 使用频率:★ open in browser介绍:提供右键对某个文件快捷打开到浏览器中的功能,方便快速查看某个 html 文件 缺点:在 win 系统下,因人而异,有的电脑会出现识别浏览器不准确的情况,需要手动配置 使用频率:★★★ Path Intellisense介绍:在书写路径的时候提供路径的补全支持 缺点:在 alias 场景下支持不好,对 vue 文件内的导入支持很差 使用频率:被动使用 Prettier - Code formatter介绍:最好用的文件格式化工具,随着迭代,该插件已经击败了所有其他同类的格式化插件,目前可以按照国际标准格式化 99% 的文件,无需其他格式化插件 缺点:早期问题比较多,但随着迭代越来越强大 使用频率:★★★★★ Sass/Less/Stylus/Pug/Jade/Typescript/Javascript Compile Hero Pro介绍:支持即时编译样式文件到本地,支持同步生成压缩 缺点:只针对特定场景才需要这个同步生成的功能,大部分情况我们不需要,因为会生成无用的文件影响视听,需要时刻关注他的开关,并做严苛的限制配置,不支持最新的语言特性,适合老旧项目或者临时项目。 使用频率:★★★ SCSS IntelliSense介绍:对 scss 文件提供代码提示的功能 缺点:无 使用频率:被动使用 Settings Sync介绍:可以将本地的配置文件 sync 到 github gist 存储,自 vscode 自带 github 账号登录同步功能后,该插件成为了一个必不可少的容灾方案,因为自带的同步会受到一些不可控的影响,在 1.5x 中发生的一次配置文件 breaking change 中造成了很大的坑。 缺点:需要定期自己手动同步更新(不建议使用自动更新),需要高效的网络环境 使用频率:★★★ stylus介绍:提供对 styl 样式文件的高亮支持,这往往会在 vuepress 等项目内用到。 缺点:不常用 使用频率:★ SVG介绍:提供预览 svg 的功能 缺点:在暗色系主题下不太友好 使用频率:★★ Toggle Quotes介绍:支持快捷键在单引号、双引号、反引号之间快速切换,非常方便 缺点:有些场景下不支持反引号的切换,不完美 使用频率:★★★★ Version Lens介绍:提供对 缺点:无 使用频率:★★★ Vetur介绍:提供对 vue 文件的广泛功能支持 缺点:有时候会和其他内置解析器产生冲突,需要关闭他的校验,不完美 使用频率:被动使用 Visual Studio IntelliCode介绍:提供一些常用 api 的代码提示 缺点:默认提示列表内排列顺序第一,有时会影响到我们真正需要的那个提示。 使用频率:被动使用 vscode-styled-components介绍:提供对 styled-components 的高亮支持 缺点:无 使用频率:★★★★ Vue 3 Snippets介绍:提供一部分 vue3 的 api 代码提示的支持 缺点:向前兼容性不好,vue2 部分 api 不支持 使用频率:被动使用 总结天下没有完美的插件,可见无论是哪个插件都多少有一点小问题,假如一个插件有 70% 的功能是有益的,但存在 30% 的问题负收益,那他还是有用的,所以会被保留下来。 但是当一个插件的副作用大于他本身带来的收益时,为什么还要选择该插件呢?换一个或者自己写一个会不会更好。 其他json to ts这个插件可以把 json 转为 ts 的 interface ,但已有在线工具可用,效果更好: regex preview可以即时校验正则的正确和匹配性,目前有更好的在线解决方案: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 6:55:45- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |