【TDA2x学习】番外篇二、高效使用VScode工具

一、创建vscode工程

打开 VScode,选择:文件->打开文件夹…,选中 vsdk@ycc 文件夹,如下图所示:

在这里插入图片描述

在这里插入图片描述

打开 vsdk@ycc 目录以后, VSCode 界面如下图所示:

在这里插入图片描述

点击“文件->将工作区另存为…”,打开保存工作区对话框,将工作区保存到 vsdk@ycc 源码根目录下,设置文件名为“vsdk”,如下图所示:

在这里插入图片描述
在这里插入图片描述

保存成功以后就会在 vsdk@ycc 源码根目录下存在一个名为 vsdk.code-workspace 的文件。这样一个完整的 VSCode 工程就建立起来了。

在这里插入图片描述

下次可直接双击vsdk.code-workspace打开源码目录(当然前提,.code-workspace后缀文件默认用vscode打开)

在这里插入图片描述

二、过滤文件

VSCode 工程包含了 vsdk 的所有文件, vsdk 中有些文件是不需要在VSCode显示以及在搜素结果中显示 ,需要将其从 VSCode 目录中给屏蔽掉以及从搜素结果中给屏蔽掉。方法如下:

编辑vsdk.code-workspace文件的"settings"选项,即可实现上述文件过滤的目的:
在这里插入图片描述

示例内容如下:

{
	"folders": [
		{
			"path": "."
		}
	],
	"settings": {

		//屏蔽搜索文件或文件夹
		"search.exclude": {
		
		},
		
		//屏蔽工程中文件或文件夹
		"files.exclude": {
		
		},

	}
}

其中"search.exclude"里面是需要在搜索结果中排除的文件或者文件夹, "files.exclude"是左侧工程目录中需要排除的文件或者文件夹。

举例来说,在vsdk@ycc中全局搜索CaptureLink_CreateParams_Init函数,搜索结果除了出现在.c 和 .h 中还会出现在 .sem4后缀的文件中,造成搜素结果冗余,不容易快速定位函数,这种情况下,我们就可以通过设置 settings.json 来过滤掉 .sem4文件。

若我们需要将 .sem4 文件从搜索结果和左侧的工程目录中都排除掉,因此在"search.exclude""files.exclude"中输入如下图所示内容:

在这里插入图片描述

此时再看一下左侧的工程目录,发现 arch 目录下没有 .sem4 这个文件了,同时再次搜索CaptureLink_CreateParams_Init函数,也看不到.sem4后缀的文件了。说明该文件确实被排除掉了。

"**/*.sem4": true,,冒号前面的是要排除的文件或者文件夹,冒号后面为是否将文件排除, true 表示排除, false 表示不排除。用这种方法即可将不需要的文件,或者文件夹排除掉。

在筛选时,可以合理利用通配符“*”,比如“**/*.o”表示所有.o 结尾的文件。“configs/[a-l]*”表示 configs 目录下所有以‘a’ ~ ‘l’开头的文件或者文件夹。 比如“configs/M[0-9]*”表示 configs 目录下所有以‘Ma’ ~ ‘Ml’开头的文件或者文件夹。

我目前设置的vsdk过滤选项如下(持续更新…):

{
	"folders": [
		{
			"path": "."
		}
	],
	"settings": {

		//屏蔽搜索文件或文件夹
		"search.exclude": {
			"**/*.sem4": true,
			"**/*.map": true,
		},
		
		//屏蔽工程中文件或文件夹
		"files.exclude": {
			"**/*.sem4": true,
			"**/*.map": true,
		},

	}
}

三、插件安装

VSCode 支持多种语言, 比如 C/C++、 Python、 C#等等,本教程我们主要用来编写 C/C++程序的,所以需要安装 C/C++的扩展包,扩展包安装很简单,如下图所示:

在这里插入图片描述

我们需要按照的插件有下面几个:

C/C++,这个肯定是必须的。
C/C++ Snippets,即 C/C++重用代码块。
C/C++ Advanced Lint,即 C/C++静态检测 。
Code Runner,即代码运行。
Include AutoComplete,即自动头文件包含。
Rainbow Brackets,彩虹花括号,有助于阅读代码。
One Dark Pro, VSCode 的主题。
GBKtoUTF8,将 GBK 转换为 UTF8。
ARM,即支持 ARM 汇编语法高亮显示。
Chinese(Simplified),即中文环境。
vscode-icons, VSCode 图标插件,主要是资源管理器下各个文件夹的图标。
compareit,比较插件,可以用于比较两个文件的差异。
DeviceTree,设备树语法插件。
TabNine,一款 AI 自动补全插件,强烈推荐,谁用谁知道!

如果要查看已经安装好的插件,可以按照下图所示方法查看:

在这里插入图片描述


实际问题解决

1、解决工作区过大问题

当过程过大时,vscode常常会提示,如下图所示内容:
在这里插入图片描述

上述内容的大意是指,目前文件监控的实际数目已超出当前设置值。可以通过修改配置文件的方式,增加文件监控数目,来避免出现警告信息。524288是可设置的最大文件监控数目,一般情况下不应当设置这么大的值,因为每监控一个文件大约会消耗540字节(32位机)或1kB(64位机)的内存,监控524288个文件则大约会消耗256MB(32位机)或512MB(64位机)的内存。

优化该问题的解决办法:

方法一:减少冗余文件显示

即本文第二节中的《文件过滤》

方法二:适当增大文件监控数目

①、检查现有文件监控数目

cat /proc/sys/fs/inotify/max_user_watches

上述命令在我的机器上显示的结果是:8192,这是Ubuntu 16.04系统的默认值。

②、修改文件监控数目

综合考虑实际需监控文件的数目和内存消耗情况,我将新的文件监控数目设置为:81920,即原来监控数目的10倍。我使用vi对配置文件进行编辑:

sudo vi /etc/sysctl.conf

在该配置文件的最后一行加上下述语句:

fs.inotify.max_user_watches=81920

③、让配置文件中的新文件监控数目生效

sudo sysctl -p

重新打开VSCode,只要当前文件夹内文件数目不超过81920个,就不会再出现警告信息了。

2、解决每次只能打开一个文件的问题

在 VScode 上打开一个新文件的话会覆盖掉以前的文件,这是因为 VSCode 默认开启了预览模式,预览模式下单击左侧的文件就会覆盖掉当前的打开的文件。如果不想覆盖的话采用双击打开即可,或者设置 VSCode 关闭预览模式,设置如下图所示:

在这里插入图片描述

3、中英文切换问题

前提是安装好中文插件,按下“Ctrl+P”打开搜索框,在搜索框里面输入“>config”,然后选择“Configure Display Language”,

在这里插入图片描述
接着选择zh-ch即为中文

在这里插入图片描述

4、指定头文件路径问题

按下“Ctrl+P”打开搜索框,然后输入“>Edit configurations”,选择“C/C++:Edit configurations…”,如下图所示:

在这里插入图片描述

C/C++的配置文件是个 json 文件,名为: c_cpp_properties.json,此文件默认内容如下图所示
在这里插入图片描述
c_cpp_properties.json 中的变量“includePath”用于指定工程中的头文件路径。

5、Unable to active xxxx 问题

在这里插入图片描述

这是因为插件 C/C++ Lint 打开了几个功能,我们将其关闭就可以了,顺便也可以学习一下VSCode 插件配置方法。

在这里插入图片描述

在 C/C++ Lint 配置界面上找到 CLang:Enable、 Cppcheck:Enable、 Flexlint:Enable 这个三个,
然后取消掉勾选即可,如下图所示:

在这里插入图片描述

6、鼠标中键无意添加剪切板代码块,造成后期定位困难的问题

禁用中键

xmodmap -e "pointer = 1 25 3 4 5 6 7 2"

取消禁用

xmodmap -e "pointer = 1 2 3 4 5 6 7 8"

当然上述在终端的操作,仅对本次开机有效,若想每次开机均有效,可在/etc/rc.local脚本中添加

sudo vi /etc/rc.local

然后在 exit 0 前面添加“禁用中键”的脚本代码,如下图所示

在这里插入图片描述

7、vscode中的搜索问题

  • 搜索当前文件中的某个变量

按下ctrl+F快捷键,输入变量即可搜索

  • 搜索工作区的含有某个变量的所有文件

在左侧搜索栏在这里插入图片描述

  • 搜索某个特定的文件名

按下ctrl+P快捷键,输入文件名即可搜索!

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页