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

ric*_*pai 236 sublimetext sublimetext2

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

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

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

AGS*_*AGS 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"],
Run Code Online (Sandbox Code Playgroud)

  • 还有``file_exclude_patterns':["*.log"]`如果你想忽略某些文件而不是文件夹. (51认同)
  • @Michael在ST3中也一样.其他人:有没有办法排除文件夹而不隐藏它?我经常想看一些库的来源,但不能在我的典型搜索结果中得到它. (20认同)
  • `binary_file_patterns`从Goto Anything中删除文件,但不从文件中的查找中删除文件,因为它应该基于注释.有没有其他人经历过这个?知道如何解决它吗?我在Ubuntu,建立2221; 同样的事情发生在我的Mac上(不知道内部版本号). (12认同)
  • @Parris我有同样的问题.想从侧边栏中排除搜索僵尸程序. (7认同)
  • 这是否适用于ST3?ST#中的注释看起来不同,看起来像folder_exclude_patterns会从侧边栏中排除,但我只想将它从goto中排除并在文件中查找 (4认同)
  • 不幸的是,这在ST3中不起作用了 (3认同)
  • 我刚刚发现,如果在全局设置文件中包含这些选项("Sublime Text - > Preferences - > Setting - User"),它将从文件中的find中排除.它不适用于项目设置文件,因此必须为每个项目/应用程序应用这些设置. (2认同)
  • ST3 Build 3083,`binary_file_patterns`从Goto Anything中排除文件,但**不是**来自文件中的查找. (2认同)

Jay*_*Jay 147

对于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"]
Run Code Online (Sandbox Code Playgroud)

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

  • 这对我来说似乎不起作用.我正在使用ST3 build 3095.我无法编辑首选项 - >设置 - 默认,所以我将过滤器添加到 - >设置 - 用户.我尝试添加`"unused /"`以及`"*/unused/*"`但是对我来说都不起作用.但是,我能够添加这样的排除过滤器:` - */unused/*, - */_ sgbak/*`到我的搜索,这很烦人,因为它不记得了,所以你每次都要添加它. (7认同)
  • 但是每个项目都不可能改变这个吗? (6认同)
  • 这确实应该如此,如果你想以这种方式思考,它就像一个忽略文件.非常感谢! (3认同)

Dav*_*son 97

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

{
    "folders":
    [
        {
            "path": "src",
            "folder_exclude_patterns": ["backup"]
        },
        {
            "path": "docs",
            "file_exclude_patterns": ["*.css"]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

这在项目文档中有描述.

  • 适用于Sublime Text 3.是否从侧边栏中删除了排除的文件夹,但这对我来说不是问题. (7认同)

Dan*_*nce 85

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

-*/node_modules/*
Run Code Online (Sandbox Code Playgroud)

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

  • 请注意,在Windows中,您还必须使用正斜杠(/)来排除目录,即使您使用反斜杠搜索目录.在Where字段中的示例:`C:\ Projects\SearchThis, - */但/不/这/*` (3认同)
  • 是! 完善.我不想完全从项目中排除node_modules,只是想将其从搜索中过滤掉.摇滚! (2认同)

eep*_*lip 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
Run Code Online (Sandbox Code Playgroud)

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

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

<open folders>,*.c,*.h,-*/never_this_in_folder/*,<open files>
Run Code Online (Sandbox Code Playgroud)

  • 我刚刚发现,如果在全局设置文件中包含这些选项("Sublime Text - > Preferences - > Setting - User"),它将从文件中的find中排除.它不适用于项目设置文件,因此必须为每个项目/应用程序应用这些设置. (2认同)

Har*_*ria 16

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

选择在文件中查找时,在Where输入中指定排除文件夹;

-bower_components/**/*, -dist/**/*, -node_modules/**/*, -tmp/**/*
Run Code Online (Sandbox Code Playgroud)

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

-folder1/**/*, -folder2/**/*
Run Code Online (Sandbox Code Playgroud)

这将限制您的搜索范围.

看到这个


Kev*_*ary 12

我认为这些答案中的很多都跨越了Sublime Text的几个不同版本,这就是我在Mac上使用Sublime Text 3的方法.

  1. 打开Sublime Text> Preferences> Settings - User菜单
  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"
],
Run Code Online (Sandbox Code Playgroud)

截图

在此输入图像描述


小智 5

您还可以通过“位置”字段从搜索中排除文件夹:

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

所以在我上面的例子中:

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

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