Tombol pintas untuk menampilkan file dan folder tersembunyi di dialog Buka File?

262

Pertanyaan ini sangat mirip dengan Apakah mungkin untuk selalu menampilkan hidden / dotfiles di dialog Open / Save? . Bagaimana cara menunjukkan file dan folder tersembunyi di finder? juga terkait. Namun, saya tidak ingin selalu menunjukkannya kepada mereka, dan itulah yang defaults write ... AppleShowAllFiles ...terjadi.

Sebaliknya, saya ingin mengaktifkannya saat dibutuhkan. Saya mencoba untuk membuka .bash_profile, jadi saya membutuhkannya sekarang:

masukkan deskripsi gambar di sini

Linux dan Gnome memungkinkan kita untuk CTRL+ Hberalih antara menampilkan dan menyembunyikan file yang tersembunyi. Tetapi hotkey Gnome tidak berfungsi pada OS X (yang diharapkan).

Untuk kelengkapan, .bash_profileada di direktori home:

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

Sebuah pertanyaan terkait ... Seperti dapat dilihat di atas, mengetikkan nama file di Finder (atau apakah itu Spotlight) pencarian tidak berfungsi. Saya mencoba mengklik kanan untuk mendapatkan menu konteks dalam dialog Buka File dengan harapan menandai kotak seperti "tampilkan semua file". Dan saya mencoba menu View mencari "tampilkan semua file" dengan dialog File Open terbuka.

Mengapa ini disembunyikan di suatu tempat? Apa tujuannya untuk tidak memungkinkan pengguna dengan mudah membuka file?

Komunitas
sumber

Jawaban:

452

⌘ CMD+ ⇧ SHIFT+ .mengungkapkan file tersembunyi di dialog Finder dan Open / Save.

Jika Anda menggunakan keyboard AZERTY, Anda harus menekan fnjuga, jadi ⇧ SHIFTpertimbangkan karena Anda sudah membutuhkannya untuk membuatnya ..


Anda juga dapat menekan ⌘ CMD+ ⇧ SHIFT+ Gdan mengetik lintasan ke folder tersembunyi, seperti di Terminal ( ⇥ TABpelengkapan otomatis juga berfungsi).

Mengedit file tersembunyi bisa berbahaya jika Anda tidak tahu apa yang Anda lakukan.

Mateusz Szlosek
sumber
7
Bekerja untuk saya dalam tampilan Kolom jika saya mengubah jalur - pergi ke drive & kembali lagi, dll. - atau ubah tampilan, menjadi ikon & kembali.
Tetsujin
10
Pintasan keyboard "cmd + shift +." tampaknya bekerja pada skala yang lebih luas di Finder di Sierra (bukan hanya dialog Open / Save), dalam beberapa tampilan juga.
Niall
4
Wow, tidak percaya ada jalan pintas untuk ini, betapa anehnya spesifik. Terima kasih!
Yehezkiel Victor
1
@MateuszSzlosek, Sepertinya tidak bekerja untuk saya. cmdshiftG tidak dapat memilih file yang disembunyikan, kecuali jika saya pertama kali melakukan cmdshiftdot. Itu bekerja untukmu?
Pacerier
2
Ah, aku mengerti maksudmu. Jadi Ya CMD + SHIFT + G tidak akan memilih file tersembunyi kecuali Anda mengungkapkannya menggunakan CMD + SHIFT +. Tetapi Anda masih dapat menavigasi ke folder tersembunyi menggunakan CMD + SHIFT + G tanpa mengungkapkannya. Poin bagus!
Mateusz Szlosek
23

Mateusz Szlosek membahas bagian pertama. Di bawah ini adalah bagaimana saya menangani bagian kedua untuk saya gunakan sendiri.

Dengan tergesa-gesa memposting jawaban saya, saya tidak menyadari bagian kedua sudah dijawab. Lihat Cara mengatur ⌘ + H untuk mengaktifkan tampilkan file yang disembunyikan . Apa yang saya tawarkan di bawah berbeda dengan dialog yang memberi tahu Anda tentang status saat ini.

Saya membuat layanan menggunakan aplikasi Automator. Ketika saya ingin beralih tampilan file tersembunyi, saya pilih "Toggle Hidden Files" dari submenu layanan Finder seperti yang ditunjukkan di bawah ini. (Petunjuk: Klik gambar untuk tampilan yang lebih baik.)

Ini akan menyebabkan sembulan yang ditunjukkan di bawah ini muncul.

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Langkah-langkah untuk membuat layanan diberikan di bawah ini.

  1. Buka Automator, pilih dokumen jenis Layanan baru.
  2. Seret tindakan "Run Shell Script" ke panel alur kerja.
  3. Edit isinya untuk muncul seperti yang ditunjukkan di bawah ini. (Petunjuk: Klik gambar untuk tampilan yang lebih baik.)

    Teks untuk skrip diulangi di bawah ini.

    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. Simpan (atau pindahkan) Toggle Hidden Files.workflowfile ke ~/Library/Servicesfolder.
  5. Anda mungkin perlu meluncurkan kembali aplikasi Finder agar layanan dapat muncul di menu.

Perbarui 1

Membangun dari jawaban Mateusz Szlosek, saya melihat cara pintas keyboard ⌘ CMD+ ⇧ SHIFT+ .dapat ditambahkan untuk layanan saya. Buka System Preferences dan klik pada ikon Keyboard. Pilih "Layanan" lalu "Toggle Hidden Files" di bawah tajuk "General". Ganti "tidak ada" dengan ⌘ CMD+ ⇧ SHIFT+ .pintasan keyboard.

David Anderson
sumber
Saya melakukan persis seperti yang Anda katakan (ada file di folder ~ / Library / Services saya), tetapi tidak berhasil bahkan setelah restart komputer.
Walter
@Walter: Saya telah menambahkan Toggle Hidden Files.workflowke Sourceforge.net. Lihat situs: Toggle Hidden Files . Anda dapat mengunduh alur kerja dari sana. Instruksi untuk instalasi juga ditampilkan di situs ini.
David Anderson
Mengapa mengubah pintasan kunci bawaan, yang berfungsi di dialog File, ke Layanan, yang tidak, dan yang keluar dari Finder? (Keluar dari Finder dapat menyebabkan jendela foreground Finder ditutup.)
benwiggy
3

PENOLAKAN / PERINGATAN

File tersembunyi biasanya disembunyikan karena suatu alasan. Gunakan skrip di bawah ini hanya jika Anda cukup yakin tahu apa yang Anda lakukan. Dengan kata lain: Jika Anda merusak sistem Anda dengan menghapus file tersembunyi secara acak, itu adalah kesalahan Anda sendiri.


Berikut ini skrip yang saya gunakan untuk beralih menampilkan / tidak menampilkan file tersembunyi di dalam Finder .

(Pintasan asli OSX untuk beralih file yang tersembunyi di dialog Buka / Simpan telah disebutkan oleh Mateusz Szlosek di atas)

Perbedaan antara skrip saya dan yang lain yang pernah saya lihat sejauh ini:

Kebanyakan skrip tidak melakukan hal lain setelah membunuh Finder. Biasanya, ini berarti Anda harus menavigasi kembali ke folder tempat Anda semula, karena peluncuran Finder otomatis tidak dapat diandalkan membuka folder terakhir yang aktif.

Skrip di bawah ini sebagai gantinya membuka kembali, dan berfokus pada, folder aktif terakhir Anda, yaitu folder tempat Anda berada saat menggunakan sakelar, tetapi sekarang menampilkan (atau tidak menampilkan) file tersembunyi.

Saya menetapkan cara pintas untuk itu (cmd + shift +.) Dan menemukan bekerja dengan file tersembunyi di Finder jauh lebih nyaman sekarang.

Penghargaan untuk Tetsujin yang memposting skrip di situs ini beberapa waktu lalu yang saya adaptasi untuk menambahkan fungsionalitas 'buka kembali folder terakhir'.

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

Untuk menggunakan skrip: Buka alur kerja baru di Automator, seret "Jalankan AppleScript", salin & tempel kode di atas, dan simpan di dalam folder layanan Anda (biasanya, ~ / Library / Services /, afaik).

Melampirkan pintasan untuk menjalankan skrip harus dicakup di tempat lain di situs ini. Saya membatasi cakupan pintasan saya ke Finder saja.


Komentar gaya:

Saya harus menggunakan sedikit peretasan yang jelek, menggunakan 'tidur' setelah membunuh Finder, sebelum secara manual membuka folder asli.

Jika saya tidak memaksakan penundaan ini, ada kemungkinan OSX meluncurkan Finder sudah dan membuka folder (belum tentu yang aktif terakhir, dalam pengalaman saya). Bersama-sama dengan perintah 'terbuka' saya sendiri, ini dapat menyebabkan efek buruk dari dua proses Finder (tidak terukur, bahkan) berjalan, dan Finder tidak berfungsi sama sekali. Jika ini terjadi, logout dan kembali lagi memperbaikinya, tapi itu buang-buang waktu jelas, jadi saya menggunakan 'tidur'.

Nilai tidur 0,5s berfungsi untuk saya, tetapi untuk berada di sisi yang aman, Anda dapat sedikit meningkatkannya (menambahkan penundaan yang lebih nyata untuk proses itu).

Jika seseorang mengetahui cara untuk menekan peluncuran kembali Finder dan membuka beberapa jendela yang tidak dapat diandalkan setelah mengirim sinyal killall - atau cara lain untuk menghilangkan hack 'sleep' - saya akan senang mendengarnya!

Bert Zangle
sumber