240

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

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

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

4

12 回答 12

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"],
于 2012-12-04T16:07:08.280 回答
148

对于 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 中生成的文件。(来自源代码,从 ST3 build 3095 开始工作)。但不适用于“binary_file_patterns”。

于 2014-09-18T04:19:52.340 回答
98

您可以通过修改项目设置来从项目中排除某些文件模式和文件夹,如下所示:

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

这在项目文档中有所描述。

于 2012-12-04T16:11:28.050 回答
85

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

-*/node_modules/*

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

于 2014-05-05T19:01:21.473 回答
21

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

以下内容对我有用 where 的内容:框

/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>
于 2014-03-24T17:02:46.240 回答
16

对于 SublimeText 2,这对我来说非常有用。

当您选择Find in Files时,在Where输入中指定排除文件夹;

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

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

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

这将限制您的搜索范围。

看到这个

于 2015-10-16T04:39:21.957 回答
12

我认为其中许多答案跨越了 Sublime Text 的几个不同版本,这是我在 Mac 上使用Sublime Text 3执行此操作的方法。

  1. 打开Sublime Text > 首选项 > 设置 - 用户菜单
  2. 编辑file_exclude_patternsfolder_exclude_patterns值以忽略查找工具中的文件和/或文件夹

例子

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

截屏

在此处输入图像描述

于 2016-02-26T19:04:19.347 回答
5

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

在哪里:<open folders>,-*/node_modules/*.*,-*/build/*.*

所以在我上面的例子中:

  1. 我正在搜索所有打开的文件夹。
  2. 我排除了名为“node_modules”的文件夹,它是我项目根目录下的顶级文件夹。
  3. 我排除了名为“build”的文件夹,它是我项目根目录下的顶级文件夹。

这在 Sublime Text 3 中对我有用,并且文件夹继续显示在 SideBar 中。这是通过输入进行的仅搜索排除(不影响任何幕后索引)。

于 2016-02-22T02:35:07.863 回答
3

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

Find: "something" Where: "<open folders>" // <open folders>" not include hidden folder in sidebar
于 2014-09-07T09:33:55.103 回答
3

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

    {
        "folders":
        [
            {
                "path": "src",
                "folder_exclude_patterns": ["backup\/src\/log"]
            }
        ]
    }
于 2015-06-30T19:40:07.690 回答
2

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

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

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

于 2015-04-15T15:05:05.053 回答
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

于 2016-04-25T04:16:12.630 回答