Comment obtenir (facilement) le chemin du fichier actuel dans Sublime Text 3

120

Comment obtenir (facilement) le chemin du fichier actuel dans Sublime Text 3

Je n'utilise pas souvent la console ST ( je ne l'ai utilisée qu'une seule fois pour installer le gestionnaire de paquets ), mais je suppose que cela pourrait être un bon moyen de:

  • obtenir le chemin du fichier courant comme une commande type pwd .
  • Mais ça ne marche pas.

Quelqu'un connaît-il un moyen facile d'obtenir le chemin du fichier actuel?

  • au presse-papiers: mieux vaut pas un objectif strict dans la réponse
  • pas nécessaire par commande ST, peut-être package?
MacKentoch
la source
2
Juste si vous êtes curieux, dans la console, vous obtenez le chemin en utilisant view.file_name()et vous le copiez dans le presse-papiers en utilisantsublime.set_clipboard(view.file_name())
sergioFC
Si vous voulez voir le chemin, passez simplement votre souris sur l'onglet et une info-bulle avec le chemin apparaîtra.
becko

Réponses:

229

Faites un clic droit quelque part dans le fichier (pas sur l'onglet titre) -> Copier le chemin du fichier

Si vous ne souhaitez pas utiliser la souris, vous pouvez configurer un raccourci clavier comme expliqué ici /superuser/636057/how-to-set-shortcut-for-copy-file-path-in -sublime-texte-3

Railslide
la source
1
Fonctionne également dans sublime text 2. Si génial, mais si simple
beautifulcoder
1
Les images faisant un clic droit ne semblent pas fonctionner: /
août
2
Le mot-clé @aug étant 'texte' dans le nom Sublime Text.
Mike Kormendy
4
été ici avant ... putain je continue de cliquer sur l'onglet titre pour l'obtenir
zok
3
dommage que ce ne soit pas possible sur l'onglet, il faut changer d'onglet avant de faire ça, parfois c'est un peu ennuyeux
Rafiki
21

Pour copier facilement le chemin du fichier actuel, ajoutez ce qui suit à Key Bindings - User:

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

La source

Key Bindings - Userpeut être ouvert via la palette de commandes ( command + psous OSX)

cheshireoctopus
la source
3
Comment savez-vous que copy_pathc'est la bonne commande? Comment savons-nous ce qui est disponible? Y a-t-il des documents qui me manquent?
cyber8200
2
@ihue - bonne question; n'a pas été en mesure de localiser copy_pathdans les documents; si vous consultez la source que j'ai fournie ci-dessus, cet utilisateur a activé la journalisation des commandes via sublime.log_commands(True).
cheshireoctopus
13

Facile à comprendre en utilisant l'image. Sur clic droit, vous obtiendrez ceci.

entrez la description de l'image ici

Code transcrit dans l'image pour plus de commodité:

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
Suyash Kumar Bharti
la source
4

Mac OS X - Sublime Text 3

Cliquez avec le bouton droit sur >Copier le chemin du fichier

entrez la description de l'image ici

cyber8200
la source
2

Il existe un package Sublime qui donne l'emplacement actuel de votre fichier dans une barre d'état. Je viens de les cloner directement dans mon dossier / sublime-text-3 / Packages.

git clone [email protected]:shagabutdinov/sublime-shell-status.git ShellStatus;

git clone [email protected]:shagabutdinov/sublime-status-message.git StatusMessage;

Vous devez vérifier / lire la description sur GitHub. Même s'il est répertorié dans le contrôle des paquets, il ne s'installerait pas correctement pour moi. Vous pouvez en fait éditer la sortie du shell comme vous le souhaitez. Si vous avez les bonnes compétences avec python / shell.

Ressemble à ceci (Thème matériel) entrez la description de l'image ici

TecBeast
la source
2

Si vous êtes comme moi et que vous cliquez toujours sur des éléments dans la barre latérale juste pour vous rendre compte que la copie du chemin ne fonctionne que lorsque vous cliquez dans la zone de l'éditeur, jetez un œil au package SideBarEnhancements . Il dispose d'un grand nombre d'options pour copier les chemins de fichiers de différentes manières.

L'installation est disponible via Package Control (bien que la page Web ne mentionne que l'installation par téléchargement manuel).

Remarque: Le package «envoie des statistiques de base anonymes» . La page Web explique comment vous en désinscrire.

SublimeSideBarAméliorationsCapture d'écran

qqilihq
la source
1

Allez sur ce lien . Le code dans le lien est donné par robertcollier4 .

Créez un fichier nommé CpoyFileName.pyou ce que vous voulez avec l'extension .py.

Enregistrez le fichier dans le Sublime Text 3\Packages\Userdossier. Collez ensuite les raccourcis clavier ci-dessus dans votre Preferences: Key Bindingsfichier.

Maintenant, vous pouvez utiliser les raccourcis clavier spécifiés pour copier uniquement le nom de fichier ou le chemin de fichier total (absolu).

Veuillez noter que le nom de fichier ou le chemin de fichier contient une extension de fichier.

bantya
la source
0

Beaucoup de ces réponses impliquent de toucher la souris. Voici comment obtenir le chemin sans aucun clic de souris à l'aide de SideBar

  1. Installez SideBarEnhancements à l'aide de PackageControl.
  2. Cliquez super + shift + P pour ouvrir la palette de commandes
  3. Dans la palette de commandes, commencez à taper pathjusqu'à ce que vous voyiezFile: Copy Path
  4. Sélectionner File: Copy Path

Le chemin du fichier dans lequel vous travaillez est maintenant copié dans votre presse-papiers.

Aaron Dall
la source