Memindahkan Pengembangan JavaScript Anda ke Bash Di Windows

Diterbitkan: 2022-03-10
Ringkasan cepat Suka terminal Bash Anda tetapi juga suka PC Anda? Mungkin Anda telah memperhatikan beberapa perangkat keras Surface baru itu, tetapi tidak dapat beralih tanpa terminal Anda. Sekarang Anda dapat memiliki Windows dan Bash. Pada artikel ini, kita akan melihat secara mendalam cara menyiapkan kotak pengembangan Windows/Linux untuk pengembangan JavaScript.

Saya salah satu dari orang-orang yang tidak bisa hidup tanpa terminal Bash mereka. Satu-satunya fakta ini telah mempersulit saya untuk melakukan pekerjaan frontend di Windows. Saya bekerja di Microsoft dan saya menggunakan Mac. Tidak sampai garis perangkat keras Surface baru keluar beberapa tahun yang lalu, saya menyadari: Saya harus memiliki salah satunya .

Jadi saya punya satu. Surface Book 2 yang menjalankan Windows 10 tepatnya. Saya sedang menyusun artikel ini sekarang. Dan bagaimana dengan permintaan Bash saya yang manis dan manis? Yah, aku membawanya bersamaku, tentu saja.

Pada artikel ini, saya akan melihat secara mendalam bagaimana teknologi baru di Windows 10 memungkinkan Anda menjalankan terminal Linux lengkap di Windows. Saya juga akan menunjukkan kepada Anda pengaturan terminal saya yang luar biasa (yang dinamai "terbaik" oleh "saya") dan bagaimana Anda juga dapat mengatur mesin pengembangan Windows/Linux Anda sendiri.

Jika Anda mendambakan beberapa perangkat keras Surface itu tetapi tidak dapat hidup tanpa terminal Linux, Anda telah datang ke tempat yang tepat.

Catatan : Pada saat penulisan ini, banyak item dalam artikel ini akan mengharuskan Anda untuk menggunakan atau beralih ke build "preview" atau "orang dalam" dari berbagai item, termasuk Windows. Sebagian besar dari hal-hal ini akan berada di build Windows utama di beberapa titik di masa mendatang.

Lebih banyak setelah melompat! Lanjutkan membaca di bawah ini

Subsistem Windows Untuk Linux (WSL)

Subsistem Windows untuk Linux, atau, "WSL" memungkinkan Anda menjalankan Linux di Windows. Tapi apa sebenarnya ilmu gila ini ?

WSL, dalam inkarnasinya saat ini, adalah lapisan terjemahan yang mengubah panggilan sistem Linux menjadi panggilan sistem Windows. Linux berjalan di atas WSL. Itu berarti bahwa untuk mendapatkan Linux di Windows, Anda perlu melakukan tiga hal:

  1. Aktifkan WSL,
  2. Instal Linux,
  3. Selalu sertakan tiga item dalam daftar.

Ternyata, lapisan terjemahan itu agak lambat — seperti saya mencoba mengingat apakah saya perlu splice atau slice . Ini terutama benar ketika WSL membaca dan menulis ke sistem file. Itu semacam masalah besar bagi pengembang web karena setiap npm install yang tepat akan menyalin ribuan file ke mesin Anda. Maksud saya, saya tidak tahu tentang Anda, tetapi saya tidak akan meninggalkan string saya sendiri .

Versi 2 dari WSL adalah cerita yang berbeda. Ini jauh lebih cepat daripada versi saat ini karena memanfaatkan inti virtualisasi di Windows daripada menggunakan lapisan terjemahan. Ketika saya mengatakan itu "jauh lebih cepat", maksud saya jauh, jauh lebih cepat. Seperti secepat saya Googling "sambatan vs irisan".

Untuk alasan itu, saya akan menunjukkan cara menginstal WSL 2. Pada saat penulisan, itu akan mengharuskan Anda untuk berada di "Insider" build Windows.

Hal pertama yang pertama: ikuti panduan singkat ini untuk mengaktifkan WSL di Windows 10 dan periksa nomor versi Windows Anda.

Setelah Anda menginstalnya, tekan tombol Windows dan ketik "windows insider". Kemudian pilih "Pengaturan Program Orang Dalam Windows".

Opsi menu pengaturan Program Windows Insider
(Pratinjau besar)

Anda akan memiliki beberapa opsi berbeda tentang "cincin" mana yang Anda inginkan. Banyak orang yang saya kenal berada di ring cepat. Aku orang yang berhati-hati, meskipun. Ketika saya masih kecil, saya akan menuruni seluncuran di taman bermain dengan perut saya berpegangan pada sisi-sisinya. Itulah sebabnya saya tetap berada di ring lambat. Saya sudah menggunakannya selama beberapa bulan sekarang, dan saya merasa itu tidak lebih mengganggu atau tidak stabil daripada Windows biasa.

Ini adalah pilihan yang baik jika Anda menginginkan WSL 2, tetapi Anda tidak ingin mati di slide.

Layar pengaturan Windows Insider menunjukkan dering "Lambat"
(Pratinjau besar)

Catatan : Setelah menerbitkan artikel ini, saya mengetahui bahwa WSL 2 sebenarnya tidak berada di jalur lambat. Anda harus berada di ring cepat untuk mendapatkannya. Saya pasti berada di ring cepat di beberapa titik dalam proses penulisan artikel ini. Begitu cepat cincinnya. Semoga sukses di slide!

Selanjutnya, Anda perlu mengaktifkan fitur “Virtual Machine Platform” di Windows, yang diperlukan oleh WSL versi 2. Untuk masuk ke layar ini, tekan tombol Windows dan ketik “windows features”. Kemudian pilih "Aktifkan atau nonaktifkan Fitur Windows". Pilih “Platform Mesin Virtual”. Opsi "Subsistem Windows untuk Linux" seharusnya sudah diaktifkan.

Layar "Fitur Windows" dengan "Platform Mesin Virtual" dan "Subsistem Windows untuk Linux" disorot
(Pratinjau besar)

Sekarang setelah WSL diaktifkan, Anda dapat menginstal Linux. Anda melakukan ini, cukup ironis, langsung dari Windows Store. Hanya pada tahun 2019 saya menyarankan Anda "menginstal Linux dari toko Windows".

Ada beberapa distribusi berbeda untuk dipilih, tetapi Ubuntu akan menjadi yang paling didukung di semua alat yang akan kami konfigurasikan nanti — termasuk VS Code. Semua instruksi yang datang dari sini dengan asumsi instalasi Ubuntu. Jika Anda menginstal distro yang berbeda, semua taruhan dibatalkan.

Cari "Ubuntu" dari Windows Store. Akan ada tiga pilihan: Ubuntu, Ubuntu 18.04, dan Ubuntu 16.04. Ubuntu sangat menyukai nomor versi minor 04 itu, bukan?

Item "Ubuntu" di Windows Store
(Pratinjau besar)

Distro "Ubuntu" (yang pertama di tangkapan layar ini) adalah "versi meta", atau lebih tepatnya placeholder yang hanya menunjuk ke versi terbaru. Sampai sekarang, itu 18,04.

Saya menggunakan versi meta karena nanti saya akan menunjukkan cara menelusuri sistem file Linux dengan Windows Explorer dan agak berantakan memiliki "Ubuntu 18.04" sebagai nama drive vs hanya "Ubuntu".

Instalasi ini cukup cepat tergantung pada koneksi internet Anda. Ini hanya sekitar 215 megabyte, tetapi saya menggunakan koneksi gigabit di sini dan bagaimana Anda tahu jika seseorang menggunakan koneksi gigabit? Jangan khawatir, mereka akan memberi tahu Anda.

Setelah terinstal, Anda sekarang akan memiliki aplikasi "Ubuntu" di menu mulai Anda.

Ubuntu diinstal dan muncul di menu Start Windows
(Pratinjau besar)

Jika Anda mengkliknya, Anda akan mendapatkan terminal Bash!

Terminal Ubuntu berjalan di Windows
(Pratinjau besar)

Luangkan waktu sejenak untuk menikmati keajaiban teknologi.

Secara default, Anda akan menjalankan WSL versi 1. Untuk meningkatkan ke versi 2, Anda harus membuka terminal PowerShell dan menjalankan perintah.

Tekan tombol "Windows" dan ketik "Powershell".

Item "Powershell" di menu mulai
(Pratinjau besar)

Dari terminal PowerShell, Anda dapat melihat versi WSL yang Anda miliki dengan menjalankan wsl --list --verbose .

Melakukan daftar verbose dari semua instance WSL yang berjalan dari dalam Powershell
(Pratinjau besar)

Jika Anda menampilkan versi 1, Anda harus menjalankan perintah --set-version dan menentukan nama instance (Ubuntu) dan versi yang Anda inginkan (2).

 wsl --set-version Ubuntu 2 
Mengatur versi WSL ke versi 2 dengan Powershell
(Pratinjau besar)

Ini akan memakan waktu sedikit, tergantung pada berapa banyak daging yang dimiliki mesin Anda. Milik saya mengambil "beberapa menit" memberi atau menerima. Setelah selesai, Anda akan berada di versi terbaru dan terhebat dari WSL.

Apakah Otak Anda Di Linux… Di Windows.

Linux bukan Windows. WSL bukan prompt bash di atas sistem operasi Windows. Ini adalah sistem operasi lengkap dengan struktur foldernya sendiri dan aplikasi yang diinstal. Jika Anda menginstal Node dengan penginstal Windows, mengetik node di Linux akan gagal karena Node tidak diinstal di Linux. Ini diinstal pada Windows.

Keajaiban sebenarnya dari WSL, terletak pada caranya menghubungkan Windows dan Linux dengan mulus sehingga mereka muncul sebagai satu sistem file di mesin Anda.

Navigasi File Dan Folder

Secara default, terminal Ubuntu memasukkan Anda ke direktori home Linux Anda (atau /home/your-user-name ). Anda dapat pindah ke sisi Windows dengan membuka /mnt/c .

Terminal Ubuntu dengan konten untuk drive C terdaftar
(Pratinjau besar)

Perhatikan bahwa beberapa izin ditolak di sini. Saya harus mengklik kanan ikon Ubuntu dan mengklik "Run as Administrator" untuk mendapatkan akses ke file-file ini. Beginilah cara Windows meningkatkan izin. Tidak ada sudo di Windows.

Meluncurkan Aplikasi

Anda dapat meluncurkan aplikasi Windows apa pun dari terminal Ubuntu. Misalnya, saya dapat membuka Windows Explorer dari terminal Unbuntu.

Windows Explorer dan terminal Ubuntu
(Pratinjau besar)

Ini juga bekerja secara terbalik. Anda dapat menjalankan aplikasi apa pun yang diinstal di sisi Linux. Di sini saya menjalankan "keberuntungan" yang diinstal di Linux dari baris perintah Windows. (Karena itu bukan instalasi Linux yang tepat tanpa keberuntungan yang acak dan tidak berarti.)

Baris Perintah Windows menjalankan program "keberuntungan" Linux
(Pratinjau besar)

Dua sistem operasi yang berbeda. Dua sistem file yang berbeda. Dua set berbeda dari aplikasi yang diinstal. Lihat bagaimana ini bisa membingungkan?

Untuk menjaga semuanya tetap lurus, saya sarankan Anda menyimpan semua file dan alat pengembangan JavaScript Anda terinstal di sisi Linux. Bisa dikatakan, kemampuan untuk berpindah antara Windows dan Linux dan mengakses file dari kedua sistem adalah keajaiban inti dari WSL. Jangan lupa, karena itulah yang membuat seluruh pengaturan ini lebih baik daripada hanya kotak Linux standar.

Menyiapkan Lingkungan Pengembangan Anda

Mulai sekarang, saya akan memberi Anda daftar item berpendirian untuk apa yang menurut saya membuat Linux pembunuh pada pengaturan Windows. Ingat saja: pendapat saya hanya itu. pendapat . Kebetulan seperti semua pendapat saya, mereka 100% benar.

Mendapatkan Terminal yang Lebih Baik

Ya, Anda mendapatkan terminal saat menginstal Ubuntu. Ini sebenarnya Konsol Windows yang terhubung ke distro Linux Anda. Ini bukan konsol yang buruk. Anda dapat mengubah ukurannya, aktifkan salin/tempel (di pengaturan). Tetapi Anda tidak dapat melakukan hal-hal seperti tab atau membuka jendela baru. Sama seperti banyak orang yang menggunakan program terminal pengganti di Mac (saya menggunakan Hyper), ada juga opsi lain untuk Windows. Daftar WSL Luar Biasa di Github berisi daftar yang cukup lengkap.

Itu semua adalah emulator yang bagus, tetapi ada opsi baru yang dibuat oleh orang-orang yang mengenal Windows dengan cukup baik.

Microsoft telah mengerjakan aplikasi baru yang disebut "Windows Terminal".

Item Terminal Windows di Windows Store
(Pratinjau besar)

Terminal Windows dapat diinstal dari Windows Store dan saat ini dalam mode pratinjau. Saya telah menggunakannya cukup lama sekarang, dan memiliki fitur yang cukup dan cukup stabil bagi saya untuk memberikan dukungan penuh.

Terminal Windows baru menampilkan antarmuka tab lengkap, salin/tempel, banyak profil, latar belakang transparan, gambar latar — bahkan gambar latar transparan. Ini adalah hari lapangan jika Anda ingin menyesuaikan terminal Anda, dan saya datang untuk memenangkan perlombaan karung ini.

Ini terminal saya saat ini. Kami akan berjalan-jalan melalui beberapa tweak penting di sini.

Terminal penulis saat ini: Latar belakang biru tua dengan planet kartun di sudut kanan bawah. Teks hijau dan putih.
(Pratinjau besar)

Terminal Windows cukup dapat disesuaikan. Mengklik panah “ ” di kiri atas (di sebelah tanda “ + ”) memberi Anda akses ke “Pengaturan”. Ini akan membuka file JSON.

Bind Salin/Tempel

Di bagian atas file adalah semua binding kunci. Hal pertama yang saya lakukan adalah memetakan "copy" ke Ctrl + C dan paste ke Ctrl + V . Bagaimana lagi saya akan menyalin dan menempelkan perintah dari Stack Overflow yang tidak saya mengerti?

 { "command": "copy", "keys": ["ctrl+c"] }, { "command": "paste", "keys": ["ctrl+v"] },

Masalahnya adalah Ctrl + C sudah dipetakan ke SIGINT, atau perintah Interrupt/kill di Linux. Ada banyak terminal di luar sana untuk Windows yang menangani ini dengan memetakan Salin/Tempel ke Ctrl + Shift + C dan Ctrl + Shift + V masing-masing. Masalahnya adalah salin/tempel Ctrl + C / Ctrl + V setiap tempat lain di Windows. Saya terus menekan Ctrl + C di terminal berulang kali mencoba menyalin sesuatu. Saya tidak bisa berhenti melakukannya.

Terminal Windows menangani ini secara berbeda. Jika Anda memiliki teks yang disorot dan Anda menekan Ctrl + C , itu akan menyalin teks. Jika ada proses yang sedang berjalan, ia masih mengirimkan perintah SIGINT ke bawah dan menginterupsinya. Artinya Anda dapat dengan aman memetakan Ctrl + C / Ctrl + V untuk Salin/Tempel di Terminal Windows dan itu tidak akan mengganggu kemampuan Anda untuk mengganggu proses.

Siapa yang mengira Copy/Paste bisa menyebabkan begitu banyak sakit hati?

Ubah Profil Default

Profil default adalah apa yang muncul ketika tab baru dibuka. Secara default, itu Powershell. Anda akan ingin menggulir ke bawah dan menemukan profil Linux. Ini adalah yang membuka wsl.exe -d Ubuntu . Salin GUID-nya dan tempel ke pengaturan defaultProfile default.

Saya telah memindahkan kedua pengaturan ini sehingga mereka berada tepat di samping satu sama lain untuk membuatnya lebih mudah dilihat:

Profil Terminal default disorot dalam file settings.json
(Pratinjau besar)

Atur Latar Belakang

Saya suka latar belakang saya menjadi warna solid gelap dengan logo datar di sudut kanan. Saya melakukan ini karena saya ingin logo menjadi cerah dan terlihat, tetapi tidak menghalangi teks. Yang ini saya buat sendiri, tetapi ada banyak koleksi gambar datar untuk dipilih di Simple Desktops.

Latar belakang diatur dengan properti backgroundImage :

 "backgroundImage": "c:/Users/YourUserName/Pictures/earth.png" 
Gambar kotak biru dengan planet kartun di sudut kanan bawah
(Pratinjau besar)

Anda juga akan melihat pengaturan yang disebut "akrilik". Inilah yang memungkinkan Anda untuk menyesuaikan opacity latar belakang. Jika Anda memiliki warna latar belakang yang solid, ini cukup mudah.

 "background": "#336699", "useAcrylic": true, "acrylicOpacity": 0.5 
Terminal dengan latar belakang sedikit transparan
(Pratinjau besar)

Anda dapat melakukannya dengan gambar latar belakang juga, dengan menggabungkan pengaturan arcylicOpacity dengan backgroundImageOpacity :

 "backgroundImage": "c:/Users/username/Pictures/earth-and-stars.png", "useAcrylic": true, "acrylicOpacity": 0.5 
Terminal dengan gambar transparan dan latar belakang transparan
(Pratinjau besar)

Untuk tema saya, transparansi membuat semuanya terlihat tidak bersuara, jadi saya tetap menggunakan useAcrylic disetel ke false .

Ubah Font

Tim yang membangun Terminal Windows juga sedang mengerjakan font baru yang disebut "Cascadia Code". Ini tidak tersedia pada saat penulisan ini, jadi Anda mendapatkan font Windows default sebagai gantinya.

Font default di Terminal Windows adalah "Consola". Ini adalah font yang sama yang digunakan baris perintah Windows. Jika Anda ingin merasakan Ubuntu yang sebenarnya, Chris Hoffman menunjukkan bagaimana Anda dapat menginstal font resmi Ubuntu Mono.

Ini sebelum dan sesudah sehingga Anda dapat melihat perbedaannya:

 "fontFace": "Ubuntu Mono" 
Perbandingan berdampingan font Consolas dan Unbuntu Mono di terminal
(Pratinjau besar)

Mereka terlihat sangat mirip; perbedaan utama adalah pada jarak Ubuntu Mono yang membuat terminal sedikit lebih ketat dan lebih bersih.

Skema Warna

Skema warna semuanya terletak di bagian bawah file pengaturan. Saya menyalin skema warna "Campbell" sebagai garis dasar. Saya mencoba mencocokkan warna dengan nama mereka, tetapi saya juga tidak takut untuk menjadi nakal. Saya akan memetakan "#ffffff" ke "biru" — Saya bahkan tidak peduli.

Pengaturan skema warna dari file settings.json
(Pratinjau besar)

Jika Anda menyukai skema khusus ini yang saya beri nama "Bumi", saya telah mengumpulkan intinya sehingga Anda tidak perlu menyalin semua kekacauan ini secara manual dari tangkapan layar.

Catatan : Pratinjau warna datang berdasarkan ekstensi "Sorotan Warna" untuk Kode VS.

Ubah Direktori Awal Default

Secara default, profil WSL memasukkan Anda ke direktori home Anda di sisi Windows. Berdasarkan pengaturan yang saya rekomendasikan dalam artikel ini, akan lebih baik untuk meletakkannya di folder home Linux Anda. Untuk melakukannya, ubah pengaturan startingDirectory di profil "Ubuntu" Anda:

 "startingDirectory": "\\\\wsl$\\Ubuntu\\home\\burkeholland"

Perhatikan jalan di sana. Anda dapat menggunakan jalur ini (dikurangi garis miring ekstra) untuk mengakses WSL dari baris perintah Windows.

Perintah "dir" dijalankan terhadap direktori home Linux dari Windows Command Line
(Pratinjau besar)

Instal Zsh/Oh-My-Zsh

Jika Anda belum pernah menggunakan Zsh dan Oh-My-Zsh sebelumnya, Anda akan benar-benar menikmatinya. Zsh (atau "Z Shell") adalah shell pengganti untuk Linux. Ini memperluas kemampuan dasar Bash, termasuk pengalihan direktori tersirat (tidak perlu mengetik cd ), dukungan bertema yang lebih baik, petunjuk yang lebih baik, dan banyak lagi.

Untuk menginstal Zsh, ambil dengan manajer paket apt, yang keluar dari kotak dengan instalasi Linux Anda:

 sudo apt install zsh

Instal oh-my-zsh menggunakan curl. Oh-my-zsh adalah satu set konfigurasi untuk zsh yang meningkatkan pengalaman shell lebih jauh dengan plugin, tema, dan segudang pintasan keyboard.

 sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Kemudian ia akan menanyakan apakah Anda ingin mengubah shell default Anda ke Zsh. Anda melakukannya, jadi jawablah dengan setuju dan Anda sekarang aktif dan berjalan dengan Zsh dan Oh-My-Zsh.

Terminal menanyakan apakah Anda ingin mengubah shell default
(Pratinjau besar)

Anda akan melihat bahwa promptnya jauh lebih bersih sekarang. Anda dapat mengubah tampilan prompt itu dengan mengubah tema di file ~/.zshrc .

Buka dengan nano , yang mirip dengan VIM, tetapi Anda dapat mengedit sesuatu dan keluar saat diperlukan.

 nano ~/.zshrc

Ubah baris yang menetapkan tema. Ada URL di atasnya dengan seluruh daftar tema. Saya pikir yang "awan" itu bagus. Dan lucu.

Tema "cloud" sedang diatur dalam file zshrc
(Pratinjau besar)

Untuk mendapatkan perubahan pada .zshrc yang diambil, Anda harus mengambilnya:

 source ~/.zshrc 
Prompt tema "cloud"
(Pratinjau besar)

Catatan : Jika Anda memilih tema seperti "agnoster" yang memerlukan mesin terbang, Anda memerlukan versi Ubuntu Mono yang diinfuskan dengan powerline yang memiliki ... mesin terbang. Jika tidak, terminal Anda hanya akan penuh dengan karakter aneh seperti Anda menumbuk wajah Anda di keyboard. Nerd Fonts menawarkan satu yang tampaknya bekerja dengan cukup baik.

Sekarang Anda dapat melakukan hal-hal seperti mengubah direktori hanya dengan memasukkan nama direktori. Tidak diperlukan cd . Ingin kembali ke direktori? Lakukan saja .. . Anda bahkan tidak perlu mengetikkan seluruh nama direktori, cukup ketik beberapa huruf pertama dan tekan tab. Zsh akan memberi Anda daftar semua file/direktori yang cocok dengan pencarian Anda dan Anda dapat menelusurinya.

Terminal dengan salah satu dari banyak jalur yang disorot
(Pratinjau besar)

Menginstal Node

Sebagai pengembang web, Anda mungkin ingin menginstal Node.js. Saya kira Anda tidak perlu menginstal Node untuk melakukan pengembangan web, tetapi rasanya seperti itu di 2019!

Naluri pertama Anda mungkin menginstal node dengan apt , yang dapat Anda lakukan, tetapi Anda akan menyesalinya karena dua alasan:

  1. Versi Node di apt sangat ketinggalan zaman;
  2. Anda harus menginstal Node dengan manajer versi sehingga Anda tidak mengalami masalah izin.

Cara terbaik untuk mengatasi kedua masalah ini adalah dengan menginstal nvm (Node Version Manager). Karena Anda telah menginstal zsh , Anda cukup menambahkan plugin nvm di file zshrc Anda dan zsh akan menangani sisanya.

Pertama, instal plugin dengan mengkloning di repo zsh-nvm . (Jangan khawatir, Git menjadi standar pada instalasi Ubuntu Anda.)

 git clone https://github.com/lukechilds/zsh-nvm ~/.oh-my-zsh/custom/plugins/zsh-nvm

Kemudian tambahkan sebagai plugin di file ~/.zshrc .

 `nano ~/.zshrc` plugins (zsh-nvm git) 
File zshrc dengan zsh-vnm-plugin ditambahkan
(Pratinjau besar)

Ingatlah untuk mencari sumber file zshrc lagi dengan source ~/.zshrc dan Anda akan melihat nvm sedang diinstal.

Terminal menunjukkan kemajuan pemasangan nvm
(Pratinjau besar)

Sekarang Anda dapat menginstal node dengan nvm. Itu membuatnya mudah untuk menginstal beberapa versi node berdampingan, dan beralih di antara mereka dengan mudah. Juga, tidak ada kesalahan izin saat Anda melakukan pemasangan npm global!

 nvm install --lts

Saya merekomendasikan ini di atas instalasi nvm standar karena plugin memberi Anda kemampuan untuk memutakhirkan nvm dengan mudah. Ini agak menyusahkan dengan pemasangan "ikal" standar. Itu satu perintah dengan plugin.

 nvm upgrade

Gunakan Saran Otomatis

Salah satu plugin favorit saya untuk zsh adalah zsh-autosugesti. Itu mengingat hal-hal yang telah Anda ketik di terminal sebelumnya, dan kemudian mengenalinya ketika Anda mulai mengetiknya lagi serta "menyarankan otomatis" baris yang mungkin Anda butuhkan. Plugin ini telah berguna lebih dari yang saya ingat — khususnya ketika datang ke perintah CLI panjang yang telah saya gunakan di masa lalu, tetapi tidak pernah dapat mengingatnya.

Kloning repo ke dalam folder ekstensi zsh:

 git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions

Kemudian tambahkan ke plugin zsh Anda dan sumber file zshrc:

 nano ~/.zshrc # In the .zshrc file plugins(zsh-nvm zsh-autosuggestions git) source ~/.zshrc

Plugin membaca riwayat zsh Anda, jadi mulailah mengetik beberapa perintah yang telah Anda ketik sebelumnya dan saksikan keajaibannya. Coba ketikkan bagian pertama dari perintah klon panjang di atas.

Terminal yang menunjukkan zsh autosugesti secara otomatis menyelesaikan perintah git clone
(Pratinjau besar)

Jika Anda menekan , itu akan otomatis melengkapi perintah. Jika Anda terus menekan , itu akan menggilir salah satu perintah dalam riwayat Anda yang mungkin cocok.

Pintasan Keyboard Penting

Ada beberapa pintasan terminal yang saya gunakan sepanjang waktu. Saya menemukan ini dengan semua alat saya — termasuk VS Code. Mencoba mempelajari semua pintasan adalah buang-buang waktu karena Anda tidak akan cukup menggunakannya untuk mengingatnya.

Berikut adalah beberapa yang saya gunakan secara teratur:

Pintasan Terminal Apa fungsinya?
Ctrl + L Ini membersihkan terminal dan menempatkan Anda kembali ke atas. Ini setara dengan mengetik "jelas".
Ctrl + U Ini menghapus baris saat ini saja.
Ctrl + A Mengirim kursor ke awal baris perintah.
Ctrl + E Pindah ke akhir baris.
Ctrl + K Hapus semua karakter setelah kursor.

Itu dia! Segala sesuatu yang lain mungkin telah saya pelajari dan kemudian saya lupakan karena tidak pernah ada gunanya.

Konfigurasi Git(Hub/Lab/Whatevs)

Git hadir di Ubuntu, jadi tidak perlu menginstal. Anda dapat mengikuti instruksi di hoster kontrol sumber pilihan Anda untuk membuat kunci ssh Anda dibuat dan berfungsi.

Perhatikan bahwa dalam instruksi Github, ini memberitahu Anda untuk menggunakan utilitas "salin" untuk menyalin kunci ssh Anda. Ubuntu memiliki perintah "xcopy", tetapi tidak akan berfungsi di sini karena tidak ada interop antara Linux dan Windows dalam hal clipboard.

Sebagai gantinya, Anda cukup menggunakan Windows Clipboard yang dapat dieksekusi dan memanggilnya langsung dari terminal. Anda perlu mendapatkan teks terlebih dahulu dengan cat , dan kemudian menyalurkannya ke clipboard Windows.

 cat ~/.ssh/id_rsa.pub | clip.exe

Dokumen Github memberi tahu Anda untuk memastikan bahwa ssh-agent berjalan. Ini bukan. Anda akan melihat ini ketika Anda mencoba dan menambahkan kunci Anda ke agen:

Terminal menunjukkan bahwa agen ssh tidak berjalan
(Pratinjau besar)

Anda dapat memulai agen, tetapi saat berikutnya Anda me-reboot Windows atau WSL dihentikan, Anda harus memulainya lagi. Ini karena tidak ada sistem inisialisasi di WSL. Tidak ada systemd atau proses lain yang memulai semua layanan Anda saat WSL dimulai. WSL masih dalam pratinjau, dan tim sedang mengerjakan solusi untuk ini.

Sementara itu, percaya atau tidak, ada plugin zsh untuk ini juga. Itu disebut ssh-agent , dan itu diinstal dengan oh-my-zsh, jadi yang perlu Anda lakukan hanyalah merujuknya ke file .zshrc .

 zsh-nvm zsh-autosuggestions ssh-agent git

Ini akan memulai ssh-agent secara otomatis jika tidak berjalan saat pertama kali Anda menjalankan WSL. Kelemahannya adalah ia akan menanyakan frasa sandi Anda setiap kali WSL dimulai baru. Itu berarti pada dasarnya kapan saja Anda me-reboot komputer Anda.

Terminal meminta kata sandi untuk kunci rsa
(Pratinjau besar)

Kode VS Dan WSL

WSL tidak memiliki GUI, jadi Anda tidak dapat menginstal alat visual seperti VS Code. Itu perlu diinstal di sisi Windows. Ini menimbulkan masalah karena Anda memiliki program yang berjalan di sisi Windows yang mengakses file di sisi Linux, dan ini dapat mengakibatkan semua manor of quirks dan masalah "izin ditolak". Sebagai aturan umum, Microsoft menyarankan Anda untuk tidak mengubah file di sisi WSL dengan program Windows.

Untuk mengatasi ini, ada ekstensi untuk VS Code yang disebut "Remote WSL". Ekstensi ini dibuat oleh Microsoft, dan memungkinkan Anda untuk mengembangkan di dalam WSL, tetapi dari dalam VS Code.

Setelah ekstensi diinstal, Anda dapat melampirkan Kode VS langsung ke sisi Ubuntu dengan membuka Palet Perintah ( Ctrl + Shift + P ) dan pilih "Remote-WSL: Jendela Baru".

Kode VS dengan perintah "WSL Jarak Jauh: Jendela Baru" disorot di Palet Perintah
(Pratinjau besar)

Ini membuka contoh baru VS Code yang memungkinkan Anda bekerja seolah-olah Anda sepenuhnya berada di sisi Linux. Melakukan "File/Open" menelusuri sistem file Ubuntu alih-alih yang Windows.

Tampilan "Buka File" Kode VS
(Pratinjau besar)

Terminal terintegrasi dalam Kode VS membuka pengaturan zsh Anda yang disesuaikan dengan indah. Semuanya "berfungsi" seperti seharusnya ketika Anda menginstal ekstensi WSL Jarak Jauh.

Jika Anda membuka kode dari terminal Anda dengan code . , VS Code akan secara otomatis mendeteksi bahwa itu dibuka dari WSL, dan akan otomatis melampirkan ekstensi WSL Jarak Jauh.

Ekstensi Kode VS Dengan WSL Jarak Jauh

Ekstensi WSL Jarak Jauh untuk VS Code bekerja dengan menyiapkan server kecil di sisi Linux, dan kemudian menghubungkannya dari VS Code di sisi Windows. Karena itu, ekstensi yang Anda instal di VS Code tidak akan muncul secara otomatis saat Anda membuka proyek dari WSL.

Misalnya, saya memiliki proyek Vue yang terbuka di VS Code. Meskipun saya telah menginstal semua ekstensi Vue yang tepat untuk penyorotan sintaks, pemformatan, dan sejenisnya, Kode VS bertindak seperti belum pernah melihat file .vue sebelumnya.

File .vue terbuka di VS Code tanpa penyorotan sintaks
(Pratinjau besar)

Semua ekstensi yang telah Anda instal dapat diaktifkan di WSL. Temukan saja ekstensi yang Anda inginkan di WSL, dan klik tombol "Instal di WSL".

Halaman arahan ekstensi Vetur VS Code di VS Code
(Pratinjau besar)

Semua ekstensi yang dipasang di WSL akan muncul di bagiannya masing-masing di tampilan Extensions Explorer. Jika Anda memiliki banyak ekstensi, mungkin sedikit mengganggu untuk menginstal masing-masing ekstensi satu per satu. Jika Anda hanya ingin menginstal setiap ekstensi yang Anda miliki di WSL, klik ikon unduhan awan kecil di bagian atas bagian 'Lokal - Terpasang'.

Tampilan Ekstensi dalam Kode VS dengan ikon instal semua ekstensi di WSL disorot
(Pratinjau besar)

Cara Mengatur Direktori Dev Anda

Ini sudah merupakan artikel opini, jadi inilah artikel yang tidak Anda tanyakan tentang bagaimana menurut saya Anda harus menyusun proyek Anda di sistem file Anda.

Saya menyimpan semua proyek saya di sisi Linux. Saya tidak meletakkan proyek saya di "Dokumen Saya" dan kemudian mencoba dan bekerja dengan mereka dari WSL. Otakku tidak bisa menangani itu.

Saya membuat folder bernama /dev yang saya taruh di root folder /home saya di Linux. Di dalam folder itu, saya membuat folder lain dengan nama yang sama dengan repo Github saya: /burkeholland . Folder itu adalah tempat semua proyek saya pergi — bahkan yang tidak didorong ke Github.

Jika saya mengkloning repo dari akun Github yang berbeda (misalnya "microsoft"), saya akan membuat folder baru di "dev" bernama /microsoft . Saya kemudian mengkloning repo ke dalam folder di dalamnya.

Pada dasarnya, saya meniru struktur yang sama dengan kontrol sumber di mesin lokal saya. Saya merasa jauh lebih mudah untuk bernalar tentang di mana proyek berada dan repositori apa yang dilampirkan hanya berdasarkan lokasinya. Ini sederhana, tetapi sangat efektif untuk membantu saya mengatur semuanya. Dan saya membutuhkan semua bantuan yang bisa saya dapatkan.

Penulis berpendapat struktur folder yang terdaftar di terminal
(Pratinjau besar)

Menjelajahi File Dari Windows Explorer

Ada kalanya Anda perlu mendapatkan file di Linux dari sisi Windows. Hal yang indah tentang WSL adalah Anda masih bisa melakukannya.

Salah satu caranya adalah dengan mengakses WSL seperti drive yang dipetakan. Akses dengan \\wsl$ langsung dari bilah penjelajah:

 \\wsl$ 
Windows Explorer instalasi Ubuntu sebagai direktori terpasang
(Pratinjau besar)

Anda mungkin melakukan ini karena sejumlah alasan berbeda. Misalnya, hari ini saya membutuhkan ekstensi Chrome yang tidak ada di toko web. Jadi saya mengkloning repo di WSL, lalu menavigasi ke sana sebagai "Unpacked Extension" dan memuatnya ke Edge.

Satu hal yang saya lakukan dengan frekuensi tertentu di Linux adalah membuka direktori yang berisi file langsung dari terminal. Anda juga dapat melakukan ini di WSL, dengan langsung memanggil explorer.exe . Misalnya, perintah ini membuka direktori saat ini di Windows Explorer.

 $ explorer.exe . 
GIF yang menunjukkan pembukaan Windows explorer pada direktori saat ini dari terminal

Perintah ini agak rumit sekalipun. Di Linux, itu hanya open . . Kita bisa membuat keajaiban yang sama dengan membuat alias di ~/.zshrc .

 alias open="explorer.exe"

Buruh pelabuhan

Ketika saya mengatakan semua perkakas harus berada di sisi Linux, maksud saya itu. Itu termasuk Docker.

Di sinilah karet benar-benar mulai memenuhi jalan. Yang kita butuhkan di sini adalah Docker, yang berjalan di dalam Linux yang berjalan di dalam Windows. Ini sedikit seperti Boneka Bersarang Rusia ketika Anda menuliskannya di posting blog. Pada kenyataannya, itu cukup mudah.

Anda memerlukan versi Docker untuk Windows yang benar. Pada saat penulisan ini, itulah Pratinjau Teknologi WSL 2.

Saat Anda menjalankan penginstal, ia akan menanyakan apakah Anda ingin menggunakan wadah Windows alih-alih wadah Linux. Anda pasti melakukannya. Jika tidak, Anda tidak akan mendapatkan opsi untuk menjalankan Docker di WSL.

Layar Instalasi Docker dengan opsi "Gunakan Wadah Windows" dipilih
(Pratinjau besar)

Anda sekarang dapat mengaktifkan Docker di WSL dengan mengklik item di baki sistem dan memilih "WSL 2 Tech Preview":

Opsi Pratinjau Teknologi WSL2 di menu konteks Docker Daemon
(Pratinjau besar)

Setelah Anda memulai layanan, Anda dapat menggunakan Docker di dalam WSL seperti yang Anda harapkan. Menjalankan Docker di WSL memberikan peningkatan kinerja yang cukup besar, serta peningkatan waktu mulai dingin pada container.

Mungkinkah saya juga menyarankan Anda menginstal ekstensi Docker untuk VS Code? Ini menempatkan antarmuka visual pada pengaturan Docker Anda dan umumnya hanya membuatnya lebih mudah untuk bekerja dengan Docker karena Anda tidak harus mengingat semua flag dan opsi baris perintah tersebut.

Dapatkan Lebih Banyak Bash Di Windows

Pada titik ini, Anda harus mendapatkan ide tentang cara memasang Bash di Windows, dan cara kerjanya setelah Anda mendapatkannya di sana. Anda dapat menyesuaikan terminal Anda tanpa henti dan ada berbagai macam program rad yang dapat Anda tambahkan untuk melakukan hal-hal seperti mengatur variabel PATH secara otomatis, membuat alias, mendapatkan sapi ASCII di terminal Anda, dan banyak lagi.

Menjalankan Bash di Windows membuka alam semesta yang sama sekali baru bagi saya. Saya dapat menggabungkan Windows yang saya sukai untuk sisi produktivitas, dan Linux yang saya andalkan sebagai pengembang. Yang terbaik, saya bisa membuat aplikasi untuk kedua platform sekarang dengan satu mesin.

Bacaan lebih lanjut

Anda dapat membaca lebih lanjut tentang Bash di Windows di sini:

  • “Subsistem Windows Untuk Panduan Instalasi Linux Untuk Windows 10,” Microsoft Docs
  • “Cara Memasang Dan Menggunakan Bash Shell Di Windows 10,” Chris Hoffman, How-To Geek
  • “Berbagi SSH Dengan WSL,” Drew Wilson
  • “Menjadi Gila Dengan Subsistem Jendela Untuk Linux,” Brian Ketelsen
  • “Semua yang Dapat Anda Lakukan Dengan Bash Shell Baru Windows 10,” Chris Hoffman, How-To Geek

Terima kasih khusus kepada Brian Ketelsen, Matt Hernandez, Rich Turner, dan Craig Loewen atas kesabaran, bantuan, dan bimbingan mereka dengan artikel ini.