IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> ubuntu下使用vscode阅读内核源码或uboot源码使用技巧——search.exclude&files.exclude -> 正文阅读

[开发工具]ubuntu下使用vscode阅读内核源码或uboot源码使用技巧——search.exclude&files.exclude

各位玩家你们在阅读内核源码时,一般都使用什么工具呢?欢迎到文章末尾投上你的一票!

内核源码和uboot源码一般囊括的文件都很多很多,未删减的都能上万个文件,使用一款称手的阅读源码软件可能可以让你的工作效率提高一个level哦。

当然啦,在windows系统下阅读源码,Source Insight永远都是首选,yyds!选择使用vscode的一般都是在ubuntu等虚拟机环境下使用,这样在修改源码编译等操作尤为的方便。

初次使用vscode阅读源码过的玩家应该多多少少都有些不舒适,特别是从Source Insight用户过来的玩家,比如当源码树很庞大的时候,使用vscode打开源码文件夹,会默认的将所有的文件都添加到工程呢,当我们需要检索某个关键字的时候,vscode会检索出一堆匹配的字串,而且时间随着文件数量增大而增大,这

使用Source Insight阅读源码时,可以通过手动去选择添加的文件,进而可以提高关键字的搜索速度和准确度;
而vscode其实也是可以做到,下面上教程!

使用vscode创建源码工程

首先使用vscode打开你要阅读的源码路径
在这里插入图片描述
完了之后它会自动把当前选中路径下的所有文件给添加到左边栏,如下:
在这里插入图片描述
这个时候我们需要将它保存到一个指定的工作区,并起个名字:
在这里插入图片描述
在这里插入图片描述
工作区的具体名字可以自行更改,保存路径推荐放在你要阅读的源码路径下;

自动创建规则

在这之前,所有工作都是基础工作只是完成了一个vscode的工作创建,那么我们需要屏蔽掉一些我们不需要阅读的文件,这个时候我们就要创建一个规则,让vscode帮我们筛选过滤;
点击vscode左下角齿轮形状的按钮,选择设置;也可以按快捷键ctrl+,进入设置界面
在这里插入图片描述

剔除指定文件及文件夹

进入设置界面后,选择工作区(Workspace)下的文本编辑器(Text Editor)下的文件(File)下的exclude,点击添加模式(add pattern)
在这里插入图片描述
在这里添加任意文件夹路径,在资源管理器即左边栏就会主动剔除你写入的文件路径,如下:
在这里插入图片描述
写入arch/mips后,点击确定,左边栏的arch/mips将立刻消失,如下:
在这里插入图片描述

屏蔽检索

进入设置界面后,选择工作区(Workspace)下的功能(Features)下的搜索(Search)下的exclude,点击添加模式(add pattern)

在这里插入图片描述
完成添加后,在使用全局检索时,指定的文件及文件夹下的内容将不被检索考虑,会主动剔除选中的文件及文件夹内容;

手动创建

如果你想比较直观,不想点击这么多按钮的话,你可以试试手动创建,如下:

创建.vscode文件夹

点击工作区名字,在边上会出现一个创建文件夹的标志,点击后输入.vscode即可;
在这里插入图片描述

新建settings.json文件

完成.vscode文件夹创建之后,需要在该文件夹下面新建一个名为setting.json的json文件
在这里插入图片描述
接着写入如下内容:

{
	"search.exclude": {
	},
	"files.exclude": {
	}
}

该文件使用json的语法编写,有两个对象,一个是"search.exclude",一个是"files.exclude",这两个对象就可以实现我们vscode工作区文件检索屏蔽的规则编写;
"search.exclude"表示需要在检索结果中排除掉的文件或者文件夹;
"files.exclude"表示需要将指定的文件夹排除在工程左侧的文件栏中;
这里的两个对象,对应着自动创建规则下面的那两个exclude
我们需要屏蔽什么,就把什么文件夹路径、文件路径写进去即可;

{
	"search.exclude": {
		"**/*.o": true,
		"**/*.su": true,
		"**/*.cmd": true,
		
		"arch/alpha": true,
		"arch/mips": true,
		"arch/nds32": true,
		"arch/nios2": true,
		
		"arch/arc": true,
		"arch/m68k": true,
		"arch/microblaze": true,
		"arch/powerpc": true,
		"arch/sandbox": true,
		"arch/sh": true,
		"arch/xtensa": true,
		"arch/x86": true,
		"arch/arm/mach*": true,
		"arch/arm/mach-zynq": false,
		"arch/arm/cpu/arm11*": true,
		"arch/arm/cpu/arm720t": true,
		"arch/arm/cpu/arm9*": true,
		"arch/arm/cpu/armv7m": true,
		"arch/arm/cpu/armv8": true,
		"arch/arm/cpu/pxa": true,
		"arch/arm/cpu/sa1100": true,
		"board/[a-w]*": true,
		"board/[y-z]*": true,
		"board/[0-9]*": true,
		"board/[A-Z]*": true,
		"board/xe*": true,
		"board/xilinx/m*": true,
		"configs/[a-y]*": true,
		"configs/[A-Z]*": true,
		"configs/[0-9]*": true
	},
	"files.exclude": {
		"**/*.o": true,
		"**/*.su": true,
		"**/*.cmd": true,
		"**/.git": true,
		/*屏蔽不相关架构*/
		"arch/alpha": true,
		"arch/mips": true,
		"arch/nds32": true,
		"arch/nios2": true,
		"arch/arc": true,
		"arch/m68k": true,
		"arch/microblaze": true,
		"arch/powerpc": true,
		"arch/sandbox": true,
		"arch/sh": true,
		"arch/xtensa": true,
		"arch/x86": true,
		"arch/arm/mach*": true,
		"arch/arm/mach-zynq": false,
		"arch/arm/cpu/arm11*": true,
		"arch/arm/cpu/arm720t": true,
		"arch/arm/cpu/arm9*": true,
		"arch/arm/cpu/armv7m": true,
		"arch/arm/cpu/armv8": true,
		"arch/arm/cpu/pxa": true,
		"arch/arm/cpu/sa1100": true,
		/*屏蔽不相关的板级文件*/
		"board/[a-w]*": true,
		"board/[y-z]*": true,
		"board/[0-9]*": true,
		"board/[A-Z]*": true,
		"board/xe*": true,
		"board/xilinx/m*": true,
		/*屏蔽不相关的配置文件*/
		"configs/[a-y]*": true,
		"configs/[A-Z]*": true,
		"configs/[0-9]*": true,
		
		/* 屏蔽不用的 DTB 文件 */
		"arch/arm/boot/dts/[a-y]*":true,
		"arch/arm/boot/dts/.*":true,
	}
}

以上是提供也给示例写法,玩家可以自行去完成配置;

手动创建的时候,文件名一定不要错了,不然会完全没效果的!

如果本文对你有点帮助,别忘了点个赞哦!

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-01-25 10:47:08  更:2022-01-25 10:47:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 12:28:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码