vscode是一款开源且优秀的编辑器,接下来让我吐血推荐一下我工作使用过的令人惊叹的Visual Studio Code插件。
代码编辑插件
vscode-color-highlight——颜色代码高亮插件。(sublime text也有)
vscode-Open in Browser——右键在浏览器打开。(sublime text也有)
vscode-Path Intellisense——文件路径提示。(sublime text也有)
vscode-copy-relative-path——复制文件相对路径。(辅助书写路径的工具)
vscode-Change Case—–变量名命名风格切换。(解决了命名风格不统一的工具)
vscode-removeEmptyLines—–能够迅速删除多行空白。(自动删除所有代码空行)
vscode-Trailing Spaces—–检测并一键去除代码中多余的空格。
vscode-ECMAScript Quotes Transformer(终于找到这个插件了,一直苦于手动去转义js中的html)
vscode-Bracket Pair Colorizer—–自动标识相匹配括号的颜色。(增强了vscode的括号提示)
vscode-Prettier formatter——vscode代码格式增强工具。(标准格式化工具)
PS:格式化工具请认准Prettier formatter。
vscode-change-case——各种命名之间格式转化工具。(不再担心命名格式不统一的问题)
PS:使用方法,比如:let ABC_a = 0。 (字符之间需要加一个任意符号才可以实现命名格式转化。)
选中变量,执行`Change Case Commands`
web前端插件
vscode-Debugger for Chrome —- 在vscode与Chrome联调。
vscode-Browser Preview —- 在vscode进行浏览器预览。(类似与eclipse IDE里面浏览页面)
PS:vscode-Debugger for Chrome与vscode-Browser Preview插件仍然处于实验阶段,不够稳定,建议直接使用Chrome调试较好。
vscode-ESLint——js代码检查工具。(标准化ESLint的插件,规范js代码)
PS: 1. `npm install eslint -g`。
2. 配置vscode设置文件。
{
"eslint.autoFixOnSave": true,
"eslint.options": {
"root": true,
"env": {
"browser": true,
"node": true
},
"parserOptions": {
"parser": "babel-eslint",
"ecmaVersion": 2017,
"sourceType": "module"
},
"rules": {
"indent": ["error", 2],
"jsx-quotes": ["error", "prefer-single"],
"quotes": ["error", "single"],
"semi": ["error", "never"]
}
},
"eslint.validate": [
{
"language": "javascript",
"autoFix": true
},
{
"language": "html",
"autoFix": true
}
]
}
vscode-stylelint——css代码检查工具。(标准化stylelint的插件,规范style代码)
补充: ESLint + Prettier formatter
1. `npm install eslint prettier-eslint --save-dev`
2. 配置vcode设置文件。(ESLint配置要与prettier配置相同)
{
"prettier.eslintIntegration": true,
"prettier.semi": false,
"prettier.stylelintIntegration": true,
"prettier.singleQuote": true
}
stylelint+Prettier formatter
1. `npm install stylelint prettier-stylelint --save-dev`
2. 配置vcode设置文件。(stylelint配置要与prettier配置相同)
{
"prettier.stylelintIntegration": true,
}
3.创建一个.stylelintrc文件。
{
"styleint.config": {
"rules": {
"color-no-hex": true
}
}
}
4.使用shell命令测试一下stylelint是否能够正常使用fix功能。
`stylelint "*/*.css" --fix
5. 如果stylelint正常工作,prettier-stylelint就可以使用fix功能。
vscode-Placeholder Images——插入占位图。(多个占位图站点都有)
vscode-Auto Rename Tag——修改html标签的时候会自动匹配修改。
vscode-tag-wrapper—–选中区域添加包裹标签。
PS:与Auto Rename Tag插件一起使用简直就是perfect。
vscode-Sass——sass/scss文件语法提示。(sublime text也有)
vscode-Easy Sass——scss编译成css,min.css。(不错的一个sass编译工具)
vscode-Sorting HTML and Jade attributes——html属性排序(代码洁癖症者使用)
vscode-Turbo Console Log—-快速生成控制台输出语句,支持批量添加,删除,注释打印语句。(以前我还一直手写console.log语句,又删又写又注释,这个插件简直就是调试输出的福音)
vscode-csscomb——css属性排序。(代码洁癖症者使用)
PS:1. npm install csscomb -g
npm install csscomb --save-dev`
这两步是必须的。
2. 配置vcode设置文件。
{
"csscomb.preset": "csscomb"
}
排序模式有"csscomb", "yandex", "zen"三种。
或者
{
"csscomb.preset": {
"remove-empty-rulesets": true,
"always-semicolon": true
}
}
增加一些优化配置项目。
3.选中css/less/scss文件,执行`CSSComb:Format styles`命令。
vscode-CSS Peek——class类定义跳转。(终于拥有dw cc的这个css定义跳转功能)
vscode-eCSStractor—–抽取页面的class,生成一个css文档。
vscode-IntelliSense for CSS class names—–在工作区自动扫描css文件类名,自动提示class类名。(相当于一些css框架的class提示)
vscode-Image Sprites—–生成精灵图片。
vscode-Quokka——js实时编译。(相当于边写边输出控制台信息)
vscode-Document This—–jsdoc注释生成。
vscode-jQuery Code Snippets——jQuery的语法高亮,语法提示。
vscode-npm——npm与package.json的语法高亮,语法提示。
vscode-npm Intellisense——npm包路径提示。
vscode-Auto Import——自动导入模块。
vscode-Vue.js Extension Pack——Vuejs集成扩展包,依赖其他插件。
vscode-React Extension Pack——Reactjs集成扩展包,依赖其他插件。
vscode-Pug (Jade) snippets——pug模版语法提示。
数据库插件
vscode-MySQL——mysql数据库管理工具。
vscode-Azure Cosmos DB——MongoDB、Graph (Gremlin) 、Cosmos DB数据库管理工具。
PS:使用MongoDB 一些不常见Shell命令,需要配置vscode设置文件。
{
"mongo.shell.path": "E:\\bin\\mongo.exe",
}
代码质量插件
vscode-Jest——jest语法提示,测试用例感应测试。
vscode-CodeMetrics——检测代码圈复杂度。
PS:圈复杂度是一种代码复杂度的衡量标准。
此插件支持ts/js/lua语法,检测代码中的代码圈复杂度,可以自定义配置提示选项。
{
"codemetrics.basics.ComplexityLevelExtremeDescription": "代码需要优化",
"codemetrics.nodeconfiguration.AnyKeyword": 150,
"codemetrics.nodeconfiguration.AnyKeywordDescription": "尽量控制在150个字符内",
"codemetrics.basics.ComplexityLevelHighDescription": "代码质量不错",
"codemetrics.basics.ComplexityLevelLow": 1,
"codemetrics.basics.ComplexityLevelLowDescription": "代码已优化",
"codemetrics.basics.DiagnosticsEnabled": true,
"codemetrics.basics.ComplexityLevelNormalDescription": "代码达标",
"codemetrics.nodeconfiguration.CallExpressionDescription": "Cakoexpression",
"codemetrics.nodeconfiguration.BreakStatementDescription": "Break atement",
"codemetrics.nodeconfiguration.CaseClauseDescription": "Case 语句",
"codemetrics.nodeconfiguration.JsxSelfClosingElementDescription": "Jsx元素闭合",
"codemetrics.nodeconfiguration.JsxElementDescription": "这是Jsx元素",
"codemetrics.nodeconfiguration.LabeledStatementDescription": "标记语句",
"codemetrics.nodeconfiguration.MethodDeclarationDescription": "方法声明",
"codemetrics.nodeconfiguration.MethodSignatureDescription": "Method Signature",
"codemetrics.nodeconfiguration.NamedImports": 1,
"codemetrics.nodeconfiguration.ModuleDeclaration": 1,
"codemetrics.nodeconfiguration.ModuleDeclarationDescription": "模块声明",
"codemetrics.nodeconfiguration.NamedImportsDescription": "命名导入",
"codemetrics.nodeconfiguration.NamespaceImport": 1,
"codemetrics.nodeconfiguration.NamespaceImportDescription": "命名空间导入",
"codemetrics.nodeconfiguration.SwitchStatementDescription": "Switch 语句",
"codemetrics.nodeconfiguration.ThrowStatementDescription": "Throw语句",
"codemetrics.nodeconfiguration.TryStatementDescription": "Try catch语句",
"codemetrics.nodeconfiguration.VariableStatementDescription": "变量声明",
"codemetrics.nodeconfiguration.VariableStatement": 1,
"codemetrics.nodeconfiguration.ClassDeclarationDescription": "类声明",
"codemetrics.nodeconfiguration.ClassDeclaration": 1,
"codemetrics.nodeconfiguration.ReturnStatementDescription": "返回语句",
"codemetrics.nodeconfiguration.IfStatementDescription": "if 语句",
"codemetrics.nodeconfiguration.ArrowFunctionDescription": "箭头函数",
"codemetrics.nodeconfiguration.ConditionalExpressionDescription": "三目运算语句",
"codemetrics.nodeconfiguration.CatchClauseDescription": "Catch Case语句",
"codemetrics.nodeconfiguration.ConstructorDescription": "构造函数",
"codemetrics.basics.ComplexityLevelNormal": 3,
"codemetrics.basics.ComplexityTemplate": "圈复杂度为 {0},{1}",
"codemetrics.basics.ComplexityColorExtreme": "#ff0000",
"codemetrics.basics.ComplexityColorHigh": "#e6a23c",
"codemetrics.basics.ComplexityColorNormal": "#4bb14f",
}
远程访问插件
vscode-SSH FS——通过SSH协议登录服务器,可以操作服务器文件。
PS:配置vscode设置文件。(如果需要使用Terminal的话,请使用第三方SSH客户端SmarTTY或mobaXterm。
{
"sshfs.configs": [
{
"name": "test",
"label": "test",
"root": "/root",
"host": "192.168.0.1",
"port": 22,
"username": "root",
"agent": "pageant",
"password": "********"
}
]
}
其他插件
vscode-Comment Translate—–vscode的Google翻译(简单又方便的文件内容翻译插件)
vscode-ASCIIDecorator——ASCII字符生成。(代码注释逼格工具)
vscode-Banner Comments + ——另一款ASCII字符生成。(代码注释逼格工具)
vscode-fileheader——快速生成文件头注释,保存文件自动添加修改时间。(容易跟踪文件修改记录)
vscode-REST Client—–轻量级http请求测试。(Api接口测试,类似于postman)
vscode-fake——生成各种假数据类型。
vscode-SVG Viewer——svg预览。
vscode-Image preview——图片预览。(支持html、css中图片资源预览)
vscode-RegExp Preview and Editor——正则表达式编写与预览。(灵活校验正则表达式)
vscode-Live Server—–http服务器(相当于使用nodejs的http-server )
PS:不建议在`多个项目`的工作空间打开html。建议在`单项目`的工作空间或文件夹打开html。
vscode-Git Lens—–增强vscode的内置Git功能。(可视化Git管理,清晰了解Git存储库信息,极其方便)
发表回复