Jak (łatwo) uzyskać aktualną ścieżkę do pliku w Sublime Text 3


120

Jak (łatwo) uzyskać aktualną ścieżkę do pliku w Sublime Text 3

Nieczęsto używam konsoli ST ( użyłem jej tylko raz do zainstalowania menedżera pakietów ), ale przypuszczam, że może to być dobry sposób na:

  • pobierz aktualną ścieżkę do pliku, jak jakieś polecenie pwd .
  • Ale to nie działa.

Czy ktoś zna łatwy sposób na uzyskanie aktualnej ścieżki do pliku?

  • do schowka: lepiej, żeby nie było w odpowiedzi ścisłego celu
  • niepotrzebne komendą ST, może pakiet?

2
Jeśli jesteś ciekawy, w konsoli otrzymujesz ścieżkę za pomocą view.file_name()i kopiujesz ją do schowka za pomocąsublime.set_clipboard(view.file_name())
sergioFC

Jeśli chcesz zobaczyć ścieżkę, po prostu najedź myszą na kartę, a pojawi się etykietka ze ścieżką.
becko

Odpowiedzi:


229

Kliknij prawym przyciskiem myszy gdzieś w pliku (nie na karcie tytułu) -> Kopiuj ścieżkę do pliku

Jeśli nie chcesz używać myszy, możesz ustawić skrót klawiaturowy, jak wyjaśniono tutaj /superuser/636057/how-to-set-shortcut-for-copy-file-path-in -sublime-text-3


1
Działa również w wysublimowanym tekście 2. Niesamowite, ale takie proste
beautifulcoder

1
Jednak obrazy po kliknięciu prawym przyciskiem myszy nie działają: /
sierpień

2
Słowo kluczowe @aug to „tekst” w nazwie Sublime Text.
Mike Kormendy

4
byłem tu wcześniej ... cholera, ciągle
klikam

3
szkoda, że ​​nie jest to możliwe na karcie, musisz przełączyć kartę zanim to zrobisz, czasami jest to trochę denerwujące
Rafiki

21

Aby łatwo skopiować bieżącą ścieżkę pliku, dodaj następujące elementy do Key Bindings - User:

{ "keys": ["ctrl+alt+c"], "command": "copy_path" },

Źródło

Key Bindings - Usermożna otworzyć za pomocą palety poleceń ( command + pna OSX)


3
Skąd wiesz, że copy_pathto właściwe polecenie? Skąd wiemy, co jest dostępne? Czy są jakieś dokumenty, za którymi tęsknię?
cyber8200

2
@ihue - dobre pytanie; nie był w stanie zlokalizować copy_pathw dokumentacji; jeśli sprawdzisz źródło, które podałem powyżej, ten użytkownik włączył logowanie poleceń przez sublime.log_commands(True).
cheshireoctopus

13

Łatwe do zrozumienia za pomocą obrazu. Otrzymasz to po kliknięciu prawym przyciskiem myszy.

wprowadź opis obrazu tutaj

Przepisany kod na obrazie dla wygody:

import sublime, sublime_plugin, os

class CopyFilenameCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        if len(self.view.file_name()) > 0:
            filename = os.path.split(self.view.file_name())[1]
            sublime.set_clipboard(filename)
            sublime.status_message("Copied file name: %s" % filename)

    def is_enabled(self):
        return self.view.file_name()...  # can't see

4

Mac OS X - Sublime Text 3

Kliknij prawym przyciskiem myszy >Kopiuj ścieżkę pliku

wprowadź opis obrazu tutaj


2

Istnieje pakiet Sublime, który podaje bieżącą lokalizację pliku na pasku stanu. Po prostu sklonowałem je bezpośrednio do folderu / sublime-text-3 / Packages.

git clone git@github.com:shagabutdinov/sublime-shell-status.git ShellStatus;

git clone git@github.com:shagabutdinov/sublime-status-message.git StatusMessage;

Musisz sprawdzić / przeczytać opis na GitHubie. Nawet jeśli jest wymieniony w kontroli pakietów, nie zainstalowałby się poprawnie. Możesz faktycznie edytować dane wyjściowe powłoki, jak chcesz. Jeśli masz odpowiednie umiejętności z Python / Shell.

Wygląda na to (motyw materiału) wprowadź opis obrazu tutaj


2

Jeśli jesteś podobny do mnie i zawsze klikasz elementy na pasku bocznym, aby zdać sobie sprawę, że kopiowanie ścieżki działa tylko po kliknięciu w obszarze edytora, spójrz na pakiet SideBarEnhancements . Ma ogromną liczbę opcji kopiowania ścieżek plików na wiele różnych sposobów.

Instalacja jest dostępna przez kontrolę pakietów (mimo że strona internetowa wspomina tylko o instalacji poprzez ręczne pobieranie).

Uwaga: Pakiet „wysyła podstawowe, anonimowe statystyki” . Strona internetowa wyjaśnia, jak z tego zrezygnować.

SublimeSideBarEnhancementsScreenshot


1

Przejdź do tego linku . Kod w linku podaje robertcollier4 .

Utwórz plik o nazwie CpoyFileName.pylub czymkolwiek chcesz, z rozszerzeniem .py.

Zapisz plik w Sublime Text 3\Packages\Userfolderze. Następnie wklej powyższe przypisania klawiszy do swojego Preferences: Key Bindingspliku.

Teraz możesz użyć określonych powiązań klawiszy, aby skopiować samą nazwę pliku lub całkowitą (bezwzględną) ścieżkę do pliku.

Należy pamiętać, że nazwa pliku lub ścieżka pliku zawierają rozszerzenie pliku.


0

Wiele z tych odpowiedzi wymaga dotykania myszy. Oto jak uzyskać ścieżkę bez kliknięć myszą za pomocą SideBarEnhancements

  1. Zainstaluj SideBarEnhancements przy użyciu PackageControl.
  2. Kliknij super + shift + P, aby otworzyć paletę poleceń
  3. W palecie poleceń zacznij pisać, pathaż zobaczyszFile: Copy Path
  4. Wybierz File: Copy Path

Teraz ścieżka do pliku, w którym pracujesz, jest kopiowana do schowka.

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.