Eclipse CDT仅指定一些文件夹作为资源

时间:2012-12-04 10:10:28

标签: eclipse-cdt

在eclipse CDT 4.2中,我想只包含几个文件夹作为资源。 例如“/ root”是创建项目“myproject”的地方。我想只包含这些文件夹并排除其他任何文件夹。

  • /根/ A
  • /根/ B
  • /根/ C / d

我知道这可以在

中完成
   Project -> Resource -> Resource Filters

但是那里的UI令我感到困惑。

  • 位置和相对路径之间有什么区别。
  • 复选框“递归应用”也让我感到困惑。
  • 有一种方法可以指定正则表达式但是如果我把一个正则表达式以*开头,比如* / root / A / *或* / myproject / A / *它会给出错误,说“在索引0附近悬挂元字符”

总之,由于这些看似令人困惑的选择(对我而言),我还无法在上面取得成功。请澄清

PS:源代码在linux中我的文件系统和专有的源代码控制系统都是链接。不确定这是否重要,只是提到。

例如 root / A / file.c - > [链接到file.c的版本控制系统]

1 个答案:

答案 0 :(得分:6)

  • 位置和相对路径之间有什么区别。

位置是完整路径(例如/home/user123/workspcae/proj1/src/foo.c),其中相对路径只是项目目录中的部分(例如src/foo.c

  • 复选框“递归应用”也让我感到困惑。

表示该规则不仅用于projet-root,还用于任何子目录。即如果没有“Apply recursivly”,匹配src/*.c的规则将不会执行任何操作,因为它只匹配子目录src中的文件

  • 有一种方法可以指定正则表达式但是如果我把一个正则表达式以*开头,比如 / root / A / / myproject / A / 它会给出错误说“在索引0附近悬挂元字符”。

您使用的是通配符,而不是正则表达式。正则表达式要复杂得多,而星形意味着之前的“对象”可能会出现零次或多次。如果没有这个先前的对只是不要检查正则表达式框,它应该按预期工作,或者在星形之前添加一个点,这意味着任何角色。

解决您的问题:

  

项目 - >属性 - >资源 - >资源过滤器

  • 仅包括:
    • 文件夹:(名称匹配)a
    • 文件夹:(名称匹配)b
    • 文件夹:(名称匹配)c
  • 全部排除:
    • 文件:(名称匹配)*
  

文件夹c - >属性 - >资源 - >资源过滤器

  • 仅包括:
    • 文件夹:(名称匹配)d
  • 全部排除:
    • 文件:(名称匹配)*