【问题标题】:Tell Sublime Text to ignore everything in .gitignore?告诉 Sublime Text 忽略 .gitignore 中的所有内容?
【发布时间】:2013-08-31 05:39:45
【问题描述】:

Vim 有这个 great plugin 将当前项目的 .gitignore 转换为 Vim 可以理解的语法,并从那里排除所有这些文件。

使用 Sublime Text 3 的 'Go to Anything' (CMD+P),我得到很多我不感兴趣的文件,例如 .build.meteor 下的内容。

ST3 有类似的东西吗?

【问题讨论】:

  • 您可以手动将它们添加到您的项目文件中,编写一个插件来为您完成并不难,但我不知道是否已经存在。
  • 我暂时添加了它们。只是有这么多项目,这需要时间。 .gitignore 已经存在于大多数 repo 中,用于几乎完全相同的文件列表。
  • 我理解这种挫败感。如果我有时间,我会写一个简单的脚本来完成它,但我不认为我有大约 2 周的机会。你真的了解蟒蛇吗?解析.gitignore 将是微不足道的,将其推入您的项目设置应该不会太难。有一个名为 "file_exclude_patterns" 的设置是编辑器范围的,您可以将常用的设置放在那里作为临时修复。
  • 或者更好的是,使用git ls-files 命令输出来填充文件列表。解析.gitignore 文件并不像看起来那么简单,因为它有一些需要手动重新实现的特定格式(例如,以! 开头的行是否定模式)。我认为让 git 做这项工作会更好,因为它知道如何去做。

标签: sublimetext gitignore sublimetext3


【解决方案1】:

我创建了一个快速而简单的插件sublime-gitignorer,来解决这个问题。

它目前在 Sublime Text 2 和 3 中在 Ubuntu 和 Windows 上进行了测试。我希望它也可以在任何其他 Linux 发行版或 Mac 上运行。


要安装,假设您有package control,只需:

  • CTRL+SHIFT+P (CMD+SHIFT+P 在 Mac 上)
  • 选择“安装包”
  • 搜索 Gitignored File Excluder 并按 Enter

或者,如果你没有包控制,你可以将gitignore_plugin.py复制到你的包目录,你可以通过选择Browse Packages...Preferences Sublime 中的菜单。不过,您确实应该使用 Package Control - 它很有用。


当我说这个插件很脏时,我不是在开玩笑。它的工作方式是插件,每五秒一次:

  • 检查您打开的文件夹中的 Git 存储库
  • 询问 Git 在每个存储库中忽略了哪些路径
  • 将这些路径添加到file_exclude_patternsfolder_exclude_patterns 设置。

不过,对于大多数用户来说似乎工作正常 - 至少只要您在 Sublime 中打开的文件夹不是太大。巨大的文件夹(例如典型的node_modules 文件夹)的存在,与此插件结合使用会减慢 Sublime 的爬行速度。

任何想要贡献或报告错误的人都应该查看issues page

【讨论】:

  • 对 cygwin 用户的警告:我的 sublime 文本因缺少 libiconv-2.dll 的错误而崩溃。使用sublime-gitignorer 要求您将 git 配置为在 sublime 文本环境的上下文中工作(windows,在 windows sublime 的情况下)
  • @Nishant 是的,它可以工作,但是在与查找和替换 UI 交互时存在明显的延迟。我猜它经常读取 gitignore 文件。
【解决方案2】:

您可以使用

获取所有被忽略文件的列表

git ls-files --others -i --exclude-standard

然后按照 bheklilr 的建议将其添加到 Sublime Text 中的 file_exclude_patterns

【讨论】:

    【解决方案3】:

    假设你有 Sublime 3 并且已经安装了包管理器:

    1. 添加仓库https://github.com/apc999/sublime-text-gitignore
    2. 添加包sublime-text-gitignore
    3. 使用菜单项:File->Exclude Git-ignored

    玩得开心:)

    【讨论】:

    • 我不再使用 Sublime Text,但如果有人尝试过并且有效,我会将其标记为正确。
    • 这在 OS X 10.13.4 上对我有用,而接受的答案包没有。
    猜你喜欢
    • 2012-12-06
    • 1970-01-01
    • 2010-11-17
    • 2010-11-02
    • 1970-01-01
    • 2023-02-04
    • 2013-03-16
    • 1970-01-01
    • 2020-01-12
    相关资源
    最近更新 更多