防止Sublime Text在搜索中包含.sublime-workspace文件

7

这是我的Preferences.sublime-settings文件:

{
    "bold_folder_labels": true,
    "highlight_line": true,
    "ignored_packages":
    [
        "Vintage"
    ],
    "remember_open_files": true,
    "folders":
    [
        {
         "file_exclude_patterns": ["*.sublime-workspace"]
        }
    ]
}

当我在侧边栏中搜索所有打开的文件和文件夹(cmd-shift-f)时,搜索结果仍然包括工作区文件,而这些文件位于我打开的一个目录中。例如,如果我打开了~/foo并且有一个文件~/foo/bar/hello.sublime-workspace,它将包含在搜索结果中。
如何让Sublime在我的搜索中永远不要包括.sublime-workspace文件?

2
file_exclude_patterns 关注的是侧边栏中显示的文件,而不是搜索。使用 @Andre Dion 的第二个解决方案,并将 *.sublime-workspace 添加到 binary_file_patterns 列表中。 - AGS
@AGS 那个评论很有价值。我希望你能把它单独作为一个答案,这样我就可以给你一些声望了。 - 2rs2ts
我发现file_exclude_patterns技巧只有在搜索的Where字段完全为空时才对我有效。一旦我向Where字段添加项目,工作区文件就会包含在搜索中。 - anson
3个回答

2
根据这里的评论,看起来你有两种可能的解决方案:
  1. 在“查找文件...”中的“Where:”字段中使用否定模式:-*.sublime-workspace
  2. 在设置文件的"folders"部分中添加"binary_file_patterns": ["*.sublime-workspace"]

编辑

实际上,您可能只需要为"file_exclude_patterns"指定一个"path"

"folders":
[
    {
        "path": "./",
        "file_exclude_patterns": [".sublime-workspace"]
    }
]

来自http://www.sublimetext.com/docs/2/projects.html
每个文件夹必须有一个路径,并且可以选择性地设置folder_exclude_patterns和file_exclude_patterns。

我之前有 "path": ".",所以可能这就是问题所在。 - 2rs2ts
这里"."绑定到了什么? - djechlin

1
这回答了问题标题,但是涉及到项目级配置中可能会出现的问题。
这是一个已报告的错误,即binary_file_patterns不能按项目工作。 但有时它确实可以。无论如何,当我将工作区排除从binary_file_patterns移到file_exclude_patterns时,它对我有用。
你可能不知道的另一个问题是,如果你使用subl .打开目录,它不会加载项目。你需要进入“Sublime > Project”并“打开项目”,才能使设置生效。是的,这很糟糕。

1
你可以在目录旁边添加",-*.sublime-workspace"来添加过滤器。
例如,将Where设置为
<project>,-*.sublime-workspace

搜索您所有的项目目录,或者。
c:\mydir,-*.sublime-workspace

搜索特定目录。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接