vscode工程文件添加索引配置及屏蔽目录

说明

vscode在打开工程的时候,若该工程下存在多个目录文件夹,系统自动配置的索引目录可能会存在问题,例如在某个文件夹下的main.c文件中调用了另一个文件夹下的.c文件中的某函数,此时对该函数进行转到定义跳转会显示“未找到xxx的任何定义”。


解决方法

用系统资源管理器打开该工程文件目录下的.vscode文件夹的 c_cpp_properties.json 文件(仅以C语言为例),文件内容如下所示:

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ]
        }
    ],
    "version": 4
}

可以看到"${workspaceFolder}/**"已经表示工作区下的所有文件,但是跳转还是存在问题,此时我们需要手动添加索引:

假设需要添加的目录为modbus,如果 modbus 目录位于工作区根目录下,在该文件中插入索引 ${workspaceFolder}/modbus
如果 modbus 在工作区的某个子目录中,确保路径反映了其实际位置。

修改后的代码:

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "${workspaceFolder}/modbus"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ]
        }
    ],
    "version": 4
}

修改完毕后保存该文件,即可看到相关目录文件已经重新索引,函数亦可正常跳转。

屏蔽目录

若工程下存在例如编译中间件等不需要vscode索引的目录,可以在.vscode文件夹下的settings.json中添加下述代码屏蔽该目录

其中ture表示屏蔽,false表示不屏蔽。

    "search.exclude": {
        "目录名称": true
    },
    "files.exclude": {
        "目录名称": true
    }

例如:

原始文件内容为:

{
    "files.associations": {
        "DataScope_DP.C": "cpp",
        "modbus.h": "c",
        "main.h": "c"
    }
}

现在要屏蔽中间件文件夹MDK-ARM,添加屏蔽代码后内容为:

{
    "files.associations": {
        "DataScope_DP.C": "cpp",
        "modbus.h": "c",
        "main.h": "c"
    },
    "search.exclude": {
        "MDK-ARM": true
    },
    "files.exclude": {
        "MDK-ARM": true
    }
}

‍此时打开vscode工作区目录,可以看到对应的文件夹已经被屏蔽,使用全局搜索也不会再搜索到相关内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值