出色的 VSCode 扩展改变你的编码生活
在本文中,我将分享我在 VSCode 编辑器中最常用的扩展。说实话,搜索这些扩展可能并不轻松,而且会花费大量时间。以下是一些你最想要的扩展包。是时候提升你的工作效率了!
💡 TLDR;向下滚动立即开始!但不要跳过。因为您以后会用到所有这些。
生产率
您是否曾浪费时间修改错误的引号或括号?现在,无需再浪费时间!Bracketeer 可帮助您创建快捷键,例如 ctrl/cmd + ' 或 ctrl/cmd + ;,以便在 '['、'{'、'('、'<' 或 ' " '、' "、'`' 之间快速切换。
创建快捷键 ctrl/cmd + 左或右,以在 XML/HTML 标签的头部或尾部之间跳转。
自动重命名标签 - Visual Studio Marketplace
这应该是必备的扩展之一,但遗憾的是,它的效果不太好。如果你的电脑卡顿或延迟,XML/HTML 标签的重命名头部或尾部可能无法完全重命名。
总结一下,用选择来代替代码行。
实用工具,为你的命令栏添加了更多强大的功能,例如移动、复制和重复。
简单却很棒!高亮显示这行代码,记住它。
插入 Unicode - Visual Studio Marketplace
立即创建任何 Unicode 字符/代码和表情符号。
生成多种数据以轻松创建虚拟数据。
相对路径 - Visual Studio Marketplace
简单但实用!从工作区中的任意文件转到相对路径。
从路径打开文件 - Visual Studio Marketplace
通过快捷方式转到目标文件。ctrl/cmd + 单击
npm 依赖项链接 - Visual Studio Marketplace
使用快捷键即可访问 NPM 源,查看定义和文档。Ctrl/Cmd + 单击。与 Package Json Upgrade 最佳组合
软件包 Json 升级 - Visual Studio Marketplace
在 package.json 中显示可用的更新。克隆或 fork 项目时,这两个扩展都非常重要,您首先要做的就是升级,并了解它是什么?
- 绿色标志-新补丁版本可用
- 黄色标志 - 新的次要版本可用
- 红色标志——新的主要版本已经发布。
JSON 转 TS - Visual Studio Marketplace
将 JSON 剪贴板转换为类型保护定义
将 JSON 粘贴为代码 - Visual Studio Marketplace
粘贴图像 - Visual Studio Marketplace
复制图片然后粘贴进去。非常简单!
视觉增强剂
使用特定的高亮关键字(例如 TODO 和 FIXME)注释代码行。很酷!Todo Tree 可以在树状结构视图中快速搜索并找到您已注释的所有关键字。
如何知道 hex/rgb/hsl 颜色的实际颜色?这里有答案,不要错过!
输出着色器 - Visual Studio Marketplace
增加输出面板的可读性。
图像预览 - Visual Studio Marketplace
在装订线和悬停时显示图像预览。
单击时自动预览 SVG 文件。
状态栏错误 - Visual Studio Marketplace
在状态栏显示错误状态。
只需粘贴一张图片!
文件大小 - Visual Studio Marketplace
在状态栏上显示文件的大小。
自动完成、Linter、格式化程序、排序程序和跟踪器
GitHub Copilot - Visual Studio 市场
目前最好的自动完成功能。
JavaScript 的 Linter 模式。如果您不了解,可能需要在某处阅读更多关于此扩展的信息。
Linter 适用于 SASS、SCSS、LESS、Post CSS 和常见 CSS。
Prettier - 代码格式化程序 - Visual Studio Marketplace
代码格式化程序与 HTML、CSS 和 JS 配合得很好。它有两种简单的使用方法。第一种,你可以在本地工作区运行它。第二种,我们可以通过将其命名为“.prettierrc”或“.prettierrc.js”来全局安装它。这是我的全局配置;
json
{
"trailingComma": "es5",
"tabWidth": 2,
"semi": false,
"singleQuote": true,
"arrowParens": "always"
}
确保也将其添加到您的 setting.json 中
json
"prettier.configPath": "~/.prettierrc",
VS Code 的 EditorConfig - Visual Studio Marketplace
格式化程序可以覆盖用户/工作区项目,只需右键单击文件资源管理器即可轻松创建。
TypeScript 导入排序器 - Visual Studio Marketplace
自动对保存文件中的所有导入内容进行排序。
Tailwind 类排序器。如果您使用 Tailwind CSS,请使用它!
突出显示尾随空格 - Visual Studio Marketplace
将空白区域标记为红色色块。我知道你有几个设置可以移除空白区域,但看到它变成红色并被破坏时,感觉还是挺爽的。哈哈!
Visual Studio Code 的 Gremlins 追踪器 - Visual Studio Marketplace
跟踪代码库中可能不可见的奇怪字符。请使用它!
模板字符串转换器 - Visual Studio Marketplace
自动将普通字符串(例如引号 ("'") 和双引号 ('"'))转换为转义字符串 ('`')。如果您喜欢使用插值,则可能需要此功能。
片段
Turbo 控制台日志 - Visual Studio Marketplace
快速记录,更快调试。停止编写控制台日志!
JavaScript 助推器 - Visual Studio 市场
如果您使用 javascript,请使用它!
React 工具
Typescript React hooks 工具 - Visual Studio Marketplace
React 重构工具。通过提示所需功能来提升代码库性能。
简单的 React 代码片段 - Visual Studio Marketplace
我认为最好的 React 片段,简单的关键字和仅 React!
将 HTML 粘贴为 JSX - Visual Studio Marketplace
自动将普通 HTML 转换为 JSX-HTML,当您在 React 文件中搭建或引导骨架 HTML 时很有用。
版本控制
我一直在使用它,该扩展可视化了时间线,还提供了许多操作。每个人都应该使用它!
无缝帮助您生活和协作。
GitLens - Git 增强版 - Visual Studio Marketplace
这是一个名为“镜头”的大型扩展,您可能需要花一段时间才能了解它的强大功能。如果您不想花时间学习它,那么只需安装它!
通过右键单击文件资源管理器区域立即创建 .gitignore 文件。
Markdown
Markdown 一体化 - Visual Studio 市场
涵盖有关 Markdown 的所有内容。
Markdown 图像 - Visual Studio 市场
CSS
更改颜色格式 - Visual Studio Marketplace
将颜色格式转换为您想要的格式。
Tailwind Shades - Visual Studio 市场
生成默认等于 400 的输入十六进制颜色。输出范围在 100 到 900 之间。
px 转 rem - Visual Studio Marketplace
在 px 和 rem 之间进行转换。两种最流行的 CSS 单位。
这是 CSS 版本的首选文件,是的!使用它。
附加功能
对于仍在使用“设置同步”扩展程序的用户,它已经内置了支持。上面的链接会让你一目了然。
使用配置进行样式设置
我对指南的喜爱,比起彩虹缩进,我更喜欢这个。这是我的配置;
"guides.overrideDefault": true,
"guides.active.extraIndent": true,
"guides.active.color.dark": "#86a5ff",
"guides.normal.color.dark": "rgba(191, 184, 219, 0.1)",
"guides.stack.color.dark": "rgba(191, 184, 219, 0.1)",
"guides.active.style": "dashed",
"guides.stack.style": "dashed",
"guides.normal.style": "dashed",
"guides.limit.maximum": -1,
"guides.normal.enabled": false,
"guides.indent.showFirstIndentGuides": false,
括号对着色器
"workbench.colorCustomizations": {
"editorBracketHighlight.foreground1": "#58cdff",
"editorBracketHighlight.foreground2": "#ff9ce3",
"editorBracketHighlight.foreground3": "#9161ff",
"editorBracketHighlight.foreground4": "#e7b454",
"editorBracketHighlight.foreground5": "#49c54f",
}
由于括号对着色器现在是一个内置扩展,这里是我为东京夜风暴主题匹配的颜色。
主题
我主要使用东京夜风暴主题,并进行了一些自定义。我更喜欢略暗但略微低于正常水平的版本,所以我将其自定义为暗蓝灰色,有时我会切换到玫瑰松主题。以下是附加配置:
"workbench.colorCustomizations": {
"list.inactiveSelectionBackground": "#00000000",
"titleBar.activeForeground": "#00000000",
"panel.border": "#00000000",
"panelTitle.activeBorder": "#00000000",
"editorGroup.border": "#00000000",
"editorGroupHeader.border": "#00000000",
"editorGroupHeader.tabsBorder": "#00000000",
"editorHoverWidget.border": "#00000000",
"focusBorder": "#00000000",
"menu.border": "#00000000",
"menubar.selectionBorder": "#00000000",
"sideBar.border": "#00000000",
"sideBarTitle.foreground": "#00000000",
"sideBarSectionHeader.border": "#00000000",
"scrollbar.shadow": "#00000000",
"statusBar.border": "#00000000",
"tab.activeBorder": "#00000000",
"tab.activeModifiedBorder": "#00000000",
"tab.border": "#00000000",
"tab.inactiveModifiedBorder": "#00000000",
"tab.lastPinnedBorder": "#00000000",
"tab.unfocusedActiveBorder": "#00000000",
"titleBar.border": "#00000000",
"window.activeBorder": "#00000000",
"window.inactiveBorder": "#00000000",
"[Tokyo Night]": {
"tab.activeBackground": "#1a1b26",
"statusBar.background": "#272735"
},
"[Tokyo Night Storm]": {
"editor.background": "#1d2132",
"tab.activeBackground": "#1d2132",
"tab.activeForeground": "#bdc5e9",
"statusBar.background": "#333a57"
},
"[Rosé Pine]": {
"editorGroupHeader.tabsBackground": "#171521",
"activityBar.background": "#171521",
"sideBar.background": "#171521",
"titleBar.activeBackground": "#171521",
"titleBar.inactiveBackground": "#171521",
"tab.inactiveBackground": "#191724",
"tab.activeBackground": "#171521",
"terminal.background": "#171521",
"panel.background": "#171521"
},
"[Rosé Pine Moon]": {
"editorGroupHeader.tabsBackground": "#25233a",
"activityBar.background": "#25233a",
"sideBar.background": "#25233a",
"titleBar.activeBackground": "#25233a",
"titleBar.inactiveBackground": "#25233a",
"tab.activeBackground": "#232136",
"tab.inactiveBackground": "#25233a",
"terminal.background": "#25233a",
"panel.background": "#25233a"
}
},
图标
材料图标主题 - 当然,为什么不呢?
设置
🎨这是我的整体设置,以防您需要它。
{
"typescript.updateImportsOnFileMove.enabled": "always",
"javascript.updateImportsOnFileMove.enabled": "always",
"javascript.inlayHints.functionLikeReturnTypes.enabled": true,
"window.zoomLevel": 1,
"window.title": "Amyse is on 🔥",
"window.autoDetectColorScheme": true,
"workbench.iconTheme": "material-icon-theme",
"workbench.preferredDarkColorTheme": "Tokyo Night Storm",
"workbench.editor.enablePreview": true,
"workbench.tips.enabled": false,
"workbench.startupEditor": "none",
"workbench.statusBar.visible": true,
"workbench.tree.indent": 14,
"workbench.tree.renderIndentGuides": "none",
"breadcrumbs.enabled": false,
"diffEditor.ignoreTrimWhitespace": false,
"diffEditor.wordWrap": "on",
"files.eol": "\n",
"files.trimTrailingWhitespace": true,
"extensions.ignoreRecommendations": true,
"editor.lineNumbers": "on",
"editor.autoClosingBrackets": "always",
"editor.maxTokenizationLineLength": 500000,
"editor.wordWrapColumn": 120,
"editor.linkedEditing": true,
"editor.overviewRulerBorder": false,
"editor.scrollBeyondLastLine": false,
"editor.find.addExtraSpaceOnTop": false,
"editor.cursorBlinking": "solid",
"editor.wordWrap": "on",
"editor.minimap.enabled": false,
"editor.fontFamily": "Dank Mono, Fira Code, JetBrains Mono, Kanit",
"editor.fontWeight": "300",
"editor.fontLigatures": true,
"editor.tabSize": 2,
"editor.insertSpaces": true,
"editor.fontSize": 14,
"editor.lineHeight": 22,
"editor.semanticHighlighting.enabled": false,
// "editor.letterSpacing": 0.5,
"editor.renderWhitespace": "trailing",
"editor.renderLineHighlight": "gutter",
"editor.renderControlCharacters": false,
"editor.occurrencesHighlight": true,
"editor.selectionHighlight": false,
"editor.detectIndentation": true,
"editor.scrollBeyondLastColumn": 4,
"editor.definitionLinkOpensInPeek": true,
"editor.padding.top": 22,
"editor.padding.bottom": 22,
"editor.suggest.preview": true,
"explorer.confirmDragAndDrop": false,
"explorer.openEditors.visible": 8,
"explorer.confirmDelete": true,
"explorer.incrementalNaming": "smart",
"terminal.external.windowsExec": "",
"terminal.external.osxExec": "iTerm.app",
"terminal.integrated.fontFamily": "MesloLGS NF, 'Fira Code',Operator Mono Light",
"terminal.integrated.fontSize": 14,
"terminal.integrated.env.osx": {
"FIG_NEW_SESSION": "1"
},
"files.hotExit": "off",
"files.insertFinalNewline": true,
"files.trimFinalNewlines": true,
"search.exclude": {
"**/node_modules": true,
"**/package-lock.json": true,
"**/yarn-lock.json": true,
"**/bower_components": true,
"**/*.code-search": true
},
"scm.diffDecorations": "none",
"scm.diffDecorationsGutterWidth": 1,
"turboConsoleLog.logMessagePrefix": "",
"turboConsoleLog.quote": "'",
"search.quickOpen.includeHistory": false,
"git.alwaysShowStagedChangesResourceGroup": true,
"gitlens.currentLine.format": "${author}, ${agoOrDate} ",
"gitlens.currentLine.scrollable": false,
"gitlens.codeLens.scopes": ["document"],
"gitlens.statusBar.enabled": false,
"gitlens.hovers.currentLine.changes": false,
"gitlens.hovers.annotations.changes": false,
"gitlens.views.repositories.files.compact": false,
"gitlens.views.repositories.showBranchComparison": false,
"gitlens.statusBar.alignment": "left",
"git.autofetch": true,
"GitLive.Issue tracker integration": "Disabled",
"prettier.configPath": "~/.prettierrc",
"css.validate": false,
"scss.validate": false,
"less.validate": false,
"emmet.triggerExpansionOnTab": true,
"emmet.includeLanguages": {
"javascript": "javascriptreact",
"typescriptreact": "javascriptreact"
},
"gitlens.views.remotes.branches.layout": "list",
"gitlens.advanced.messages": {
"suppressImproperWorkspaceCasingWarning": true
},
"stylelint.snippet": ["css", "postcss", "scss", "css-in-js"],
"stylelint.validate": [
"css",
"html",
"javascript",
"javascriptreact",
"markdown",
"postcss",
"sass",
"scss",
"source.css.styled",
"source.markdown.math",
"svelte",
"typescript",
"typescriptreact",
"xml"
],
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnPaste": false,
"editor.formatOnSave": true,
"editor.formatOnSaveMode": "file",
"editor.codeActionsOnSave": {
"source.organizeImports": true,
"source.addMissingImports": true,
"source.fixAll": true
},
"turboConsoleLog.addSemicolonInTheEnd": false,
"turboConsoleLog.delimiterInsideMessage": "",
"turboConsoleLog.includeFileNameAndLineNum": false,
"turboConsoleLog.insertEnclosingFunction": false,
"editor.bracketPairColorization.enabled": true,
"editor.semanticTokenColorCustomizations": {
"enabled": false
},
"editor.tokenColorCustomizations": {
"textMateRules": []
},
"workbench.colorTheme": "Tokyo Night Storm",
"editor.accessibilitySupport": "off",
"editor.inlineSuggest.enabled": true,
"github.copilot.enable": {
"*": true,
"yaml": false,
"plaintext": false,
"markdown": false
},
"editor.guides.indentation": false,
"editor.guides.highlightActiveIndentation": false,
"editor.guides.bracketPairsHorizontal": false,
}
这可能不太相关,但仍然是我最喜欢的座右铭:
🍀 冷静是战胜困难的最佳方法
最后的想法
在我看来,我列出的清单应该供每位开发者参考。有些人可能会觉得它们有用,有些人可能觉得没用。如果觉得有用,请点赞或评论以示支持。最后,如果有人有扩展程序想分享,请告诉我!
现在是今天。好好享受吧,德弗!
文章来源:https://dev.to/duckinm/superb-vscode-extensions-changing-your-coding-life-2cmb