Zmiana nazw otwartych plików w wysublimowanym tekście 2


13

Próbuję zmienić nazwę otwarte pliki w Sublime Text 2. W wersji 2.0.1 budowy 2217 , można zmienić nazwę naciskając f2lub opening the command palette by pressing Ctrl + Shift + P and entering rename . Jednak w najnowszej wersji wysublimowanego tekstu 2, jakim jest 2.0.2, kompilacja 2221, gdy próbujesz zrobić to samo, nic się nie dzieje. Wprowadziłem również następujące polecenie w pliku powiązania klucza użytkownika, ale znowu nic się nie dzieje.

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

Dzieje się tak w systemie Windows i Linux. Próbowałem tego na świeżej kopii Sublime Text 2 bez wtyczek.


3
Wszelkie wskazówki, dlaczego ta funkcja została usunięta?
user2418306

Odpowiedzi:


7

Skopiuj do mapy klawiszy użytkownika

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

Utwórz katalog / plik w folderze 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

To też nie ma znaczenia.
Ishan,

Przepraszamy, zapomniałem wtyczki.
d_rail

Świetne dzieła. Jednak skróty klawiaturowe nie są wyświetlane obok opcji Plik: Zmień nazwę po wpisaniu go w palecie poleceń. Czy ta funkcja została usunięta w najnowszej wersji wysublimowanego tekstu, ponieważ nie wymagała żadnych wtyczek w poprzednich wersjach ( 2.0.2 kompilacja 2221 ).
Ishan,

To nie jest funkcja Sublime Text. To prosta wtyczka, którą gdzieś znalazłem. Nie jestem pewien, czego użyłeś wcześniej do zmiany nazw plików, ale wygląda na to, że odinstalowałeś go lub jest uszkodzony.
d_rail

świetnie, że zadziałało!
mahatmanich


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.