在Sublime Text 2中限制文件搜索范围

时间:2012-12-04 16:04:22

标签: sublimetext2 sublimetext

在Sublime Text中,我经常使用 Cmd + P / Ctrl + P 来搜索和跳转文件。

通常,它会选择临时或缓存的文件,如.scssc或/ tmp文件夹中的内容。

有没有办法可以限制搜索结果中显示的内容?

12 个答案:

答案 0 :(得分:319)

~/Library/Application Support/Sublime Text 2/Packages/User/Preferences.sublime-settings文件中添加并修改此内容。

// These files will still show up in the side bar, but won't be included in
// Goto Anything or Find in Files
"binary_file_patterns": ["*.jpg", "*.jpeg", "*.png", "*.gif", "*.ttf", "*.tga", "*.dds", "*.ico", "*.eot", "*.pdf", "*.swf", "*.jar", "*.zip"],

"folder_exclude_patterns": [".svn", ".git", ".hg", "CVS"],

答案 1 :(得分:146)

对于Sublime Text 3:要从搜索和GoTo结果中排除,请不要从侧边栏中删除,请更改"binary_file_patterns"设置。匹配文件和文件夹。

例如,要从GoTo索引中排除“dist”和“node_modules”中的文件,请将其添加到“用户设置”文件中:

"binary_file_patterns": ["dist/*", "node_modules/*", "*.jpg", "*.jpeg", "*.png", "*.gif", "*.ttf", "*.tga", "*.dds", "*.ico", "*.eot", "*.pdf", "*.swf", "*.jar", "*.zip"]

我无法弄清楚如何在每个项目的基础上实现这一点:(。大多数设置可以移动到project.sublime-project文件。“项目>将项目另存为”,保存根目录您的项目,并将"settings": {...}添加到生成的文件中的json。(来自source,从ST3 build 3095开始工作。)但不适用于“binary_file_patterns”。

答案 2 :(得分:97)

您可以按modifying your project settings排除项目中的某些文件模式和文件夹,如下所示:

{
    "folders":
    [
        {
            "path": "src",
            "folder_exclude_patterns": ["backup"]
        },
        {
            "path": "docs",
            "file_exclude_patterns": ["*.css"]
        }
    ]
}

projects documentation中描述了这一点。

答案 3 :(得分:85)

您还可以使用-*/foldername/*字段中的Where语法排除“查找全部”窗格中的文件夹 - 例如:

-*/node_modules/*

http://www.sublimetext.com/forum/viewtopic.php?f=2&t=3847&start=10

答案 4 :(得分:21)

在崇高文本3(BLD 3059 Windows)中,我需要将“查找文件夹”功能限制为某些文件/文件夹,也许是一个文件,

以下适用于我 where:box

的内容
/C/path/2/project/folder,*.c,*.h,-*/path/not/to/look/in,/C/path/2/specific/file/file.h

如果没有绝对路径,可以将上述内容与以下符号位置结合起来

<open folders>, <open files>, <current file>

<open folders>,*.c,*.h,-*/never_this_in_folder/*,<open files>

答案 5 :(得分:16)

对于SublimeText 2,这对我很有用。

当您选择在文件中查找时,请在其中输入中指定排除文件夹;

-bower_components/**/*, -dist/**/*, -node_modules/**/*, -tmp/**/*

因此,连字符后跟您不想搜索的文件夹的排除模式。

-folder1/**/*, -folder2/**/*

这将限制您的搜索范围。

See this

答案 6 :(得分:12)

我认为其中许多答案涵盖了Sublime Text的几个不同版本,这里是我如何在Mac上使用 Sublime Text 3 执行此操作。

  1. 打开 Sublime Text&gt;偏好&gt;设置 - 用户菜单
  2. 修改file_exclude_patternsfolder_exclude_patterns值以忽略查找工具中的文件和/或文件夹
  3. 示例

    "file_exclude_patterns":
    [
        ".svn",
        ".git",
        ".hg",
        ".md",
        ".txt",
        ".DS_Store"
    ],
    "folder_exclude_patterns":
    [
        "node_modules",
        "bower_components",
        ".svn",
        ".git",
        ".hg",
        "CVS",
        "deprecated",
        "cache"
    ],
    

    <强>截图

    enter image description here

答案 7 :(得分:4)

您还可以通过Where字段排除搜索中的文件夹:

其中:<open folders>,-*/node_modules/*.*,-*/build/*.*

所以在上面的例子中:

  1. 我正在搜索所有Open文件夹。
  2. 我要排除名为&#34; node_modules&#34;的文件夹。这是我项目根目录下的顶级文件夹。
  3. 我要排除名为&#34; build&#34;的文件夹。这是我项目根目录下的顶级文件夹。
  4. 这在Sublime Text 3中适用于我,文件夹继续显示在SideBar中。这是仅通过输入进行的搜索排除(不影响任何幕后索引)。

答案 8 :(得分:3)

这个解决方案非常适合我:https://superuser.com/a/601270

Find: "something" Where: "<open folders>" // <open folders>" not include hidden folder in sidebar

答案 9 :(得分:2)

对于这几次,您只需要将查找(和替换)限制为当前目录,请执行以下操作:

c/Path/2/Project,-c/Path/2/Project/*/*

路径排除模式中的重要位是/*/*。在Windows 7 64位上使用Sublime Text 3 build 3083。

答案 10 :(得分:2)

请注意,如果要添加项目文件夹的子文件夹,则必须使用\/加入文件夹。使用@DavidPärsson的相同示例:

    {
        "folders":
        [
            {
                "path": "src",
                "folder_exclude_patterns": ["backup\/src\/log"]
            }
        ]
    }

答案 11 :(得分:0)

我认为确保在每个项目中排除此类文件和文件夹的最简单方法是在Sublime用户设置中添加以下代码(在~/Library/Application Support/Sublime Text 2/Packages/User/Preferences.sublime-settings文件中添加并编辑它。)

{
    // Remove certain files permanently from Sublime via Preferences.sublime-settings.
    "folder_exclude_patterns": [".svn", ".git", ".hg", "CVS", "node_modules"]   
}

要点:https://gist.github.com/ahmadawais/690a816ca158067708ad4dbe17822841

或者你可以在这里查看我的偏好文件 https://github.com/ahmadawais/dotFiles/blob/master/SublimeText/User/Preferences.sublime-settings#L80-L81