vscode 自定义(修改已有)主题教程

在现有主题上创建

  1. 打开命令面板(Ctrl+Shift+PCmd+Shift+P)。
  2. 输入并选择 “Developer: Generate Color Theme From Current Settings”。

这会根据你当前选择的主题(一个json)创建另一个(复制一份)json,我们就修改这个json

保存为extension

  • vscode识别你的主题,你需要将你的json保存为一个extension
  • 你可以在你的用户文件夹下的.vscode/extension看到你所有的扩展
  • 在这里创建一个文件夹作为我们的自定义主题,假定名字为custom_theme
  • 创建如下目录格式:
custom_theme/
--package.json
--themes/
----my_theme.json
  • 在package.json中指定你的json的路径
    示例:
{"name": "theme-custom", // 在vscode的唯一标识符号"version": "0.1.0","publisher": "GV","engines": { "vscode": "*" },"contributes": {"themes": [{"label": "chuck", // 在vscode中主题列表显示的名字"uiTheme": "vs-dark", // 是暗色主题还是亮色,亮色就是(vs)"path": "./themes/my_theme.json" // 相对路径}]}
}

修改scope

  • 修改颜色示例
{"name": "My Custom Theme","colors": {},"tokenColors": [{"scope": "variable.parameter", // 指定改变什么"settings": {"foreground": "#FF00FF" // 指定颜色}}]
}

查看有哪些scope

那么究竟有哪些scope可以指定呢

1. 使用VSCode的“Inspect Editor Tokens and Scopes”功能

这是查找特定代码片段所对应scope的最直接方法:

  1. 打开一个Python文件或任何你正在工作的语言的文件。
  2. 将光标放在你想要查看颜色作用域的代码上。
  3. 打开命令面板(Ctrl+Shift+PCmd+Shift+P)。
  4. 输入并选择“Developer: Inspect Editor Tokens and Scopes”。

这将显示一个悬浮窗口,列出当前代码片段的所有相关scope信息,这是决定如何通过主题定制颜色的关键信息。

2. 查阅语言的语法定义文件(Grammar File)

每种语言的语法都是通过特定的文法文件定义的,通常是.tmLanguage.json文件。这些文件定义了语言的语法并将其与特定的scope名称关联。查看这些文件可以让你了解可用的scope名称:

  • 对于内置语法,VSCode的源代码可在其GitHub仓库中找到,特别是在extensions文件夹下。
  • 对于扩展提供的语言支持,你可以查看相关扩展的GitHub仓库(如果可用)。

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

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

相关文章

打破 AI 算力天花板,Meta超大规模AI基础设施架构解读

Meta超大规模AI智算基础设施架构设计 摘要 双重 GPU 集群,每群配备 2.4 万个 H100 芯片,分别采用 RoCE 和 InfiniBand 网络连接。LLaMA3 就是在这两个集群上训练出来的;Meta AI 将部署庞大算力集群,拥有 35 万张 H100 GPU&#x…

【C语言】第一个C程序:hello world

printf简介 printf是C语言提供的库函数,可以在屏幕上打印格式化数据。这里不作展开,只需要知道,如果要打印hello world,就把双引号引起来的"hello world"作为参数传给printf就行了。如果想要在打印后换行,要…

数据分析之Tebleau可视化:树状图、日历图、气泡图

树状图(适合子分类比较多的) 1.基本树状图的绘制 同时选择产品子分类和销售金额----选择智能推荐----选择树状图 2.双层树状图的绘制 将第二个维度地区拖到产品分类的下面---大的划分区域是上面的维度(产品分类),看着…

牛客热题:单链表排序

📟作者主页:慢热的陕西人 🌴专栏链接:力扣刷题日记 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 文章目录 牛客热题:单链表排序题目链接方法一&…

如何压缩word文档的大小?6个方法教你方便的压缩word文档

如何压缩word文档的大小?6个方法教你方便的压缩word文档 以下是六个常用的软件和方法,可以帮助您方便地压缩Word文档大小: 使用Microsoft Word内置功能: 在Microsoft Word中,您可以使用内置的压缩功能来减小文档的大…

单通道合并为三通道输入resnet网络

我们在做多序列任务时,一个患者会有多个序列的图像,每个序列的图像都是1通道的灰度图像,我们可以把一个患者的多有序列合并为多通道输入网络,这里举个3序列的例子。 1.输入之前合并 在输入之前将三张1通道合并为3通道图像&#…

Celery(分布式任务队列)入门学习笔记

Celery 的简单介绍 用 Celery 官方的介绍:它是一个分布式任务队列; 简单,灵活,可靠的处理大量消息的分布式系统; 它专注于实时处理,并支持任务调度。 Celery 如果使用 RabbitMQ 作为消息系统的话,整个应用体系就是下…

25.哀家要长脑子了---哈希表

1.525. 连续数组 - 力扣(LeetCode) 在我对通义千问的一番折磨下,终于弄清楚一点点了。哈希表存储前缀和数组值 用一个counter来记录nums中0、1数量差值的变化。 哈希表map存储某个特定的counter值首次出现的位置。counter的计算:…

【深度学习】序列模型

深度学习(Deep Learning)是机器学习的一个分支领域:它是从数据中学习表示的一种新方法,强调从连续的层中进行学习,这些层对应于越来越有意义的表示。 1. 为什么选择序列模型? 循环神经网络(RNN…

python之 函数相关知识解析

01 函数的注释与嵌套 1.函数的注释 函数的注释与普通注释的区别:用来说明当前函数的参数含义 param 参数名: 参数的注释信息 return: 函数的返回值 例如: def fun1(name):""":param name: 参数的注释信息:return: 函数的返回值"…

(二)JSP教程——taglib指令

创建标签文件 首先创建一个Web项目,在webapp/WEB-INF目录下创建一个tags文件夹 在tags文件夹中创建一个oddNumberSum.tag文件,Tag文件时扩展名为.tag的文本文件,其结构和JSP文件非常相似,该文件的目录结构如图所示 创建Tag文件的…

Linux基础之makefile/make

目录 一、背景 二、makefile和make的讲解 2.1 使用方法 2.2 伪目标文件 2.3 文件的属性以及属性的更新 2.4 makefile的自动推导 一、背景 这里会提及为什么要使用makefile和make,以及他们是什么和作用。 会不会写makefile,从一个侧面说明了一个人是…

cache数据库在信创中的应用

Cache数据库在信创(信息技术应用创新)中的应用主要体现在其高性能、高可用性、灵活性和易用性等方面,这些特点使得Cache数据库在信创领域具有广泛的应用前景。 首先,Cache数据库作为后关系型数据库,能够整合对象数据库…

怎么口语外教一对一课程?这篇文章告诉你答案!

怎么口语外教一对一课程?在当今全球化的时代,英语口语能力已经成为许多人追求的重要技能。为了满足这一需求,市场上涌现出了许多提供一对一口语外教课程的软件。这些软件不仅提供了与母语为英语的外教进行实时交流的机会,还通过互…

Java之String类

一、String类常用方法 1.引用类型的比较 我们知道在Java中两个引用遍历是不能用" "号来比较的,而String类重写了父类objects的equals方法, 实现了引用类型的比较 例子 import java.util.Scanner; public class Main { public static void…

遭遇.halo勒索病毒怎么办?如何识别和应对.halo勒索病毒

导言: 近年来,网络安全问题愈发严峻,其中勒索病毒成为了威胁企业和个人数据安全的重要隐患。在2023年初,一种新的勒索病毒——.halo勒索病毒开始在网络上肆虐,给广大用户带来了极大的困扰。本文91数据恢复将对.halo勒…

c3 笔记6 认识css样式表

<link>与import应该如何选择?事实上&#xff0c;使用link与import链接外部样式文件的效果看起来是一样的&#xff0c;区别在于<link>是HTML标记而import属于CSS语法。<link>标记有rel、type与href属性&#xff0c;可以指定CSS样式表的名称&#xff0c;这样就…

C#中override与重载的区别

在C#中&#xff0c;override和重载&#xff08;通常通过定义具有相同名称但不同参数列表的方法来实现&#xff09;是两个不同的概念&#xff0c;它们在用途和行为上有所区别。下面是关于override和重载的主要区别&#xff1a; override&#xff08;重写&#xff09; 定义&…

控制台调试 hover 后才出现的元素

调试 hover后才出现的元素 打开开发者工具&#xff0c;鼠标放在hover时才出现的元素上&#xff0c;然后点击右键&#xff1b; 不要选中任何选项&#xff0c;将鼠标移动到开发者工具的调试面板中&#xff1b; 按下N键&#xff0c;此时悬浮的元素不会消失&#xff0c;定位成功。…

知到java笔记(4.1--继承的用法以及this和super的用法)

格式&#xff1a; 例子&#xff1a; get set获取父类的私有变量 private属性 this和super区别&#xff1a; this用法 super用法 例子