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

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

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

是否有一种方法可以限制搜索结果中显示的内容?

62285 次浏览

在你的~/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"],

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

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

这在项目文档中描述。

在sublime text 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>

你也可以通过在Where字段中使用-*/foldername/*语法来排除Find All窗格中的文件夹-例如:

-*/node_modules/*

< a href = " http://www.sublimetext.com/forum/viewtopic.php?f=2& t = 3847,开始= 10”> http://www.sublimetext.com/forum/viewtopic.php?f=2& t = 3847,开始= 10 < / >

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

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

对于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文件中。“Project > Save Project As”,将其保存为项目的根目录,并将"settings": {...}添加到生成文件的json中。(来自,适用于ST3 build 3095)。但不能与“binary_file_patterns”一起工作。

对于那些几次你需要限制查找(和替换)到当前目录,这样做:

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

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

请注意,如果你想添加项目文件夹的子文件夹,你必须用\/来连接文件夹。以@DavidPärsson为例:

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

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

当你选择在文件中查找时,在在哪里输入中指定排除文件夹;

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

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

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

这将限制你的搜索范围。

See this

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

地点:<open folders>,-*/node_modules/*.*,-*/build/*.*

所以在上面的例子中:

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

这适用于我在Sublime Text 3和文件夹继续显示在侧边栏。这是一个仅通过输入排除的搜索(不影响任何幕后索引)。

我认为许多这些答案跨越了几个不同版本的Sublime Text,以下是我如何在Mac上用崇高的文本3做到这一点。

  1. 打开Sublime Text > Preferences > Settings -用户菜单
  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"
],

截图

enter image description here

我认为确保这些文件和文件夹在每个项目中被排除的最简单的方法是在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 < / p >