0

我是 SublimeText 的新手(从 TextMate 迁移而来),它很棒。但我熟悉 JetBrains IDE,我需要在项目中快速打开文件/类的功能。SublimeText 提供了很酷的功能,比如在任何地方打开符号、转到任何东西等等,但我找不到任何东西可以只打开项目中的文件。当我在做一个大项目时——去任何东西和类似的东西都不适合我。

例如,我有一个名为 Data 的类。当我尝试使用“转到项目中的任何内容/符号”打开该类时——我在列表中有很多变量和方法,因为“数据”在编程中是很常见的词。

所以,我试图实现只打开类/文件的功能,而不在它们内部进行搜索(如 JetBrains Navigate -> Class)。是否有任何内置功能,或者我需要为我的需要编写一个自定义插件?

4

2 回答 2

1

我将以下内容放在一起,以便您对可以做的事情有所了解。它可能对您来说足够好,如果没有,也许您可​​以以此为基础。这将抓取每个文件,因此您可能需要添加某种忽略模式。如果我记得,JetBrains 就是这样工作的。对于一个快捷方式,它搜索所有内容,对于另一个,只是类(索引良好的文件可能更准确)

import sublime_plugin
import os

class FileNameBasedOpen(sublime_plugin.WindowCommand):
    def run(self):
        self.input_content = []
        for folder in self.window.folders():
            for root, dirs, files in os.walk(folder):
                for f in files:
                    self.input_content.append([f, root])

        self.window.show_quick_panel(self.input_content, self.on_select)

    def on_select(self, index):
        if index == -1:
            return
        else:
            f = os.path.join(self.input_content[index][1], self.input_content[index][0])
            self.window.open_file(f)
于 2013-09-19T07:03:10.103 回答
1

刚刚想通了。CMD + T,如TextMate。

于 2013-09-19T11:33:42.563 回答