sublimetext3 - 显示总行数状态栏 sublime text 3

标签 sublimetext3 sublime-text-plugin

是否有代码可以放入设置或插件中,在 Sublime Text 3 的状态栏中显示当前行和列的总行数?

最佳答案

在状态栏中显示行数的代码很简单, 只需获取行数

line_count = view.rowcol(view.size())[0] + 1

并写入状态栏

view.set_status("line_count", "#Lines: {0}".format(line_count))

如果你想打包一个插件,你只需要把它写在一个函数中,然后在一些 EventListener 上调用它。 . 通过单击 Tools >> Developer >> New Plugin... 创建插件并粘贴:

import time
import sublime
import sublime_plugin

last_change = time.time()
update_interval = 1.5  # s


class LineCountUpdateListener(sublime_plugin.EventListener):
    def update_line_count(self, view):
        line_count = view.rowcol(view.size())[0] + 1
        view.set_status("line_count", "#Lines: {0}".format(line_count))

    def on_modified(self, view):
        global last_change
        current_change = time.time()
        # check if we haven't embedded the change in the last update
        if current_change > last_change + update_interval:
            last_change = current_change
            sublime.set_timeout(lambda: self.update_line_count(view),
                                int(update_interval * 1000))

    on_new = update_line_count
    on_load = update_line_count

这实际上是在创建新 View 、加载文件和修改 View 内容时调用命令。出于性能原因,它有一些逻辑,不会在每次修改时都调用它。

关于sublimetext3 - 显示总行数状态栏 sublime text 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37595322/

相关文章:

c++ - sublime text C++ 编译导致段错误

Sublime 中的 SAS 语法高亮

sublimetext3 - 从 Sublime Text 3 中删除语法

sublimetext - 如何停用 sublime text 3 中 html 颜色名称的紫色突出显示?

sublimetext - Sublime Text 3 无法找到明显存在的文本

Windows 上的 python libclang 绑定(bind)无法从 sublime text 初始化翻译单元

python - 在 sublime 中,为什么 def run 在一种情况下工作而不在另一种情况下工作,我怎样才能让它工作?

python - 导入错误: No module named 'selenium' in Sublime text plugin

encryption - 如何在 Sublime Text 中保存文件之前获取用户输入