理解VSCODE基于配置的设置,避免臃肿

这节课我们讲两点:
(一)下载、安装、汉化及美化 VSCODE;
(二)理解VSCODE中基于配置(Profiles)的设置(Settings),让 VSCODE 保持清爽。

(文末有视频)

1. 下载、安装、运行

可以在官网 code.visualstudio.com 下载安装包,也可以在 Windows 应用商店一键安装。后者会直接将程序安装在 Windows 用户个人目录下(类似 :C:\Users\用户名\AppData\Local\Programs\Microsoft VS Code),且卸载时会保留所有插件、配置等。

考虑到有些同学可能因为C盘空间不够用等原因,需要手工更换安装目录,所以我们使用下载安装包的方式。下载得到的安装程序名为:“VSCodeUserSetup-x64-XXX.exe”(其中 XXX 为可变化的版本号)。双击它开始安装。过程中,可将选中“将’通过Code打开’操作添加到Windows资源管理器目录上下文菜单”一项选中。
vscode注册必要的右键菜单安装后,首次运行Visual Studio Code。我为了写课程,全卸载了,也不知是不是留下什么残余?反正上来就是暗黑主题,再加上纯英文,看上去有一种久违的崇洋媚外的高级感……

首次运行VSCODE-暗黑主题

2. 汉化+美化

2.1 汉化

祖国的实力不允许我沉迷于虚无飘渺的“高级感”,汉化吧。点击左侧的扩展管理按钮,或者按下 Ctrl + Shift + X 组合键,如图:

打开扩展管理

接着:① 在过滤栏输入 Chinese,② 在搜索结果中选中 Chinese语言简体包,③ 确保选中 “Auto Update”,④ 点 该扩展的 Install 按钮。

应用语言包插件

VSCODE 将开始下载并安装该语言包,完成后会问是否应用该语言并重启,点 “Change Language and Restart” 的按钮即可……重启VSCODE后,它变成这样子:

应用简单中文语言包效果

2.2 切换主题

点左侧栏底部的齿轮图标按钮,弹出菜单项:主题→颜色主题(或者直接热键 Ctrl+K, Ctrl+T ,即:按下 Ctrl 不放,然后按下K,松开K,再按下T,再松T)。可按后续提示,修改VSCODE界面的颜色主题。和 “颜色主题” 菜单项同一级,还有 “文件图标” 和 “产品图标” 两项主题可修改,大家可自己行操作试试效果。

2.3 安装更多题

默认集成的主题没满足你?确保在VSCODE身上,按下前述组合键 Ctrl+K,Ctrl+T,然后选第一项 “浏览其它主题”,稍等一会儿,会列出一大堆题,你可以通过向下键或向上键,浏览它并直接预览主题效果。有喜欢的就点击即可开始安装(但注意上面的重要提醒)。

我挑的一个,它将被用于我的VSCODE的默认主题。(注:只是默认,一到我开始写代码,比如写C++,VSCODE就会自动更换主题,以彰显写C++时内心的澎湃……)

旧纸堆主题

3 理解基于“配置”的“设置”

3.1 莫着急安装各种扩展包……

先提醒一句:不要急于安装更多的包( 哪怕是微软官方推荐的 )!

现在,先不要着急想写代码,更不要哗啦一下,就把一个包含了很多扩展包的扩展包给安装上,除了请神容易送神难之外,更主要的是,多个扩展交叉作用之后,往往会让我们搞不清楚某个功能来自哪个扩展,不利于更好的,更有效地使用扩展。

所以,这个课程将带你一个一个地安装扩展包,在你清楚新安装的扩展包会带入什么功能后,再讲下一个。

最为重要的是,无论如何,你总得在创建合适的“配置(Profiles)”之后,再来来安装编程语言支持的扩展包啊!否则(假装长叹一声),VSCODE 又多了一个粗鲁的用户……

3.2 基本概念 & 正确做法

在未使用的语言包的VSCODE中,“配置”指Profiles,“设置”指 Settings。

必要的话,将 VSCODE 窗口拉宽一些,然后通过主菜单:文件→首选项,可以看到:

打开配置页面

我们需要先理解这里头的“配置文件(profiles)”和“设置(settings)”的区别。倒也简单,配置文件包含了它下面的几个菜单项的操作结果,即:配置包含了用户对设置、扩展、键盘快捷方式、配置代码片段、任务、活动主题等修改结果。

大家知道,VSCODE 最大的特点或优势就是:一个软件,可以支持多种工作目的,比如带格式的纯文本文档编写(典型如:JSON、XML、MARKDOWN),比如支持各种计算机语言编程等。于是乎很多人就开始拼命地往上装扩展,结果把VSCODE搞得臃肿不堪,还容易互相干架;有些人还发布网文埋怨 VSCODE “插件机制好是好,但是同装几个就开始臃肿了……”。

看到这些文章,我惊呆了。要知道 VSCODE 之父 Erich Gamma 也是《设计模式:可复用面向对象软件的基础》的主力作者,以他的品味的设计能力,他怎么可能在做出“插件式”的架构设计,没有想好如何应对插件“爬满身”,最终拖垮宿主程序的问题呢?

答案就在“配置(Profiles)”上,并且人家 VSCODE 给出示例,偏有人从不用这个功能,我甚至听一个人说过,就喜欢看 VSCODE 颤悠悠地启动,全身上下都挂载武器,“武装到牙器”,在它里面写代码,有种正在驾驭机甲战车的感觉……

机甲个鬼,在我看来,他的VSCODE真是毫无品味,宛如:

扩展太多容易土

相对IDE,VSCODE有个头衔是“轻量级编辑器”,但很多人不敢用VSCODE做日常普通文字的默认编辑器,原因无它,就是VSCODE被他们搞得太笨重,每次启动都娇喘吁吁,我见犹怜……

正确做法就是把“配置(Profiles)”用起来。它的运行机制是:

  • 在不认识的文件夹里,使用默认的配置;
  • 在已认识的文件夹里,使用你指定的配置。

因此,我们首先要保障默认配置的轻量。强列建议:默认配置只安装中文语言扩展包,连主题包都不要安装——除非它自带的那几个主题确确实实你一个都看不上。然后,这个默认配置用来处理普通的文字编辑,也就是差不多把它视为一个功能强很多,但仍然保留轻量的Windows 记事本。

选择前面截图中“配置文件”菜单项,进入配置文件页,即可看到看到默认配置。

认识默认配置

你显然应该没有图中圈红的 “C/CPP-msys2”配置项,那是我们下一节课要配置的。它必须是独立的一个配置,因为和上一节把 msys2 挂接到 Windows自带的新版终端程序一样,我们会把 msys2 终端(严格讲是一个shell)挂接(内嵌)到 VSCODE 的程序中去,这是一个很重的操作,当我们要基于msys2写C/C++代码时,它有用;但如果想写封情书,这个集成的msys2终端,就只会拖垮VSCODE的启动速度。

3.3 视频:认识“配置/Profiles”

在配置文件这个页面里,还有很多内容没出现在上面的截图上,我们用一段视频,来详细说说,从而让大家更加理解VSCODE中“配置文件”的作用。

ls02-vscode-理解基于配置的设置-h

附录 :主题扩展和配置的关系

一方面,颜色主题扩展的应用,确实是跟配置走的,在上面的视频中,你应该看到很多次效果了:每当我们切换配置,VSCODE 的界面就会随之变化。另一方面,主题的安装不跟配置走,不管在哪个配置下安装的颜色主题扩展,都可以被所有其它配置使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/451602.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SpringBoot+Vue+uniapp的电影信息推荐APP的详细设计和实现

详细视频演示 请联系我获取更详细的演示视频 项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不…

CTFHUB技能树之SQL——Refer注入

开启靶场,打开链接: 直接挑明是Refer注入 用burp抓包发送到repeater: 发现缺少referer报文头,添加一下,判断是整数型注入还是字符型注入: Referer: 1 and 11# 正常回显 1 and 12# 回显错误,说…

外星人木乃伊---我的收藏

我收藏了一个与我们星球上任何已知物种无关的非人类标本的明显例子,这具木乃伊遗骸作为地球上存在「非人类」外星人证据。测试证实这些遗骸含有「不来自任何已知物种」的DNA。7%的遗骸DNA“不来自任何已知物种”。这标本不属于我们的陆地进化。它们不是不明飞行物坠…

【android开发】android端部署yolov11-pose实现体测计数

android端部署yolov11-pose实现体测计数 系统概述一、自制关键点数据集预览二、Android Studio项目结构预览三、平板端运行效果预览 系统概述 自制引体、俯卧撑、仰卧起坐数据集,使用自制数据集训练yolo11-pose模型,通过ncnn进行模型转换,得…

【GAMES101笔记速查——Lecture 17 Materials and Appearances】

目录 1 材质和外观 1.1 自然界中,外观是光线和材质共同作用的结果 1.2 图形学中,什么是材质? 1.2.1 渲染方程严格正确,其中BRDF项决定了物体的材质 1.2.2 漫反射材质 (1)如何定义漫反射系数&#xff1…

数字图像处理:频率域滤波

数字图像处理:频率域滤波 笔者相关内容笔记: 1.傅里叶变换与图像处理 2.傅利叶变换在图像处理的应用 1.1 频率域滤波总体流程 1.2 DFT/IDFT DFT的例子 1.3 常见频率域滤波器 过滤高频信息,保留低频信息,则图像模糊 过滤…

特步引入IPD管理,钉钉项目 Teambition 助力高效产品研发管理

中国是全球第二大消费市场,运动鞋服行业拥有着巨大的发展潜力。在过去五年时间里,随着中国产品品牌和质量的提升,体育市场的占有率格局发生了显著变化,不同于部分国际品牌巨头营收持续减弱,国产领军体育运动品牌「特步…

RK平台 GPIO序号转换软件

RK平台 GPIO序号转换软件 下载地址 https://download.csdn.net/download/ruidongren/89900151 链接: link

大数据毕业设计选题推荐-电影数据分析系统-电影推荐系统-Python数据可视化-Hive-Hadoop-Spark

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

VSCode中的TypeScript教程

TypeScript 是JavaScript的类型化超集,可编译为纯JavaScript。它提供了类、模块和接口来帮助您构建健壮的组件。 安装 TypeScript 编译器 Visual Studio Code 包括 TypeScript 语言支持,但不包括 TypeScript 编译器tsc。您需要在全局或工作区中安装Typ…

空间解析几何 4:空间中线段到圆的距离【附MATLAB代码】

目录 理论公式 matlab代码 理论公式 对于解一元4次方程,请详见我的博客 一元四次方程求解 -【附MATLAB代码】-CSDN博客文章浏览阅读1.4k次,点赞41次,收藏4次。最近在研究机器人的干涉(碰撞)检测,遇到了一…

015_基于django旅游数据分析与推荐系统2024_cg8s735i

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍:CodeMentor毕业设计领航者、全网关注者30W群落,InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者,博客领航之星、开发者头条/腾讯云/AW…

使用Docker启动的Redis容器使用的配置文件路径等问题以及Python使用clickhouse_driver操作clickhouse数据库

一、使用Docker启动的Redis容器使用的配置文件路径等问题 1.docker启动的redis使用的配置文件路径是什么 使用docker搭建redis服务,本身redis启动的时候可以指定配置文件的, redis-server /指定配置文件路径/redis.conf。 但手上也没有一个redis配置文件…

win10上安装wsl(ubuntu)

1,搜索到微软网站下载 Ubuntu Installer.exe文件,运行它。 2.根据提示点击获取ubuntu,自动下载完之后提示安装,do。 3.出错:Installing, this may take a few minutes... WslRegisterDistribution failed with error: 0x8007019e Error: 0x8…

吴伟仁《英国文学史及选读》第一二册课后答案PDF

新经典高等学校英语专业系列教材《英国文学史及选读》根据英国文学历史的顺序结合作品选读编写而成,在历史部分,对英国文学史的每个阶段作了简明扼要的概述,而在作品选读部分则尽可能遴选了文学史上的重要作家和重要作品。教材内容丰富&#…

Web集群服务-代理和负载均衡

1. 概述 1. 用户----->代理--->Web节点,后面只有一个节点,一般使用的是nginx代理功能即可 2. 后面如果是集群需要使用nginx负载均衡功能 2. 代理分类 代理分类方向应用正向代理用户(服务器)-->代理--->外部(某网站)服务器通过代理实现共享上网/访问公网反向代理用…

MySQL-事务Transaction详解

文章目录 事务概述事务基本概念事务四大特性(ACID)演示MySQL事务手动开启事务MySQL默认事务机制 事务的隔离级别隔离级别基本概述三种现象脏读不可重复读幻读 查看和设置隔离级别四种隔离级别及演示读未提交(read uncommitted)读提交(read committed)可重复读(repeatable read)…

颠覆Transformer的Mamba模型[精简版本]------S4

1、改进transformer不擅长处理超长的序列的问题:输入u到状态x 序列数据一般都是离散的数据 比如文本、图、DNA,但现实生活中还有很多连续的数据,比如音频、视频,对于音视频这种信号而言,其一个重要特点就是有极长的context window,而在transformer长context上往往会失败,…

Spring Boot技术栈的电影评论网站设计与实现

6系统测试 6.1概念和意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个…

算法——python实现堆排序

文章目录 堆排序二叉树堆堆排序的过程:代码实现python中的heapq模块 堆排序 二叉树 关于二叉树的操作,其实核心就是 父节点找子节点,子节点找父节点 如果要将二叉树存储到队列中,就需要找出 父子节点之间的规律: 父…