如何判断我在Sublime Text中使用的项目?

时间:2017-06-05 14:37:34

标签: sublimetext

我的计算机上经常有同一个Git存储库的多个副本。我通常打开多个Sublime Text窗口,每个窗口都有一个Git repo副本的打开项目。

是否有任何设置可以在状态或标题栏上显示项目文件的路径,或者是否有其他方式可以轻松区分其他类似项目?实际上,我没有简单的方法来区分哪个Sublime Text窗口正在使用哪个项目文件。

1 个答案:

答案 0 :(得分:2)

Sublime的标题栏默认显示当前与窗口关联的项目的文件名部分;它是圆括号内当前所选文件名称右侧的文本。例如,我在这里打开了OverrideAudit项目:

Sample window caption

目前没有办法(当前)在标题栏中显示其他信息,但使用某些插件代码可以在状态栏中显示文本。

[编辑]问题跟踪器上有一个open feature request,用于添加配置标题栏的功能,您可能需要权衡它。 [/编辑]

这是一个插件示例,它复制将项目名称从窗口标题放入状态栏。如果需要,您可以修改show_project中仅将项目名称隔离为例如{1}}的代码。如果需要,请包括路径。

要使用此功能,您可以从菜单中选择Tools > Developer > New Plugin...并使用此代码替换默认存根,并根据需要进行修改。

此代码为also available on GitHub

import sublime
import sublime_plugin
import os

# Related Reading:
#     https://forum.sublimetext.com/t/displaying-project-name-on-the-rite-side-of-the-status-bar/24721

# This just displays the filename portion of the current project file in the
# status bar, which is the same text that appears by default in the window
# caption.

def plugin_loaded ():
    """
    Ensure that all views in all windows show the associated project at startup.
    """
    # Show project in all views of all windows
    for window in sublime.windows ():
        for view in window.views ():
            show_project (view)

def show_project(view):
    """
    If a project file is in use, add the name of it to the start of the status
    bar.
    """
    if view.window() is None:
        return

    project_file = view.window ().project_file_name ()
    if project_file is not None:
        project_name = os.path.splitext (os.path.basename (project_file))[0]
        view.set_status ("00ProjectName", "[" + project_name + "]")

class ProjectInStatusbar(sublime_plugin.EventListener):
    """
    Display the name of the current project in the status bar.
    """
    def on_new(self, view):
        show_project (view)

    def on_load(self, view):
        show_project (view)

    def on_clone(self, view):
        show_project (view)