Touche de raccourci pour afficher les fichiers et dossiers cachés dans la boîte de dialogue Ouvrir fichier?

262

Cette question est très similaire à Est-il possible de toujours afficher les fichiers cachés / points dans les boîtes de dialogue Ouvrir / Enregistrer? . Comment afficher les fichiers et dossiers cachés dans le Finder? est également liée. Cependant, je ne veux pas toujours leur montrer, et c'est ce qui se defaults write ... AppleShowAllFiles ...passe.

Au contraire, je veux l'allumer quand cela est nécessaire. J'essaie d'ouvrir .bash_profile, alors j'en ai besoin maintenant:

entrez la description de l'image ici

Linux et Gnome nous permettent CTRL+ Hde basculer entre l'affichage et le masquage des fichiers cachés. Mais les raccourcis clavier Gnome ne fonctionnent pas sous OS X (ce qui est prévu).

Pour être complet, .bash_profileexiste dans le répertoire de base:

$ ls ~/.bash_profile 
/Users/jww/.bash_profile

Une question connexe ... Comme on peut le voir ci-dessus, la saisie du nom de fichier dans la recherche du Finder (ou de Spotlight) ne fonctionnait pas. J'ai essayé de cliquer avec le bouton droit de la souris pour obtenir un menu contextuel dans la boîte de dialogue Ouvrir un fichier dans l'espoir de cocher la case "Afficher tous les fichiers". Et j'ai essayé le menu Affichage à la recherche d'un "afficher tous les fichiers" avec la boîte de dialogue Ouvrir un fichier ouverte.

Pourquoi est-ce caché quelque part? Que sert-il à ne pas permettre à un utilisateur d'ouvrir facilement un fichier?

Communauté
la source

Réponses:

452

⌘ CMD+ ⇧ SHIFT+ .révèle les fichiers cachés dans les boîtes de dialogue Finder et Open / Save.

Si vous utilisez un clavier AZERTY, vous devrez fnégalement appuyer sur pour le ⇧ SHIFTprendre en compte, car vous en avez déjà besoin ..


Vous pouvez également appuyer sur ⌘ CMD+ ⇧ SHIFT+ Get taper le chemin d'accès au dossier caché, comme dans Terminal (l' ⇥ TABauto-complétion fonctionne également).

Éditer des fichiers cachés peut être dangereux si vous ne savez pas ce que vous faites.

Mateusz Szlosek
la source
7
Fonctionne pour moi dans la vue Colonne si je change de chemin - retourne à un autre lecteur, etc. - ou change de vue, en icône & retour.
Tetsujin
10
Le raccourci clavier "cmd + shift +". semble fonctionner à une plus grande échelle dans le Finder dans Sierra (pas seulement dans les boîtes de dialogue Ouvrir / Enregistrer), ainsi que dans plusieurs vues.
Niall
4
Wow, je ne peux pas croire qu'il existe un raccourci pour cela, curieusement spécifique. Merci!
Ezekiel Victor
1
@MateuszSzlosek, Ne semble pas fonctionner pour moi. cmdshiftG ne peut pas sélectionner le fichier caché, à moins que je ne fasse d'abord un cmdshiftdot. Ça marche pour toi?
Pacerier
2
Ah je comprends ce que tu veux dire. Donc, Oui, CMD + SHIFT + G ne sélectionnera pas le fichier caché à moins que vous ne les révéliez à l'aide de CMD + SHIFT +. Mais vous pouvez toujours naviguer vers les dossiers cachés en utilisant CMD + SHIFT + G sans les révéler. Bon point!
Mateusz Szlosek
23

Mateusz Szlosek a couvert la première partie. Voici comment j'ai géré la deuxième partie pour mon propre usage.

Dans mon empressement à poster ma réponse, je n'ai pas réalisé que la deuxième partie avait déjà été répondue. Voir Comment régler ⌘ + H pour activer l’affichage des fichiers cachés . Ce que j'offre ci-dessous diffère par un dialogue vous informant de l'état actuel.

J'ai créé un service à l'aide de l'application Automator. Lorsque je souhaite basculer l'affichage des fichiers cachés, je sélectionne "Basculer les fichiers cachés" dans le sous-menu Services du Finder, comme indiqué ci-dessous. (Indice: Cliquez sur l'image pour une meilleure vue.)

Cela provoquera l’apparition de la pop ci-dessous.

entrez la description de l'image ici

entrez la description de l'image ici

Les étapes pour créer le service sont décrites ci-dessous.

  1. Ouvrez l’Automator, sélectionnez un nouveau document de type Service.
  2. Faites glisser l'action "Run Shell Script" dans le volet de workflow.
  3. Modifiez les contenus pour qu’ils apparaissent comme indiqué ci-dessous. (Indice: Cliquez sur l'image pour une meilleure vue.)

    Le texte du script est répété ci-dessous.

    STATUS=`defaults read com.apple.finder AppleShowAllFiles 2>/dev/null`
    if [ "$STATUS" == TRUE ]; then
        STATUS=`osascript -e 'tell app "Finder" to display alert "Finder is showing hidden files." buttons {"Cancel", "Hide"}'`
    else
        STATUS=`osascript -e 'tell app "Finder" to display alert "Finder is not showing hidden files." buttons {"Cancel", "Show"}'`
    fi
    if [ "$STATUS" == "button returned:Show" ]; then
        defaults write com.apple.finder AppleShowAllFiles TRUE
        killall Finder
    elif [ "$STATUS" == "button returned:Hide" ]; then
        defaults write com.apple.finder AppleShowAllFiles FALSE
        killall Finder
    fi
    
  4. Enregistrez (ou déplacez) le Toggle Hidden Files.workflowfichier dans le ~/Library/Servicesdossier.
  5. Vous devrez peut-être relancer l'application Finder pour que le service apparaisse dans un menu.

Mise à jour 1

S'appuyant sur la réponse de Mateusz Szlosek, je vois le raccourci clavier ⌘ CMD+ ⇧ SHIFT+ .pourrait être ajouté pour mon service. Allez dans les Préférences Système et cliquez sur l’icône Clavier. Sélectionnez "Services" puis "Basculer les fichiers cachés" sous "Général". Remplacez "none" par le raccourci clavier ⌘ CMD+ ⇧ SHIFT+ ..

David Anderson
la source
J'ai fait exactement ce que vous avez dit (il y a un fichier dans mon dossier ~ / Bibliothèque / Services), mais en vain, même après le redémarrage de l'ordinateur.
Walter
@Walter: j'ai ajouté le Toggle Hidden Files.workflowà Sourceforge.net. Voir le site: Basculer les fichiers cachés . Vous pouvez télécharger le flux de travail à partir de là. Les instructions d'installation sont également affichées sur ce site.
David Anderson
Pourquoi changer le raccourci de clé intégré, qui fonctionne dans les boîtes de dialogue Fichier, en un service, ce qui ne fonctionne pas et qui quitte le Finder? (
Si vous quittez
3

AVERTISSEMENT / AVERTISSEMENT

Les fichiers cachés sont généralement cachés pour une raison. Utilisez le script ci-dessous uniquement si vous êtes raisonnablement sûr de savoir ce que vous faites. En d'autres termes: si vous cassez votre système en supprimant au hasard des fichiers cachés, c'est de votre faute.


Voici le script que j'utilise pour afficher / ne pas afficher les fichiers cachés dans le Finder .

(Le raccourci natif OSX pour basculer les fichiers cachés dans les dialogues Ouvrir / Enregistrer a déjà été mentionné par Mateusz Szlosek)

La différence entre mon script et ceux que j'ai vus jusqu'à présent:

La plupart des scripts ne font rien après avoir tué Finder. Cela signifie généralement que vous devez revenir au dossier dans lequel vous vous trouviez initialement, car le relancement automatique du Finder n'ouvre pas de manière fiable votre dernier dossier actif.

Le script ci-dessous rouvre à la place et se concentre sur votre dernier dossier actif, c’est-à-dire le dossier dans lequel vous étiez lorsque vous utilisiez la bascule, mais affichant maintenant (ou ne montrant pas) les fichiers cachés.

Je lui ai assigné un raccourci (cmd + shift +.) Et trouve que travailler avec des fichiers cachés dans le Finder est beaucoup plus pratique maintenant.

Nous remercions Tetsujin, qui a posté un script sur ce site il y a quelque temps, que j'ai adapté pour ajouter la fonctionnalité "rouvrir le dernier dossier".

on run {input, parameters}
    tell application "Finder"
        set var1 to POSIX path of (target of window 1 as alias)
    end tell
    set newHiddenVisiblesState to "YES"
    set oldHiddenVisiblesState to do shell script "defaults read com.apple.finder AppleShowAllFiles"
    if oldHiddenVisiblesState is in {"1", "YES"} then
        set newHiddenVisiblesState to "NO"
    end if
    do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenVisiblesState
    ---- Sleep hack mentioned below. 0.5s minimum, 1-2s safer. Ugly, but (probably) unavoidable.
    do shell script "killall Finder; sleep 0.5s"
    tell application "Finder"
        ---- Close other windows if Finder managed to relaunch already
        if application "Finder" is running then
            close every window
        end if
        open (var1 as POSIX file)
        activate
    end tell
end run

Pour utiliser le script: Ouvrez un nouveau flux de travail dans Automator, faites glisser "Exécuter AppleScript", copiez et collez le code ci-dessus et enregistrez-le dans votre dossier de services (généralement, ~ / Library / Services /, toujours).

Joindre un raccourci pour exécuter un script devrait être traité ailleurs sur ce site. J'ai limité la portée de mon raccourci au Finder uniquement.


Remarque de style:

Je dois recourir à un peu de vilain piratage, en utilisant 'sommeil' après avoir tué Finder, avant d'ouvrir manuellement le dossier original.

Si je ne force pas ce délai, il est possible que OSX relance déjà le Finder et ouvre un dossier (pas nécessairement le dernier actif, selon mon expérience). Avec ma propre commande 'open', cela peut avoir l’effet désastreux de deux processus de Finder (inapplicables, même) en cours d’exécution, qui ne fonctionnent plus du tout. Si cela se produit, il est préférable de se déconnecter puis de se reconnecter, mais comme c'est une perte de temps, il est évident que j'utilise «sommeil».

Une valeur de sommeil de 0,5 seconde me convient, mais pour être sûr, vous pouvez l'augmenter légèrement (en ajoutant alors un délai plus perceptible au processus).

Si quelqu'un connaît un moyen de supprimer la relance du Finder et d'ouvrir de manière peu fiable une fenêtre après l'envoi du signal killall - ou un autre moyen de se débarrasser du piratage 'sommeil' - je serais heureux de l'entendre!

Bert Zangle
la source