Terminal: Terminal Windows: Buka terminal di folder saat ini melalui satu perintah

Dibuat pada 9 Mei 2019  ·  43Komentar  ·  Sumber: microsoft/terminal

Saat ini saya dapat membuka cmd dan powershell di folder saat ini dengan mengetikkan cmd atau powershell di bilah alamat explorer (yang terbuka melalui CTRL+D, jadi sangat rapi dan cepat).

Akan sangat bagus jika ini juga dimungkinkan dengan Terminal Windows baru. Tetapi karena ini adalah aplikasi Windows Store, saya tidak dapat menemukan cara mudah untuk menambahkannya ke PATH. Itu juga tidak menghormati folder saat ini saat dibuka. Itu selalu dimulai di folder default ( C:\WINDOWS\system32 untuk cmd dan ~ untuk Ubuntu).

Akan sangat bagus jika ini mungkin:

  • Memungkinkan untuk menambahkan Terminal Windows ke PATH.
  • Buka baris perintah di folder saat ini di Terminal Windows.

Alangkah baiknya juga jika bisa dibuka dengan perintah singkat.
Eksekusi saat ini disebut WindowsTerminal . Akan lebih baik jika kita cukup mengetikkan sesuatu seperti term .

Resolution-Answered

Komentar yang paling membantu

Pada v0.5, itu sebenarnya tidak akan berfungsi lagi. Anda harus mengatur "startingDirectory": null agar ini benar-benar berfungsi. Perbaikan itu mundur secara tidak sengaja di #2515.

Semua 43 komentar

Apa yang terjadi jika Anda menggunakan wt.exe ?

https://github.com/microsoft/Terminal/blob/af7316c130059ba15fe16ff0d13608d956a2b449/src/cascadia/CascadiaPackage/Package.appxmanifest#L51

Alias ​​​​seharusnya sudah meluncurkan WindowsTerminal, tetapi saya tidak yakin apakah itu diluncurkan di jalur yang Anda tentukan

@joandrsn Ini bagus, saya tidak tahu. Terima kasih.

@joandrsn Terima kasih! Bahkan diluncurkan di direktori saat ini!

Bagaimana Anda melewati jalur direktori ke wt.exe. Sesuatu seperti ini:

wt.exe "C:\GitHub"

Mencoba tetapi Selalu terbuka di folder Default untuk CMD dan PowerShell.

Saya dapat membuka shell WSL Ubuntu di folder saat ini dengan ubuntu run . tapi wt selalu terbuka di folder default

Hapus startingDirectory dari profiles.json Anda.

Halo @DHowett-MSFT,
apakah ada cara untuk meminta Windows Terminal membuka tab baru di folder yang sama dengan tab saat ini? Saya ingin perilaku yang sama seperti yang ada di Mac OS X : https://Apple.stackexchange.com/questions/178017/how-do-i-open-a-new-terminal-window-for-same-directory -sebagai-jendela-saat ini.
Terima kasih sebelumnya!

Hapus startingDirectory dari profiles.json Anda.

@ DHowett-MSFT, ini tidak berfungsi di versi terbaru 0.5.2661.0 :(

Hapus startingDirectory dari profiles.json Anda.

Bagi saya, itu tidak berhasil :(

Pada v0.5, itu sebenarnya tidak akan berfungsi lagi. Anda harus mengatur "startingDirectory": null agar ini benar-benar berfungsi. Perbaikan itu mundur secara tidak sengaja di #2515.

Saya juga ingin membuka tab baru di direktori saat ini

Pada v0.5, itu sebenarnya tidak akan berfungsi lagi. Anda harus mengatur "startingDirectory": null agar ini benar-benar berfungsi. Perbaikan itu mundur secara tidak sengaja di #2515.

@zadjii-msft , ini tidak berfungsi di v0.5.2681.0

Pada v0.5, itu sebenarnya tidak akan berfungsi lagi. Anda harus mengatur "startingDirectory": null agar ini benar-benar berfungsi. Perbaikan itu mundur secara tidak sengaja di #2515.

Tidak bekerja dengan 0.5.2762.0 baik..
Saya telah mencoba menghapus nilai, mengatur ke nol.. keduanya tidak mengubah apa pun..

Untuk lebih jelasnya, _menghapus startingDirectory alih-alih menyetelnya ke null _ bukanlah fitur yang akan datang kembali; kami sedang mencari pendekatan alternatif mengenai kapan tepatnya menerapkan startingDirectory, tetapi pengaturan akan selalu dapat ditekan dengan menyetelnya ke nol.

Pada v0.5, itu sebenarnya tidak akan berfungsi lagi. Anda harus mengatur "startingDirectory": null agar ini benar-benar berfungsi. Perbaikan itu mundur secara tidak sengaja di #2515.

Tidak bekerja dengan 0.5.2762.0 baik..
Saya telah mencoba menghapus nilai, mengatur ke nol.. keduanya tidak mengubah apa pun..

"startingDirectory": null berfungsi untuk saya - itu harus diletakkan di bawah profil tertentu, daripada menjadi elemen tingkat root

@DHowett-MSFT menurut saya pendekatan memiliki pengaturan dalam file konfigurasi ( startingDirectory ) yang dapat ditimpa dengan meneruskan params baris perintah cukup umum secara umum. Mungkin saya tidak mendapatkan masalah di sini :)

Jika saya mengingat percakapan dari bulan lalu, itu adalah:

Menghapus pengaturan "startingDirectory" dengan menghapusnya dari profil pengguna Anda (dalam kasus tertentu dari dua atau tiga profil default yang dikirim), alih-alih mengaturnya ke null untuk menghapusnya, bukanlah fitur yang akan kembali.

607 menentukan bahwa kami akan mendukung argumen baris perintah, salah satunya adalah penggantian direktori awal.

Ini sepertinya sejalan dengan pemahaman saya tentang pemahaman Anda tentang percakapan ini. :senyum:

Bagi saya pengaturan "startingDirectory": "." melakukan pekerjaan.

apakah ada masalah lain karena terminal default terbuka untuk mengatakan "%USERPROFILE%" tetapi null jika diluncurkan dari windows explorer?

@carlinmack Saya tidak berpikir itu sepenuhnya diperlukan.

  • Terminal Windows default ke direktori home pengguna jika Anda meluncurkannya melalui pintasan menu Start atau dengan mengetik "wt" di Win+R. Yang berarti bahwa jika Anda menggunakan "startingDirectory": "." mereka masih terbuka di folder rumah pengguna ( %USERPROFILE% ).
  • Jika Anda meluncurkan wt dari bilah alamat Windows Explorer, atau melalui sesuatu seperti cmd.exe (atau shell lain) yang dinavigasi ke folder tertentu, maka "startingDirectory": "." akan memastikan bahwa Terminal Windows terbuka di direktori tempat Anda berada.
  • Namun... Tab tambahan apa pun yang Anda buka dalam sesi Terminal Windows akan terbuka di "direktori kerja saat ini" dari saat peluncuran, yang mungkin sedikit mengganggu.

Terminal Windows default ke direktori home pengguna jika Anda meluncurkannya melalui pintasan menu Start atau dengan mengetik "wt" di Win+R. Yang berarti jika Anda menggunakan "startingDirectory": "." mereka masih terbuka di folder beranda pengguna (%USERPROFILE%).

Ini default ke system32 dalam kasus itu untuk saya.

Terima kasih @torpederos

"startingDirectory": " . "
"startingDirectory": "% __ CD __ %"

Diperiksa. Keduanya bekerja dengan baik untuk saya. solusi saya .

@RickStrahl telah menulis blog yang bagus tentang masalah ini. Periksalah .

Dalam kasus saya ini berhasil.

"profiles":
    {
        "defaults":
        {
            "startingDirectory": "."
        },

"startingDirectory": "." berfungsi tetapi ketika saya membuka terminal dari pencarian, defaultnya adalah system32.
Apakah ada cara untuk membuka di direktori pengguna saat jalur tidak ditentukan?

"startingDirectory": "." berfungsi tetapi ketika saya membuka terminal dari pencarian, defaultnya adalah system32.
Apakah ada cara untuk membuka di direktori pengguna saat jalur tidak ditentukan?

Saya memiliki masalah yang sama. Saya memperbaikinya dengan menambahkan baris berikut di akhir file .bashrc saya.

export CURR_DIRECTORY=`pwd`
if [ "$CURR_DIRECTORY" = "/mnt/c/WINDOWS/system32" ]; then
    cd ~
fi

Solusi dari @manishprivet sangat bagus, kecuali bahwa Agar berfungsi dengan baik, saya telah mengubah system32 menjadi System32 . Sebaiknya jalankan pwd dan salin hasilnya.

Saya menemukan solusi dengan menambahkan "terminal terbuka di sini" ke klik kanan.

Langkah 1:-
Hapus direktori awal dari settings.json untuk semua profil.

Langkah 2:-
Tambahkan terminal terbuka ke klik kanan sesuai dengan posting ini.
https://github.com/microsoft/terminal/issues/1060#issuecomment -497539461
Saya mengubah nilai registri ke-2 dari @="%LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe" menjadi @="C:\Users\[your username]\AppData\Local\Microsoft\WindowsApps\wt.exe -d ."

Perilaku setelah modifikasi:
Jadi setiap kali saya membuka terminal menggunakan search/taskbar/shortcut itu akan terbuka di folder pengguna saya.
Setiap kali saya ingin membuka terminal menggunakan explorer, saya cukup klik kanan dan pilih opsi Windows terminal here .

Catatan 1: Jangan lupa untuk menambahkan -d . di akhir nilai registri kedua, jika tidak, ini tidak akan berfungsi.

Catatan 2: Mengetik wt di bilah explorer masih membuka terminal di system32. Anda tetap harus mengetik wt -d . jika Anda ingin membuka terminal di folder saat ini menggunakan "bilah penjelajah".

Tambahkan saja

"startingDirectory": null

Ia bekerja dengan wt V1.0 dengan benar.

Jika Anda lebih suka membuat wt ditampilkan di SHIFT-Menu seperti "Buka jendela PowerShell di sini" atau Buka opsi WSL, Anda dapat menggabungkan file registri ini ke Registry Anda.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt]
@="Open Windows Terminal here"
"ShowBasedOnVelocityId"=dword:00639bc8
"Extended"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\wt\command]
@="C:\\Users\\[YourUserName]\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe"

Harap perhatikan parameter startingDirectory harus berada di tempat ini dalam struktur JSON:

{
    //...

    "profiles":
    {
        "defaults":
        {
            // Put settings here that you want to apply to all profiles.

            // Attempt to start in current directory
            // https://github.com/microsoft/terminal/issues/620
            "startingDirectory": "."
        }
    }
}

Saya belum melihat solusi yang akan melakukan hal berikut:

  1. Izinkan saya untuk memilih direktori default ketika saya membuka Terminal dari menu mulai.
  2. Saat menjalankan wt.exe dari jendela explorer akan membuka Terminal ke direktori itu.

Apakah ini mungkin?

Dari penyelidikan saya , itu bukan sesuatu yang secara teknis mungkin.

Jika Anda ingin keduanya berfungsi, Anda harus menggunakan wt -d . di bilah alamat penjelajah. Ini akan membiarkan peluncuran Terminal dari menu mulai dan kotak run berfungsi sama seperti sebelumnya, dan masih memungkinkan Anda membuka Terminal di CWD di explorer

Dari eksplorasi awal saya, inilah yang saya temukan berdasarkan https://docs.microsoft.com/en-us/windows/terminal/command-line-arguments?tabs=windows

Pendekatan 1:

  1. Tekan tombol WIN + R
  2. Ketik wt -d D:\SomeDirectory

Ini akan membuka shell default yang ada di settings.json dengan direktori itu
PS Pilih jalur berdasarkan OS shell secara default

Pendekatan 2:

  1. Buka folder yang diinginkan menggunakan File Explorer
  2. Di bilah alamat folder yang diinginkan Ketik wt -d .

@AndeYashwanth Itu bekerja dengan sempurna, terima kasih. Sekarang saya dapat membukanya di direktori pengguna saya dari bilah tugas dan hanya terbuka di direktori saat ini ketika saya mengklik kanan

Terima kasih @29kartik pendekatan 1 berhasil untuk saya. Saya bisa membuat GitKraken menggunakan perintah terminal khusus wt -d %d sehingga sekarang pintasan terminal meluncurkan WT di direktori repo saat ini. 💯

Saya telah menambahkan ini untuk membuka di folder khusus ini

 "startingDirectory": "C:\\webdev"

Ini pendapat saya melalui pintasan menu konteks: https://Gist.github.com/kmantel/9cd6bf9f0fb25694a5b08119817281b7

@nickraphael :

Saya belum melihat solusi yang akan melakukan hal berikut:

  1. Izinkan saya untuk memilih direktori default ketika saya membuka Terminal dari menu mulai.
  2. Saat menjalankan wt.exe dari jendela explorer akan membuka Terminal ke direktori itu.

Memiliki ini di settings.json :

{
    "profiles": {
        "defaults": {
            "startingDirectory": "."
        }
    }
}

membuat Terminal Windows mulai di direktori saat ini untuk saya ketika diluncurkan dari kotak lokasi Explorer, win + r atau dari program lain (VS Code dll.). Namun, ketika memulai dari menu Mulai, baik dengan mencari atau menavigasi ke pintasan, itu dimulai di C:\WINDOWS\system32 .

Untuk memperbaiki masalah menu Mulai, saya menyematkan pintasan ke wt.exe ke menu Mulai ( where wt memberi tahu lokasinya), mengganti nama pintasan sesuai keinginan saya dan kemudian memodifikasinya menjadi:

Start in: %USERPROFILE%

Sekarang Terminal Windows dimulai di direktori home saya ketika diluncurkan dari menu Start.

Alangkah baiknya jika Windows Terminal tidak mengubah direktorinya secara default agar lebih transparan. Tidak banyak program lain yang melakukan itu.

Saya juga ingin tahu apakah pintasan ke wt.exe dapat dibuat oleh penginstal secara otomatis.

Jadi, tidak ada jawaban di atas yang berfungsi untuk kasus penggunaan saya. Yang ingin saya lakukan adalah membuka tab baru menggunakan alt+shift+- dan menyimpan folder sebelumnya. Saya mencoba menggunakan null , "." dan "%__CD__%" sebagai nilai untuk "startingDirectory" di berbagai tempat di JSON. Saya menggunakan versi 1.4.2652.0 dari Windows Terminal Preview.

Salah satu solusi yang bagus adalah memiliki opsi baru seperti "keepCurrentDirectoryOnNewTab": true atau sesuatu seperti itu. Cara lain (yang digunakan Kitty) adalah memiliki nilai khusus yang disebut current saat menentukan direktori.

@frankitox Anda mungkin tertarik dengan #3158 dan 20 masalah sejenisnya yang ditipu oleh utas itu
image

Ada cukup banyak diskusi mengapa ini sulit atau hampir tidak mungkin dilakukan dengan benar di windows.

VERSI: 1.3.2651.0

dalam kasus saya ini berfungsi.

    "profiles":
    {
        "defaults":
        {
            // Put settings here that you want to apply to all profiles.
            "startingDirectory": "."
        },

juga, Anda dapat menggunakan "startingDirectory": "%__CD__%"

Saya mungkin sangat terlambat ke pesta, tetapi di Windows 10 Pro 20H2, Anda cukup mengetik wt di bilah alamat dan itu akan berhasil.

Bagaimana Anda melewati jalur direktori ke wt.exe. Sesuatu seperti ini:

wt.exe "C:\GitHub"

Saya tidak tahu apakah Anda menemukan -d dan path

wt -d .

bekerja dengan baik di WSL2

Apakah halaman ini membantu?
0 / 5 - 0 peringkat