重命名崇高文本2中的打开文件


13

我正在尝试使用崇高的文本2重命名打开的文件。在版本2.0.1 Build 2217中,可以通过按f2opening the command palette by pressing Ctrl + Shift + P 来重命名and entering rename。但是,在最新版本的Sublime Text 2(即2.0.2 Build 2221)中,当您尝试执行相同的操作时,什么也不会发生。我还在用户密钥绑定文件中输入了以下命令,但是仍然没有任何反应。

{“ keys”:[“ f2”],“ command”:“ rename_path”,“ args”:{“ paths”:[]}}

这在Windows和Linux上均会发生。我已经在没有插件的Sublime Text 2的全新副本上尝试过此操作。


3
有什么线索为什么删除了此功能?
user2418306 '16

Answers:


7

复制到您的用户键盘映射

{ "keys": ["shift+f2"], "command": "rename_file", "args": { "paths": ["$file"] } }

Packages文件夹中创建目录/文件:“ ... Packages / RenameFile / rename_file.py”

import sublime
import sublime_plugin
import os
import functools


class RenameFileCommand(sublime_plugin.WindowCommand):
    def run(self, paths):
        if paths[0] == "$file":
            paths[0] = self.window.active_view().file_name()
        branch, leaf = os.path.split(paths[0])
        v = self.window.show_input_panel("New Name:", leaf, functools.partial(self.on_done, paths[0], branch), None, None)
        name, ext = os.path.splitext(leaf)

        v.sel().clear()
        v.sel().add(sublime.Region(0, len(name)))

    def on_done(self, old, branch, leaf):
        new = os.path.join(branch, leaf)

        try:
            os.rename(old, new)

            v = self.window.find_open_file(old)
            if v:
                v.retarget(new)
        except:
            sublime.status_message("Unable to rename")

    def is_visible(self, paths):
        return len(paths) == 1

这也没有区别。
Ishan

抱歉,忘记了插件。
d_rail 2013年

伟大的作品。但是,在命令面板中键入“ 文件:重命名”旁边时,键盘快捷键不会显示。在最新版本的sublime文本中是否删除了此功能,因为它在先前版本(2.0.2 Build 2221)中不需要任何插件。
伊桑(Ishan)2013年

这不是Sublime Text功能。我在某个地方找到了一个简单的插件。我不确定您之前使用过什么来重命名文件,但似乎您已将其卸载或损坏。
d_rail 2014年

很好的工作!
mahatmanich 2014年


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.