LV02-02-屏蔽工程文件.md

本文主要是屏蔽VS Code工程中不需要的文件的相关笔记。若笔记中有错误或者不合适的地方,欢迎批评指正😃。

点击查看使用工具及版本
PC端开发环境 Windows Windows11
Ubuntu Ubuntu20.04.6的64位版本(一开始使用的是16.04版本,后来进行了升级)
VMware® Workstation 17 Pro 17.0.0 build-20800274
终端软件 MobaXterm(Professional Edition v23.0 Build 5042 (license))
Win32DiskImager Win32DiskImager v1.0
Linux开发板环境 Linux开发板 正点原子 i.MX6ULL Linux 阿尔法开发板
uboot NXP官方提供的uboot,NXP提供的版本为uboot-imx-rel_imx_4.1.15_2.1.0_ga(使用的uboot版本为U-Boot 2016.03)
linux内核 linux-4.15(NXP官方提供)
点击查看本文参考资料
参考资料 相关链接
VS Code官网Visual Studio Code - Code Editing. Redefined
VS Code历史版本Visual Studio Code (历史版本下载)
VS Code官方文档Getting Started
工作区相关说明Workspaces in Visual Studio Code
Glob Patterns ReferenceVisual Studio Code glob patterns reference
点击查看相关文件下载
--- ---

对于 linux 开发来说, uboot 源码文件夹好多,文件也好多, linux 内核也是,但是其实里边有大量的文件存在但是我们是不到的,这些文件存在于工程目录下,虽不影响我们的项目,但是当我们需要查找一个文件的时候,就显得很麻烦,本篇笔记就是介绍一下 VScode 工作区中屏蔽显示文件的功能。

一、创建工作区

这里就没什么好说的了,就正常的在 VScode 软件中创建一个工作区,创建工作区后,就会生成一个 .code-workspace 为后缀的工作区文件,刚创建的时候,默认文件内容如下:

1
2
3
4
5
6
7
{
"folders": [
{
"path": "."
}
]
}

二、屏蔽文件

然后我们可以在里边添加自己的配置文件,这里是遵循Glob语法的。下边是我在移植 uboot 的时候使用的工作区文件内容:

点击查看详细内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
{
"folders": [
{
"path": "."
}
],
"settings": {
// 搜索时不想显示的文件可按以下格式屏蔽(为 true 时屏蔽)
"search.exclude": {
"**/*.o": false,
"**/*.su": false,
"**/*.cmd": false,
"arch/avr32": true,
"arch/blackfin": true,
"arch/m68k": true,
"arch/microblaze": true,
"arch/mips": true,
"arch/nds32": true,
"arch/nios2": true,
"arch/openrisc": true,
"arch/powerpc": true,
"arch/sandbox": true,
"arch/sh": true,
"arch/sparc": true,
"arch/x86": true,
"board/[A-Z]*": true,
"board/[0-9]*": true,
"board/[a-r]*": true,
"board/[t-z]*": true,
"board/s[b-z]*": true,
"board/sac*": true,
"board/san*": true,
"configs/[a-l]*": false,
"configs/[n-z]*": false,
"configs/[A-Z]*": false,
"configs/M[a-z]*": false,
"configs/M[A-Z]*": false,
"configs/M[0-9]*": false,
"configs/m[a-w]*": false,
"configs/m[0-9]*": false,
"configs/[0-9]*": false,
"include/configs/[a-e]*": true,
"include/configs/f[^s]*": true,
"include/configs/[g-n]*": true,
"include/configs/o[^r]*": true,
"include/configs/[p-z]*": true,
"include/configs/[A-Z]*": true,
"common/.*": true,
},
// 不想在工作区显示的文件可按以下格式屏蔽(为 true 时屏蔽)
"files.exclude": {
"**/*.o": false,
"**/*.su": false,
"**/*.cmd": false,
"arch/avr32": true,
"arch/blackfin": true,
"arch/m68k": true,
"arch/microblaze": true,
"arch/mips": true,
"arch/nds32": true,
"arch/nios2": true,
"arch/openrisc": true,
"arch/powerpc": true,
"arch/sandbox": true,
"arch/sh": true,
"arch/sparc": true,
"arch/x86": true,
"board/[A-Z]*": true,
"board/[0-9]*": true,
"board/[a-r]*": true,
"board/[t-z]*": true,
"board/s[b-z]*": true,
"board/sac*": true,
"board/san*": true,
"configs/[a-l]*": false,
"configs/[n-z]*": false,
"configs/[A-Z]*": false,
"configs/M[a-z]*": false,
"configs/M[A-Z]*": false,
"configs/M[0-9]*": false,
"configs/m[a-w]*": false,
"configs/m[0-9]*": false,
"configs/[0-9]*": false,
"include/configs/[a-e]*": true,
"include/configs/f[^s]*": true,
"include/configs/[g-n]*": true,
"include/configs/o[^r]*": true,
"include/configs/[p-z]*": true,
"include/configs/[A-Z]*": true,
"common/.*": true,
},
"files.associations": {
"origen_setup.h": "c"
},
}
}

三、用到的正则表达式

格式的话就是按照以上格式来进行,在这个文件中是支持通配符的,也就是正则表达式,这里列举几个方便后边自己使用:

正则表达式匹配内容
\特殊符号转义,如"*" ,转义后匹配的是字符"*", “(” 匹配的是括号"("
[字符序列]匹配[ ]中的任意字符,如[ae],字符a和字符e均匹配
[^字符序列]匹配不在[ ]中的任意字符,如[^ae]除了a和e,其他字符都匹配
[字符1-字符2]匹配在[ ]之间的任意字符,如[a-x],就是匹配a和x之间的所有字符(包括a和x)
.匹配任意单个字符(除了\n)
\w匹配所有单词字符(如"a",“3”,“E”,但不匹配"?","."等)
\W和\w相反,匹配所有非单词字符
\s匹配空格
\S和\s相反,匹配非空格
\d匹配数字字符,如"1",“4”,"9"等
\D和\d相反,匹配除了数字字符外的其他字符
*将前面的元素匹配0到多次,如"\d*.\d",可以匹配"19.9",".0",“129.9”
+将前面的元素匹配1到多次,如"be+",可以匹配"be", “beeeeee”
将前面的元素匹配0次或者一次,如"rai?n" 可以且只可以匹配 “ran” 或者 “rain”
{n} n是个数字,将前面的元素匹配n次,如"be{3}“可以且只可以匹配 ”beee”
{n, m}将前面的元素匹配至少n次,最多m次,如"be{1,3}" 可以且只可以匹配"be",“bee”, “beee”