在VSCode中移除不必要的扩展
在VSCode中移除不必要的扩展
在VSCode
中安装扩展是编辑器缓慢且耗电的主要原因之一,因为添加的每个新扩展都会增加应用程序的内存和 CPU
使用率。
VSCode
现在已经具备了非常多的功能,我们可以将一些重复工作的扩展移除掉。卸载这些现在可有可无的扩展将提高编辑器的性能和效率。
下面我们将看到VSCode
的一些功能配置,以及相对应不需要安装的扩展(或者移除)。
HTML标签自动关闭
当我们添加新的 HTML
标签时,此功能会自动添加相应的结束标签。
常用扩展:
Auto Close Tag
:自动添加HTML/XML
关闭标签,与Visual Studio IDE
或Sublime Text
相同Close HTML/XML Tag
:快速关闭上次打开的 HTML/XML 标签
我们并不需要上面的扩展,可以直接在以下VSCode
的配置中修改:
HTML: Auto Closing Tags
:“启用/禁用HTML
标签的自动关闭”,默认true
。JavaScript: Auto Closing Tags
:“启用/禁用JSX
标签的自动关闭”,默认true
。TypeScript: Auto Closing Tags
:“启用/禁用JSX
标签的自动关闭”,默认true
。
也可以手动将以下内容添加到VSCode
的settings.json
文件中:
{ “html.autoClosingTags” : true,“javascript.autoClosingTags” : true,“typescript.autoClosingTags” : true}
注意:
VSCode
不具备对.vue
文件标签的自动关闭支持,可以安装Volar
扩展。
自动修剪尾随空白
自动修剪功能可删除文件所有行中的尾随空格,确保格式更加一致。
常用扩展:
Trailing Spaces
AutoTrim
VSCode
有一个内置设置,可以自动删除文件中的尾随空格,开启后在保存文件时就会自动修剪文件。
设置:
Files: Trim Trailing Whitespace
:启用后,保存文件时将修剪尾随空格,默认false
。
也可以手动将以下内容添加到VSCode
的settings.json
文件中:
{ “files.trimTrailingWhitespace” : true,
}
有时候我们可能希望为 Markdown
文件关闭此设置,因为必须在行尾放置两个或多个空格才能在输出中创建硬换行符。可以将下面的配置添加到settings.json
文件中。
{ "[markdown]" : { "files.trimTrailingWhitespace" : false}
}
或者,我们可以简单地使用反斜杠 ( \
) 而不是空格来创建硬换行符。
路径自动补全
路径自动补全能提供了项目中的文件列表,以便在导入模块或 HTML
中的链接资源时进行选择。
常用扩展:
Path IntellsSense
Path Autocomplete
VSCode
已经具有路径自动补全功能。当我们要输入要导入的文件名时(通常在输入开头引号时),系统会建议项目中的文件列表,从中选择一个文件将自动插入文件名。
HTML 和 CSS 片段
通过使用我们可以轻松记住的缩写来添加常见的 HTML
和 CSS
片段,帮助我们节省时间。
常见扩展:
HTML Snippets
HTML Boilerplate
CSS Snippets
Emmet是VSCode
一个内置的功能,可提供像上面的扩展一样的 HTML
和 CSS
片段。正如VSCode Emmet 官方指南中所述,它在html
、haml
、pug
、slim
、jsx
、xml
、xsl
、css
、scss
、sass
、less
等文件中默认启用。
当我们开始输入 Emmet
缩写时,会弹出一条带有自动完成选项的建议。在 VSCode
弹出窗口(如果已打开)中键入内容时,还会看到扩展的预览。
在上图中:
ol>li*3>p.rule$
被扩展成
<ol><li><p class="rule1">r</p></li><li><p class="rule2"></p></li><li><p class="rule3"></p></li>
</ol>
括号对着色
括号对着色是一种流行的语法突出显示功能,它根据括号的顺序对括号进行不同的颜色。使识别范围变得更容易,并有助于编写涉及许多括号的表达式。
比如:
常用扩展:
Bracket Pair Colorizer 2
Rainbow Brackets
设置:
Editor > Bracket Pair Colorization
也可以手动将以下内容添加到VSCode
的settings.json
文件中:
{ “editor.bracketPairColorization.enabled” : true}
连续嵌套级别最多可使用 6 种颜色
通过workbench.colorCustomizations
设置可以自行定制括号颜色:
"workbench.colorCustomizations" : { "[One Dark Pro]" : { "editorBracketHighlight.foreground1" : "#e78009" , "editorBracketHighlight.foreground2" : "#22990a" , "editorBracketHighlight.foreground3" : "#1411c4" , " editorBracketHighlight.foreground4" : "#ddcf11" 、"editorBracketHighlight.foreground5" : "#9c15c5" 、"editorBracketHighlight.foreground6" : "#ffffff" 、"editorBracketHighlight。unexpectedBracket.foreground" : "#FF2C6D" } }
模块自动导入
借助自动导入功能,当文件中引用模块的函数、变量或其他成员时,模块会自动导入到文件中,如果模块文件被移动,该功能将帮助自动更新它们,从而节省时间和精力。
常用扩展:
Auto Import
Move TS
我们并不需要上面的扩展,可以直接在以下VSCode
的配置中修改:
JavaScript > Suggest: Auto Imports
:启用/禁用自动导入建议,默认true
TypeScript > Suggest: Auto Imports
:启用/禁用自动导入建议,默认true
JavaScript > Update Imports on File Move
:在VSCode
中重命名或移动文件时启用/禁用导入路径的自动更新。默认值为prompt
,这意味着会向我们显示一个对话框,询问是否要更新已移动文件的导入。将其设置为always
将导致跳过该对话框,设置成never
完全关闭该功能。TypeScript > Update Imports on File Move
:在VSCode
中重命名或移动文件时启用/禁用导入路径的自动更新。与上一个设置一样,它的可能值为prompt
、always
和never
,默认值为prompt
。
也可以手动将以下内容添加到VSCode
的settings.json
文件中:
{"javascript.suggest.autoImports": true,"typescript.suggest.autoImports": true,"javascript.updateImportsOnFileMove.enabled": "prompt","typescript.updateImportsOnFileMove.enabled": "prompt"
}
总结
文章提到的这些扩展在过去可能起到了至关重要的作用,但是现在可能就有些累赘了,因为它们提供的大部分功能已作为VSCode
的内置功能了,删除它们可以减少 Visual Studio Code
的内存并提高效率。
相关文章:

在VSCode中移除不必要的扩展
在VSCode中移除不必要的扩展 在VSCode中安装扩展是编辑器缓慢且耗电的主要原因之一,因为添加的每个新扩展都会增加应用程序的内存和 CPU 使用率。 VSCode现在已经具备了非常多的功能,我们可以将一些重复工作的扩展移除掉。卸载这些现在可有可无的扩展将…...

算法刷题记录-树(LeetCode)
783. Minimum Distance Between BST Nodes 思路(DFS 中序遍历) 考虑中序遍历的性质即可 代码 class Solution { public:int min_diffnumeric_limits<int>::max();int prevnumeric_limits<int>::min()100000;int minDiffInBST(TreeNode* root) {inorderTraversa…...

Linux中安装MySQL_图解_2023新
1.卸载 为了避免不必要的错误发生,先将原有的文件包进行查询并卸载 // 查询 rpm -qa | grep mysql rpm -qa | grep mari// 卸载 rpm -e 文件名 --nodeps2.将安装包上传到指定文件夹中 这里采用的是Xftp 3.将安装包进行解压 tar -zxvf 文件名 -C 解压路径4.获取解压的全路…...

生产设备上的静电该如何处理?
在工厂生产车间里有很多机械设备,在生产运作过程中,难免会产生大量静电,静电会产生许多危害。 例如,1、会使电子设备故障、误操作而引起的电磁干扰。 2、电子元件或集成电路的静电击穿; 3、高压静电放电引起触电; 4、静电放电引起…...

山洪灾害预警方案(山洪预警解决方案的组成)
随着气候变化的不断加剧,山洪灾害在许多地区成为了极具威胁性的自然灾害之一。为了帮助地方政府和居民更好地预防和应对山洪灾害,我们设计了一套基于星创易联的SR600工业路由器和DTU200的山洪灾害预警方案,并成功在某地区进行了部署。 案…...

数据库 MVCC 详解
目录 1. 什么是 MVCC? 2. MVCC 的好处? 3. 快照读?当前读分别是什么?怎么理解? 3.1 快照读 3.2 当前读 4. 数据库的四种隔离级别 5. MVCC 实现原理 5.1 隐藏字段 5.2 undo log(版本链) 5.3 readView 6. re…...

process.nextTick和vue的nextTick区别
事情的起因是代码里用了nextTick,然后提交代码的时候才发现,引入的是process的,然后改成了使用vue的nextTick发现效果不生效了,然后百度查了查两者的区别: process.nextTick是nodejs自带的,而在浏览器中执…...

小程序实现一个 倒计时组件
小程序实现一个 倒计时组件 需求背景 要做一个倒计时,可能是天级别,也可能是日级别,时级别,而且每个有效订单都要用,就做成组件了 效果图 需求分析 需要一个未来的时间戳,或者在服务度直接下发一个未来…...
【四万字】网络编程接口 Socket API 解读大全
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。…...

无涯教程-JavaScript - ISREF函数
描述 如果指定的值是参考,则ISREF函数返回逻辑值TRUE。否则返回FALSE。 语法 ISREF (value) 争论 Argument描述Required/OptionalvalueA reference to a cell.Required Notes 您可以在执行任何操作之前使用此功能测试单元格的内容。 适用性 Excel 2007,Excel 2010,Exce…...
Android:获取MAC < 安卓系统11 <= 获取UUID
1.核心代码 主要的UseMac.java import android.annotation.SuppressLint; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import an…...
线程的几种状态
目标: 1. 线程的几种状态的含义 2. 状态之间的切换条件 目录 新建(new)线程 可运行(Runnable)状态 运行(Running)状态 阻塞(Blocked)状态 等待(Waiting…...

kubernetes集群yaml文件与kubectl工具
k8s集群中对资源管理和资源对象编排部署都可以通过声明样式(yaml)文件来解决,也就是可以把需要对资源对象操作编辑到yaml格式文件中,我们把文件叫做资源清单文件,通过kubectl命令直接使用资源清单文件就可以实现对大量的资源对象进行编排部署…...
python基础语法(三)
感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 🐒🐒🐒个人主页 🥸🥸🥸C语言 🐿️🐿️🐿️C语言例题 🐣🐓🏀python 运…...

Haproxy集群与常见的Web集群调度器
文章目录 1. Web集群调度器概述1.1 Web集群调度器简介1.2 调度器类别1.2.1 常用软件类1.2.2 常用硬件类 2. Haproxy软件介绍2.1 Haproxy简介2.2 支持功能2.3 主要特性2.4 常用调度算法2.4.1 轮询:RR(Round Robin)2.4.2 最小连接数:…...

centos免密登录
centos免密登录 小白教程,一看就会,一做就成。 1.知道服务器密码的情况 ssh-keygen -t rsa #上面的命令后三次回车#然后把想要免密登录的服务器加进来 ssh-copy-id -i /root/.ssh/id_rsa.pub root192.168.10.115 #免密码登录被控的主机(ip是…...

学Python的漫画漫步进阶 -- 第十四步
学Python的漫画漫步进阶 -- 第十四步 十四、网络通信14.1 基本的网络知识14.1.1 TCP/IP14.1.2 IP地址14.1.3 端口14.1.4 HTTP/HTTPS 14.2 搭建自己的Web服务器14.3 urllib.request模块14.3.1 发送GET请求14.3.2 发送POST请求 14.4 JSON数据14.4.1 JSON文档的结构14.4.2 JSON数据…...

OpenCV(四十二):Harris角点检测
1.Harris角点介绍 什么是角点? 角点指的是两条边的交点,图中红色圈起来的点就是角点。 Harris角点检测原理:首先定义一个矩形区域,然后将这个矩形区域放置在我的图像中,求取这个区域内所有的像素值之和,之…...

C++数据结构题:DS 顺序表--连续操作
建立顺序表的类,属性包括:数组、实际长度、最大长度(设定为 1000 ) 该类具有以下成员函数: 构造函数:实现顺序表的初始化。 插入多个数据的 multiinsert(int i, int n, int item[]) 函数,实…...
DM@命题公式@主范式的性质和应用@数理逻辑解决数字电路全加器问题
文章目录 abstract主合取范式与主析取范式间的关系👺主范式存在及唯一性定理例 主范式的性质👺求公式的成真与成假赋值主析取范式直接得到主合取范式 判断公式的类型 n n n元命题公式的主析取范式(主合取范式)的个数判断两个命题公式是否等值 给出一个满…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...

select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...