正常情况,我们clone 了 aosp 源码,直接导入vscode ,搜索和点击方法跳转都是要等半天的。解决方案如下,先查看一下源码下各目录的大小
du -h --max-depth=1 ~/aosp | sort -h

显然能看出整体源码占 305G,其中out .repo,prebuilts 占了大头,因此可以在vscode 设置排除,从而减少索引建立时间
我的排除列表
源码目录,新建一个.vscode 目录,下面创建一个 settings.json 文件
{
"files.exclude": {
"**/.repo": true,
"**/out": true,
"**/prebuilts": true,
"**/kernel": true,
"**/cts": true,
"**/packages": true,
"**/developers/**": true,
"**/development/**": true,
"**/test/**": true,
"**/tools/**": true,
"**/platform_testing/**": true,
"**/toolchain/**": true,
"**/pdk/**": true,
"**/sdk/**": true,
"**/build/**": true
},
"search.exclude": {
"**/.repo": true,
"**/out": true,
"**/prebuilts": true,
"**/kernel": true,
"**/cts": true,
"**/packages": true,
"**/developers/**": true,
"**/development/**": true,
"**/test/**": true,
"**/tools/**": true,
"**/platform_testing/**": true,
"**/toolchain/**": true,
"**/pdk/**": true,
"**/sdk/**": true,
"**/build/**": true
},
"files.watcherExclude": {
"**/.repo/**": true,
"**/out/**": true,
"**/prebuilts/**": true,
"**/kernel": true,
"**/cts": true,
"**/packages": true,
"**/developers/**": true,
"**/development/**": true,
"**/test/**": true,
"**/tools/**": true,
"**/platform_testing/**": true,
"**/toolchain/**": true,
"**/pdk/**": true,
"**/sdk/**": true,
"**/build/**": true
},
"C_Cpp.errorSquiggles": "disabled",
"java.project.sourcePaths": [
"frameworks/base",
"libcore"
],
"java.import.exclusions": [
"**/.repo",
"**/out",
"**/prebuilts",
"**/external",
"**/device",
"**/kernel",
"**/cts",
"**/packages",
"**/test",
"**/tools",
"**/developers",
"**/development",
"**/platform_testing",
"**/sdk",
"**/toolchain",
"**/pdk",
"**/bootable"
],
"java.autobuild.enabled": false,
"java.import.gradle.enabled": false,
"java.import.maven.enabled": false
}
以上是我的一些排除选项,现在解决了搜索慢的问题,还存在点击代码接口跳转慢的问题需要解决
解决点击接口跳转慢的问题
在 ~/.vscode/c_cpp_properties.json 里粘贴这个完整配置,如果没有自行创建这个文件
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/bionic/libc/include",
"${workspaceFolder}/system/core/include",
"${workspaceFolder}/frameworks/native/include",
"${workspaceFolder}/frameworks/base/include",
"${workspaceFolder}/hardware/libhardware/include",
"${workspaceFolder}/external/**",
"${workspaceFolder}/libnativehelper/include",
"${workspaceFolder}/system/core/libcutils/include",
"${workspaceFolder}/system/core/libutils/include",
"${workspaceFolder}/frameworks/native/libs/binder/include"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "gnu++14",
"intelliSenseMode": "linux-gcc-x64"
}
],
"version": 4
}
注意
如果配置都基本一样的情况,你的跳转或者搜索还是慢
- 看看配置的json 文件格式是否有误,例如结尾不能加逗号等等(可以发送给AI 帮你审查)
- 看看插件是否安装上,问ai 它会推荐对应的插件给你的。下面插件截图供参考,说不定过段时间就改名了,或者有其他更好用的插件,起码目前来说我的搜索慢,点击接口跳转慢或者无法跳转问题都得到解决了。
