ย้ายการพัฒนา JavaScript ของคุณไปยัง Bash บน Windows

เผยแพร่แล้ว: 2022-03-10
สรุปโดยย่อ ↬ รักเทอร์มินัล Bash ของคุณ แต่ยังรักพีซีของคุณด้วยหรือไม่ บางทีคุณอาจเคยดูฮาร์ดแวร์ Surface ใหม่บางตัวแล้ว แต่ไม่สามารถเปลี่ยนได้หากไม่มีเทอร์มินัล ตอนนี้คุณสามารถมี Windows และ Bash ในบทความนี้ เราจะมาดูวิธีตั้งค่ากล่องพัฒนา Windows/Linux สำหรับการพัฒนา JavaScript ในเชิงลึก

ฉันเป็นหนึ่งในคนเหล่านั้นที่ไม่สามารถอยู่ได้โดยปราศจาก Bash terminal ข้อเท็จจริงเพียงอย่างเดียวนี้ทำให้ฉันทำงานส่วนหน้าบน Windows ได้ยาก ฉันทำงานที่ Microsoft และฉันใช้ Mac จนกระทั่งสายผลิตภัณฑ์ฮาร์ดแวร์ Surface ใหม่ออกมาเมื่อไม่กี่ปีที่ผ่านมา ฉันจึงตระหนักว่า: ฉันต้องมีหนึ่งในนั้น

ดังนั้นฉันจึงได้หนึ่ง Surface Book 2 ที่ใช้ Windows 10 เป็นที่แน่นอน ฉันกำลังร่างบทความนี้อยู่ในขณะนี้ แล้ว Bash แสนหวานของฉันล่ะ? แน่นอนฉันพามันไปด้วยแน่นอน

ในบทความนี้ เราจะมาเจาะลึกกันว่าเทคโนโลยีใหม่ใน Windows 10 ช่วยให้คุณใช้งานเทอร์มินัล Linux แบบเต็มบน Windows ได้อย่างไร ฉันจะแสดงการตั้งค่าเทอร์มินัลที่น่าทึ่งของฉันด้วย (ซึ่ง "ฉันชื่อดีที่สุด" โดย "ฉัน") และวิธีที่คุณสามารถตั้งค่าเครื่องพัฒนา Windows/Linux ของคุณเองได้เช่นกัน

หากคุณอยากได้ฮาร์ดแวร์ Surface บางตัวแต่ขาดเทอร์มินัล Linux ไม่ได้ คุณมาถูกที่แล้ว

หมายเหตุ : ในขณะที่เขียนบทความนี้ หลายรายการในบทความนี้จะทำให้คุณต้องใช้หรือเปลี่ยนไปใช้ "ดูตัวอย่าง" หรือ "คนวงใน" ของรายการต่างๆ รวมทั้ง Windows สิ่งเหล่านี้ส่วนใหญ่จะอยู่ใน Windows build หลักในอนาคต

เพิ่มเติมหลังกระโดด! อ่านต่อด้านล่าง↓

ระบบย่อย Windows สำหรับ Linux (WSL)

ระบบย่อย Windows สำหรับ Linux หรือ “WSL” คือสิ่งที่ช่วยให้คุณเรียกใช้ Linux บน Windows แต่วิทยาศาสตร์ที่บ้าคลั่งนี้ คือ อะไร?

WSL ซึ่งอยู่ในรูปแบบปัจจุบัน เป็นเลเยอร์การแปลที่แปลงการเรียกระบบ Linux เป็นการเรียกระบบ Windows Linux ทำงานบน WSL นั่นหมายความว่าในการรับ Linux บน Windows คุณต้องทำสามสิ่ง:

  1. เปิดใช้งาน WSL
  2. ติดตั้งลินุกซ์
  3. รวมสามรายการในรายการเสมอ

ปรากฎว่าเลเยอร์การแปลนั้นค่อนข้างช้า — เหมือนกับที่ฉันพยายามจะจำว่าฉันต้องการ splice หรือ slice โดยเฉพาะอย่างยิ่งเมื่อ WSL กำลังอ่านและเขียนไปยังระบบไฟล์ นั่นเป็นปัญหาใหญ่สำหรับนักพัฒนาเว็บเนื่องจากการ npm install ที่เหมาะสมจะคัดลอกไฟล์หลายพันไฟล์ไปยังเครื่องของคุณ ฉันหมายถึง ฉันไม่รู้เกี่ยวกับคุณ แต่ฉันจะไม่เหยียบสายของฉัน เอง

เวอร์ชัน 2 ของ WSL เป็นเรื่องที่แตกต่าง เร็วกว่าเวอร์ชันปัจจุบันมากเพราะใช้ประโยชน์จากคอร์เวอร์ชวลไลเซชันใน Windows แทนที่จะใช้เลเยอร์การแปล เมื่อฉันพูดว่า "เร็วกว่ามาก" ฉันหมายถึงเร็วกว่ามาก เช่นเดียวกับฉัน Google Googling "splice vs slice"

ด้วยเหตุผลดังกล่าว ฉันจะแสดงวิธีการติดตั้ง WSL 2 ในขณะที่เขียน คุณจะต้องใช้ Windows รุ่น "Insider"

สิ่งแรกก่อน: ทำตามคำแนะนำสั้นๆ นี้เพื่อเปิดใช้งาน WSL บน Windows 10 และตรวจสอบหมายเลขเวอร์ชัน Windows ของคุณ

เมื่อคุณติดตั้งแล้ว ให้กดปุ่ม Windows และพิมพ์ “windows insider” จากนั้นเลือก "การตั้งค่าโปรแกรม Windows Insider"

ตัวเลือกเมนูการตั้งค่า Windows Insider Program
(ตัวอย่างขนาดใหญ่)

คุณจะมีตัวเลือกต่างๆ สองสามอย่างสำหรับ "แหวน" ที่คุณต้องการเปิด หลายคนที่ฉันรู้จักอยู่ในวงเร็ว ฉันเป็นคนระมัดระวังแม้ว่า เมื่อฉันยังเป็นเด็ก ฉันจะลงสไลเดอร์ที่สนามเด็กเล่นโดยจับท้องไว้ด้านข้าง นั่นคือเหตุผลที่ฉันอยู่บนวงแหวนช้า ฉันใช้งานมันมาหลายเดือนแล้ว และฉันก็พบว่ามันไม่รบกวนการทำงานหรือไม่เสถียรมากไปกว่า Windows ปกติ

เป็นตัวเลือกที่ดีถ้าคุณต้องการ WSL 2 แต่คุณไม่ต้องการที่จะตายบนสไลด์

หน้าจอการตั้งค่า Windows Insider แสดงเสียง "ช้า"
(ตัวอย่างขนาดใหญ่)

หมายเหตุ : หลังจากเผยแพร่บทความนี้ ฉันได้เรียนรู้ว่า WSL 2 ไม่ได้อยู่บนวงแหวนที่ช้า คุณจะต้องอยู่บนวงแหวนด่วนจึงจะรับได้ ฉันต้องอยู่ในขั้นตอนที่รวดเร็วในการเขียนบทความนี้ แหวนเร็วมากมันเป็น ขอให้โชคดีบนสไลด์!

ถัดไป คุณต้องเปิดใช้งานคุณลักษณะ “Virtual Machine Platform” ใน Windows ซึ่งจำเป็นสำหรับ WSL เวอร์ชัน 2 เพื่อไปที่หน้าจอนี้ ให้กดปุ่ม Windows และพิมพ์ “คุณสมบัติของ Windows” จากนั้นเลือก "เปิดหรือปิดคุณลักษณะของ Windows" เลือก “แพลตฟอร์มเครื่องเสมือน” ควรเปิดใช้งานตัวเลือก “ระบบย่อย Windows สำหรับ Linux” แล้ว

หน้าจอ “คุณสมบัติของ Windows” ที่เน้น “Virtual Machine Platform” และ “Windows Subsystem for Linux”
(ตัวอย่างขนาดใหญ่)

เมื่อเปิดใช้งาน WSL แล้ว คุณสามารถติดตั้ง Linux ได้ คุณทำเช่นนี้ได้แดกดันเพียงพอโดยตรงจาก Windows Store เฉพาะในปี 2019 ฉันขอแนะนำให้คุณ “ติดตั้ง Linux จาก Windows Store”

มีการแจกจ่ายที่แตกต่างกันหลายแบบให้เลือก แต่อูบุนตูจะได้รับการสนับสนุนมากที่สุดในเครื่องมือทั้งหมดที่เราจะกำหนดค่าในภายหลัง ซึ่งรวมถึง VS Code คำแนะนำทั้งหมดที่มาจากที่นี่โดยถือว่าติดตั้ง Ubuntu หากคุณติดตั้ง distro อื่น การเดิมพันทั้งหมดจะปิด

ค้นหา "Ubuntu" จาก Windows Store จะมีสามตัวเลือก: Ubuntu, Ubuntu 18.04 และ Ubuntu 16.04 Ubuntu ชอบหมายเลขรุ่นย่อย 04 จริงๆ ใช่ไหม

รายการ “Ubuntu” ใน Windows Store
(ตัวอย่างขนาดใหญ่)

distro ของ "Ubuntu" (อันแรกในภาพหน้าจอนี้) คือ "เวอร์ชันเมตา" หรือเป็นตัวยึดตำแหน่งที่ชี้ไปที่เวอร์ชันล่าสุดเท่านั้น ณ ตอนนี้ นั่นคือ 18.04

ฉันใช้เวอร์ชันเมตาเพราะในภายหลังฉันจะแสดงวิธีเรียกดูระบบไฟล์ Linux ด้วย Windows Explorer และมันค่อนข้างยุ่งที่จะมี "Ubuntu 18.04" เป็นชื่อไดรฟ์เทียบกับ "Ubuntu"

การติดตั้งนี้ค่อนข้างรวดเร็วขึ้นอยู่กับการเชื่อมต่ออินเทอร์เน็ตของคุณ มีขนาดเพียง 215 เมกะไบต์ แต่ฉันใช้การเชื่อมต่อแบบกิกะบิตที่นี่ และคุณจะทราบได้อย่างไรว่ามีใครใช้การเชื่อมต่อแบบกิกะบิต ไม่ต้องกังวลพวกเขาจะบอกคุณ

เมื่อติดตั้งแล้ว คุณจะมีแอป "Ubuntu" ในเมนูเริ่มต้น

ติดตั้ง Ubuntu และแสดงในเมนู Start ของ Windows
(ตัวอย่างขนาดใหญ่)

หากคุณคลิกที่คุณจะได้รับเทอร์มินัล Bash!

เทอร์มินัล Ubuntu ที่ทำงานบน Windows
(ตัวอย่างขนาดใหญ่)

ใช้เวลาสักครู่เพื่อดื่มด่ำกับความอัศจรรย์ของเทคโนโลยี

โดยค่าเริ่มต้น คุณจะใช้งาน WSL เวอร์ชัน 1 ได้ หากต้องการอัปเกรดเป็นเวอร์ชัน 2 คุณจะต้องเปิดเทอร์มินัล PowerShell และเรียกใช้คำสั่ง

กดปุ่ม "Windows" และพิมพ์ "Powershell"

รายการ “Powershell” ในเมนูเริ่ม
(ตัวอย่างขนาดใหญ่)

จากเทอร์มินัล PowerShell คุณสามารถดูเวอร์ชันของ WSL ที่คุณมีได้โดยดำเนินการ wsl --list --verbose

การทำรายการแบบละเอียดของอินสแตนซ์ WSL ทั้งหมดที่ทำงานจากภายใน Powershell
(ตัวอย่างขนาดใหญ่)

หากคุณกำลังแสดงเวอร์ชัน 1 คุณจะต้องรันคำสั่ง --set-version และระบุชื่อของอินสแตนซ์ (Ubuntu) และเวอร์ชันที่คุณต้องการ (2)

 wsl --set-version Ubuntu 2 
การตั้งค่าเวอร์ชันของ WSL เป็นเวอร์ชัน 2 ด้วย Powershell
(ตัวอย่างขนาดใหญ่)

การดำเนินการนี้จะใช้เวลาเล็กน้อย ขึ้นอยู่กับว่าเครื่องของคุณมีเนื้อมากแค่ไหน ของฉันใช้เวลา "บางนาที" ให้หรือรับ เมื่อเสร็จแล้ว คุณจะใช้ WSL เวอร์ชันล่าสุดและดีที่สุด

คือสมองของคุณบน Linux… บน Windows

ลินุกซ์ไม่ใช่วินโดวส์ WSL ไม่ใช่ bash prompt ที่ด้านบนของระบบปฏิบัติการ Windows เป็นระบบปฏิบัติการเต็มรูปแบบสำหรับตัวเองโดยมีโครงสร้างโฟลเดอร์และแอปพลิเคชันที่ติดตั้งไว้ หากคุณติดตั้ง Node ด้วยตัวติดตั้ง Windows การพิมพ์ node ใน Linux จะล้มเหลวเนื่องจากไม่ได้ติดตั้ง Node ใน Linux มันถูกติดตั้งบน Windows

ความมหัศจรรย์ที่แท้จริงของ WSL อยู่ที่การเชื่อมต่อ Windows และ Linux อย่างราบรื่น เพื่อให้ปรากฏเป็นระบบไฟล์เดียวในเครื่องของคุณ

การนำทางไฟล์และโฟลเดอร์

ตามค่าเริ่มต้น เทอร์มินัล Ubuntu จะนำคุณไปที่โฮมไดเร็กทอรี Linux ของคุณ (หรือ /home/your-user-name ) คุณสามารถย้ายไปที่ฝั่ง Windows ได้โดยไปที่ /mnt/c

เทอร์มินัล Ubuntu ที่มีเนื้อหาสำหรับไดรฟ์ C อยู่ในรายการ
(ตัวอย่างขนาดใหญ่)

ขอให้สังเกตว่าการอนุญาตบางอย่างถูกปฏิเสธที่นี่ ฉันจะต้องคลิกขวาที่ไอคอน Ubuntu แล้วคลิก "เรียกใช้ในฐานะผู้ดูแลระบบ" เพื่อเข้าถึงไฟล์เหล่านี้ นี่เป็นวิธีที่ Windows ทำการอนุญาตระดับสูง ไม่มี sudo บน Windows

เปิดตัวแอปพลิเคชั่น

คุณสามารถเปิดแอปพลิเคชัน Windows ใดก็ได้จากเทอร์มินัล Ubuntu ตัวอย่างเช่น ฉันสามารถเปิด Windows Explorer จากเทอร์มินัล Unbuntu

Windows Explorer และเทอร์มินัล Ubuntu
(ตัวอย่างขนาดใหญ่)

สิ่งนี้ยังทำงานในทางกลับกัน คุณสามารถรันแอปพลิเคชันใดๆ ที่ติดตั้งบนฝั่ง Linux ที่นี่ฉันกำลังเรียกใช้ "โชคลาภ" ที่ติดตั้งใน Linux จากบรรทัดคำสั่งของ Windows (เพราะมันไม่ใช่การติดตั้ง Linux ที่เหมาะสมโดยปราศจากโชคสุ่มและไร้ความหมาย)

บรรทัดคำสั่งของ Windows ที่เรียกใช้โปรแกรม "โชคลาภ" ของลินุกซ์
(ตัวอย่างขนาดใหญ่)

สองระบบปฏิบัติการที่แตกต่างกัน สองระบบไฟล์ที่แตกต่างกัน แอปพลิเคชั่นที่ติดตั้งไว้สองชุดที่แตกต่างกัน ดูว่าสิ่งนี้จะทำให้สับสนได้อย่างไร

เพื่อให้ทุกอย่างตรงไปตรงมา เราขอแนะนำให้คุณเก็บไฟล์และเครื่องมือการพัฒนา JavaScript ทั้งหมดของคุณที่ติดตั้งไว้ที่ด้าน Linux ที่กล่าวว่าความสามารถในการย้ายระหว่าง Windows และ Linux และการเข้าถึงไฟล์จากทั้งสองระบบคือความมหัศจรรย์หลักของ WSL อย่าลืมเพราะมันเป็นสิ่งที่ทำให้การตั้งค่าทั้งหมดนี้ดีกว่ากล่อง Linux มาตรฐาน

การตั้งค่าสภาพแวดล้อมการพัฒนาของคุณ

จากนี้ไป ฉันจะแสดงรายการของความคิดเห็นสำหรับสิ่งที่ฉันคิดว่าทำให้ Linux นักฆ่าในการติดตั้ง Windows เพียงจำไว้ว่า: ความคิดเห็นของฉันเป็นอย่างนั้น ความคิดเห็น . มันเพิ่งเกิดขึ้นที่เหมือนกับความคิดเห็นทั้งหมดของฉัน พวกเขาถูกต้อง 100%

การรับเทอร์มินัลที่ดีขึ้น

ใช่ คุณมีเทอร์มินัลเมื่อคุณติดตั้ง Ubuntu เป็นคอนโซล Windows ที่เชื่อมต่อกับ distro Linux ของคุณ มันไม่ใช่คอนโซลที่ไม่ดี คุณสามารถปรับขนาดได้ เปิดคัดลอก/วาง (ในการตั้งค่า) แต่คุณไม่สามารถทำสิ่งต่างๆ เช่น แท็บหรือเปิดหน้าต่างใหม่ได้ เช่นเดียวกับที่หลายคนใช้โปรแกรมเทอร์มินัลทดแทนบน Mac (ฉันใช้ Hyper) ก็มีตัวเลือกอื่นๆ สำหรับ Windows เช่นกัน รายการ Awesome WSL บน Github มีรายการที่ละเอียดถี่ถ้วน

สิ่งเหล่านี้ล้วนเป็นอีมูเลเตอร์ที่ดี แต่มีตัวเลือกใหม่ที่สร้างขึ้นโดยผู้ที่รู้จัก Windows เป็นอย่างดี

Microsoft ได้ทำงานกับแอปพลิเคชันใหม่ที่ชื่อว่า “Windows Terminal”

รายการ Windows Terminal ใน Windows Store
(ตัวอย่างขนาดใหญ่)

สามารถติดตั้ง Windows Terminal ได้จาก Windows Store และขณะนี้อยู่ในโหมดแสดงตัวอย่าง ฉันใช้มันมาระยะหนึ่งแล้ว และมันมีคุณสมบัติเพียงพอและเสถียรเพียงพอสำหรับฉันที่จะรับรองอย่างเต็มที่

Windows Terminal ใหม่มีอินเทอร์เฟซแท็บเต็มรูปแบบ คัดลอก/วาง หลายโปรไฟล์ พื้นหลังโปร่งใส ภาพพื้นหลัง แม้กระทั่งภาพพื้นหลังแบบโปร่งใส วันนี้เป็นวันลงสนามหากคุณต้องการปรับแต่งเทอร์มินัลของคุณ และฉันมาเพื่อชนะการแข่งขันกระสอบนี้

นี่คือเทอร์มินัลปัจจุบันของฉัน เราจะพูดถึงการปรับแต่งที่สำคัญบางส่วนที่นี่

เทอร์มินัลปัจจุบันของผู้แต่ง: พื้นหลังสีน้ำเงินเข้มพร้อมดาวเคราะห์การ์ตูนที่มุมล่างขวามือ ข้อความสีเขียวและสีขาว
(ตัวอย่างขนาดใหญ่)

เทอร์มินัล Windows ค่อนข้างปรับแต่งได้ การคลิกลูกศร “ ” ที่ด้านบนซ้าย (ข้างเครื่องหมาย “ + ”) จะทำให้คุณเข้าถึง “การตั้งค่า” นี่จะเป็นการเปิดไฟล์ JSON

เข้าเล่ม/วาง

ที่ด้านบนของไฟล์มีการผูกคีย์ทั้งหมด สิ่งแรกที่ฉันทำคือแมป "คัดลอก" ไปที่ Ctrl + C และวาง Ctrl + V ฉันจะคัดลอกและวางคำสั่งจาก Stack Overflow ที่ฉันไม่เข้าใจได้อย่างไร

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

ปัญหาคือ Ctrl + C ถูกแมปกับ SIGINT หรือคำสั่ง Interrupt/kill บน Linux มีเทอร์มินัลจำนวนมากสำหรับ Windows ที่จัดการสิ่งนี้โดยแมป Copy/Paste ไปที่ Ctrl + Shift + C และ Ctrl + Shift + V ตามลำดับ ปัญหาคือการคัดลอก/วางคือ Ctrl + C / Ctrl + V ทุกๆ ที่ใน Windows ฉันแค่กด Ctrl + C ในเทอร์มินัลซ้ำแล้วซ้ำอีกเพื่อพยายามคัดลอกสิ่งต่างๆ ฉันไม่สามารถหยุดทำมันได้

เทอร์มินัล Windows จัดการสิ่งนี้แตกต่างกัน หากคุณไฮไลต์ข้อความไว้และกด Ctrl + C ระบบจะคัดลอกข้อความ หากมีกระบวนการทำงานอยู่ มันยังคงส่งคำสั่ง SIGINT ลงมาและขัดจังหวะกระบวนการนั้น หมายความว่าคุณสามารถแมป Ctrl + C / Ctrl + V เพื่อคัดลอก/วางใน Windows Terminal ได้อย่างปลอดภัย และจะไม่รบกวนความสามารถในการขัดจังหวะกระบวนการของคุณ

ใครบ้างที่คิดว่า Copy/Paste อาจทำให้ใจสลายได้?

เปลี่ยนโปรไฟล์เริ่มต้น

โปรไฟล์เริ่มต้นคือสิ่งที่ปรากฏขึ้นเมื่อเปิดแท็บใหม่ โดยค่าเริ่มต้น นั่นคือ Powershell ให้เลื่อนลงมาเจอโปรไฟล์ Linux นี่คืออันที่เปิดขึ้น wsl.exe -d Ubuntu คัดลอก GUID และวางลงในการตั้งค่า defaultProfile

ฉันได้ย้ายการตั้งค่าทั้งสองนี้เพื่อให้อยู่ติดกันเพื่อให้มองเห็นได้ง่ายขึ้น:

โปรไฟล์เทอร์มินัลเริ่มต้นที่ไฮไลต์ในไฟล์ settings.json
(ตัวอย่างขนาดใหญ่)

ตั้งพื้นหลัง

ฉันชอบพื้นหลังที่เป็นสีทึบและมีโลโก้แบนๆ อยู่ที่มุมขวามือ ฉันทำเช่นนี้เพราะฉันต้องการให้โลโก้สว่างและมองเห็นได้ แต่ไม่ใช่ในลักษณะของข้อความ อันนี้ฉันทำเอง แต่มีคอลเล็กชั่นภาพแบนมากมายให้เลือกที่ Simple Desktops

พื้นหลังถูกกำหนดด้วยคุณสมบัติ backgroundImage :

 "backgroundImage": "c:/Users/YourUserName/Pictures/earth.png" 
ภาพสี่เหลี่ยมสีน้ำเงินที่มีดาวเคราะห์การ์ตูนอยู่ที่มุมล่างขวามือ
(ตัวอย่างขนาดใหญ่)

คุณจะสังเกตเห็นการตั้งค่าที่เรียกว่า “อะคริลิก” นี่คือสิ่งที่ช่วยให้คุณปรับความทึบของพื้นหลังได้ หากคุณมีสีพื้นหลังแบบทึบ วิธีนี้ค่อนข้างตรงไปตรงมา

 "background": "#336699", "useAcrylic": true, "acrylicOpacity": 0.5 
เทอร์มินัลที่มีพื้นหลังโปร่งใสเล็กน้อย
(ตัวอย่างขนาดใหญ่)

คุณสามารถดึงสิ่งนี้ออกด้วยภาพพื้นหลังได้เช่นกันโดยรวมการตั้งค่า arcylicOpacity กับ backgroundImageOpacity :

 "backgroundImage": "c:/Users/username/Pictures/earth-and-stars.png", "useAcrylic": true, "acrylicOpacity": 0.5 
เทอร์มินัลที่มีทั้งภาพโปร่งใสและพื้นหลังโปร่งใส
(ตัวอย่างขนาดใหญ่)

สำหรับธีมของฉัน ความโปร่งใสทำให้ทุกอย่างดูถูกปิดเสียง ดังนั้นฉันจึงตั้งค่า useAcrylic false

เปลี่ยนแบบอักษร

ทีมงานที่สร้าง Windows Terminal กำลังทำงานบนฟอนต์ใหม่ที่เรียกว่า “Cascadia Code” ไม่พร้อมใช้งานในขณะที่เขียนบทความนี้ ดังนั้นคุณจะได้รับแบบอักษร Windows เริ่มต้นแทน

แบบอักษรเริ่มต้นใน Windows Terminal คือ “คอนโซล” นี่เป็นแบบอักษรเดียวกับที่บรรทัดคำสั่งของ Windows ใช้ หากคุณต้องการสัมผัส Ubuntu ที่แท้จริง Chris Hoffman ชี้ให้เห็นว่าคุณจะติดตั้งฟอนต์ Ubuntu Mono อย่างเป็นทางการได้อย่างไร

นี่คือก่อนและหลังเพื่อให้คุณเห็นความแตกต่าง:

 "fontFace": "Ubuntu Mono" 
การเปรียบเทียบระหว่างแบบอักษร Consolas และ Unbuntu Mono ในเทอร์มินัล
(ตัวอย่างขนาดใหญ่)

พวกเขาดูคล้ายกันมาก ความแตกต่างหลักอยู่ที่ระยะห่างของ Ubuntu Mono ซึ่งทำให้เทอร์มินัลแน่นและสะอาดขึ้นเล็กน้อย

แบบแผนสี

ชุดสีทั้งหมดจะอยู่ที่ด้านล่างของไฟล์การตั้งค่า ฉันคัดลอกชุดสี "แคมป์เบลล์" เป็นพื้นฐาน ฉันพยายามจับคู่สีกับชื่อของพวกเขา แต่ฉันไม่กลัวที่จะโกงเช่นกัน ฉันจะจับคู่ “#ffffff” กับ “สีน้ำเงิน” — ฉันไม่สนใจด้วยซ้ำ

การตั้งค่าโครงร่างสีจากไฟล์ settings.json
(ตัวอย่างขนาดใหญ่)

หากคุณชอบรูปแบบเฉพาะนี้ซึ่งฉันตั้งชื่อว่า "Earth" ฉันได้รวบรวมส่วนสำคัญนี้ไว้ด้วยกัน เพื่อที่คุณจะได้ไม่ต้องคัดลอกความยุ่งเหยิงทั้งหมดนี้ออกจากภาพหน้าจอด้วยตนเอง

หมายเหตุ : ตัวอย่างสีมาจากส่วนขยาย "Color Highlight" สำหรับ VS Code

เปลี่ยนไดเร็กทอรีเริ่มต้นเริ่มต้น

ตามค่าเริ่มต้น โปรไฟล์ WSL จะนำคุณไปที่โฮมไดเร็กตอรี่ของคุณทางฝั่ง Windows จากการตั้งค่าที่ฉันแนะนำในบทความนี้ ขอแนะนำให้วางลงในโฟลเดอร์ home ของ Linux แทน ในการทำเช่นนั้น ให้เปลี่ยนการตั้งค่า startingDirectory ในโปรไฟล์ "Ubuntu" ของคุณ:

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

สังเกตเส้นทางที่นั่น คุณสามารถใช้เส้นทางนี้ (ลบเครื่องหมายสแลชพิเศษ) เพื่อเข้าถึง WSL จากบรรทัดคำสั่งของ Windows

คำสั่ง “dir” ทำงานกับโฮมไดเร็กทอรีของ Linux จาก Windows Command Line
(ตัวอย่างขนาดใหญ่)

ติดตั้ง Zsh/Oh-My-Zsh

หากคุณไม่เคยใช้ Zsh และ Oh-My-Zsh มาก่อน แสดงว่าคุณพร้อมสำหรับการปฏิบัติจริงแล้ว Zsh (หรือ “Z Shell”) เป็นเชลล์ทดแทนสำหรับ Linux มันขยายความสามารถพื้นฐานของ Bash รวมถึงการสลับไดเร็กทอรีโดยนัย (ไม่จำเป็นต้องพิมพ์ cd ) การสนับสนุนธีมที่ดีกว่า พร้อมท์ที่ดีกว่า และอีกมากมาย

ในการติดตั้ง Zsh ให้คว้ามันด้วย apt package manager ซึ่งมาพร้อมกับการติดตั้ง Linux ของคุณ:

 sudo apt install zsh

ติดตั้ง oh-my-zsh โดยใช้ curl Oh-my-zsh คือชุดการกำหนดค่าสำหรับ zsh ที่ปรับปรุงประสบการณ์การใช้งานเชลล์ให้ดียิ่งขึ้นด้วยปลั๊กอิน ธีม และแป้นพิมพ์ลัดมากมาย

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

จากนั้นระบบจะถามคุณว่าคุณต้องการเปลี่ยนเชลล์เริ่มต้นเป็น Zsh หรือไม่ คุณตอบตกลงและตอนนี้คุณก็พร้อมใช้ Zsh และ Oh-My-Zsh แล้ว

เทอร์มินัลถามว่าคุณต้องการเปลี่ยนเชลล์เริ่มต้นหรือไม่
(ตัวอย่างขนาดใหญ่)

คุณจะสังเกตเห็นว่าข้อความแจ้งนั้นสะอาดกว่ามากในตอนนี้ คุณสามารถเปลี่ยนลักษณะของพรอมต์นั้นได้โดยเปลี่ยนธีมในไฟล์ ~/.zshrc

เปิดด้วย nano ซึ่งคล้ายกับ VIM แต่คุณสามารถแก้ไขสิ่งต่าง ๆ และออกเมื่อต้องการ

 nano ~/.zshrc

เปลี่ยนบรรทัดที่กำหนดธีม มี URL ด้านบนพร้อมรายการธีมทั้งหมด ฉันคิดว่า "เมฆ" เป็นสิ่งที่ดี และน่ารัก

ชุดรูปแบบ "cloud" ถูกตั้งค่าในไฟล์ zshrc
(ตัวอย่างขนาดใหญ่)

หากต้องการรับการเปลี่ยนแปลงในไฟล์ .zshrc คุณจะต้องระบุแหล่งที่มา:

 source ~/.zshrc 
ธีม "คลาวด์" พร้อมท์
(ตัวอย่างขนาดใหญ่)

หมายเหตุ : หากคุณเลือกธีมเช่น “agnoster” ซึ่งต้องใช้ร่ายมนตร์ คุณจะต้องมี Ubuntu Mono เวอร์ชันรวม powerline ที่มี… ร่ายมนตร์ มิฉะนั้น เทอร์มินัลของคุณจะเต็มไปด้วยอักขระแปลก ๆ เช่นคุณบดหน้าบนแป้นพิมพ์ Nerd Fonts เสนอให้ใช้งานได้ค่อนข้างดี

ตอนนี้คุณสามารถทำสิ่งต่างๆ เช่น เปลี่ยนไดเร็กทอรีเพียงแค่ป้อนชื่อไดเร็กทอรี ไม่ต้องใช้ cd ต้องการสำรองข้อมูลไดเร็กทอรีหรือไม่? แค่ทำ .. . . คุณไม่จำเป็นต้องพิมพ์ชื่อไดเร็กทอรีทั้งหมดด้วยซ้ำ แค่พิมพ์อักษรสองสามตัวแรกแล้วกด tab Zsh จะให้รายชื่อไฟล์/ไดเร็กทอรีทั้งหมดที่ตรงกับการค้นหาของคุณ และคุณสามารถแท็บผ่านพวกมันได้

อาคารผู้โดยสารที่เน้นเส้นทางใดเส้นทางหนึ่งจากหลายเส้นทาง
(ตัวอย่างขนาดใหญ่)

การติดตั้งโหนด

ในฐานะนักพัฒนาเว็บ คุณอาจต้องการติดตั้ง Node ฉันคิดว่าคุณไม่ จำเป็นต้อง ติดตั้ง Node เพื่อพัฒนาเว็บ แต่มันให้ความรู้สึกเหมือนในปี 2019 แน่นอน!

สัญชาตญาณแรกของคุณอาจเป็นการติดตั้ง node ด้วย apt ซึ่งคุณทำได้ แต่คุณจะเสียใจด้วยเหตุผลสองประการ:

  1. เวอร์ชันของ Node บน apt ล้าสมัยอย่างมาก
  2. คุณควรติดตั้ง Node ด้วยตัวจัดการเวอร์ชันเพื่อไม่ให้เกิดปัญหาในการอนุญาต

วิธีที่ดีที่สุดในการแก้ปัญหาทั้งสองนี้คือการติดตั้ง nvm (Node Version Manager) เนื่องจากคุณติดตั้ง zsh แล้ว คุณสามารถเพิ่มปลั๊กอิน nvm ในไฟล์ zshrc ของคุณ แล้ว zsh จะจัดการส่วนที่เหลือเอง

ขั้นแรก ติดตั้งปลั๊กอินโดยการโคลนใน repo zsh-nvm (อย่ากังวล Git เป็นมาตรฐานในการติดตั้ง Ubuntu ของคุณ)

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

จากนั้นเพิ่มเป็นปลั๊กอินในไฟล์ ~/.zshrc

 `nano ~/.zshrc` plugins (zsh-nvm git) 
ไฟล์ zshrc ที่มี zsh-vnm-plugin เพิ่ม
(ตัวอย่างขนาดใหญ่)

อย่าลืมซอร์สไฟล์ zshrc อีกครั้งด้วย source ~/.zshrc และคุณจะเห็นว่ามีการติดตั้ง nvm

เทอร์มินัลแสดงความคืบหน้าการติดตั้งของ nvm
(ตัวอย่างขนาดใหญ่)

ตอนนี้คุณสามารถติดตั้งโหนดด้วย nvm ทำให้ง่ายต่อการติดตั้งโหนดหลายเวอร์ชันเคียงข้างกัน และสลับไปมาระหว่างโหนดต่างๆ ได้อย่างง่ายดาย นอกจากนี้ยังไม่มีข้อผิดพลาดในการอนุญาตเมื่อคุณทำการติดตั้ง global npm!

 nvm install --lts

ฉันแนะนำสิ่งนี้มากกว่าการติดตั้ง nvm มาตรฐานเพราะปลั๊กอินช่วยให้คุณสามารถอัพเกรด nvm ได้อย่างง่ายดาย นี่เป็นความเจ็บปวดเมื่อติดตั้ง "ขด" มาตรฐาน เป็นคำสั่งเดียวกับปลั๊กอิน

 nvm upgrade

ใช้คำแนะนำอัตโนมัติ

หนึ่งในปลั๊กอินที่ฉันชอบมากสำหรับ zsh คือ zsh-autosuggestions โดยจะจดจำสิ่งที่คุณเคยพิมพ์ในเครื่องเทอร์มินัลมาก่อน จากนั้นจะจดจำเมื่อคุณเริ่มพิมพ์อีกครั้ง รวมทั้ง "แนะนำอัตโนมัติ" บรรทัดที่คุณอาจต้องการ ปลั๊กอินนี้มีประโยชน์มากกว่าที่ฉันจำได้ โดยเฉพาะอย่างยิ่งเมื่อพูดถึงคำสั่ง CLI แบบยาวที่ฉันเคยใช้ในอดีต แต่จำไม่ได้

โคลน repo ลงในโฟลเดอร์ส่วนขยาย zsh:

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

จากนั้นเพิ่มลงในปลั๊กอิน zsh ของคุณและแหล่งที่มาของไฟล์ zshrc:

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

ปลั๊กอินจะอ่านประวัติ zsh ของคุณ ดังนั้นให้เริ่มพิมพ์คำสั่งที่คุณเคยพิมพ์มาก่อนและดูความมหัศจรรย์ ลองพิมพ์ส่วนแรกของคำสั่งโคลนแบบยาวด้านบน

เทอร์มินัลแสดง zsh autosuggestions อัตโนมัติเสร็จสิ้นคำสั่ง git clone
(ตัวอย่างขนาดใหญ่)

หากคุณกด จะเป็นการเติมคำสั่งอัตโนมัติ หากคุณกด ต่อไป มันจะวนไปตามคำสั่งใดๆ ในประวัติของคุณที่อาจตรงกัน

แป้นพิมพ์ลัดที่สำคัญ

มีทางลัดเทอร์มินัลสองสามตัวที่ฉันใช้ตลอดเวลา ฉันพบสิ่งนี้ด้วยเครื่องมือทั้งหมดของฉัน รวมถึง VS Code การพยายามเรียนรู้คำสั่งลัดทั้งหมดเป็นการเสียเวลา เพราะคุณจะไม่ใช้มันมากพอที่จะจำ

ต่อไปนี้คือบางส่วนที่ฉันใช้เป็นประจำ:

ทางลัดเทอร์มินัล มันทำอะไร?
Ctrl + L การดำเนินการนี้จะล้างเทอร์มินัลและนำคุณกลับสู่ด้านบน เทียบเท่ากับคำว่า "ชัดเจน"
Ctrl + U สิ่งนี้จะล้างบรรทัดปัจจุบันเท่านั้น
Ctrl + A ส่งเคอร์เซอร์ไปที่จุดเริ่มต้นของบรรทัดคำสั่ง
Ctrl + E ย้ายไปยังจุดสิ้นสุดของบรรทัด
Ctrl + K ลบอักขระทั้งหมดหลังเคอร์เซอร์

แค่นั้นแหละ! ทุกสิ่งทุกอย่างที่ฉันอาจได้เรียนรู้แล้วลืมไปเพราะไม่เคยมีประโยชน์อะไรเลย

การกำหนดค่า Git(Hub/Lab/Whatevs)

Git มาบน Ubuntu ดังนั้นจึงไม่จำเป็นต้องติดตั้ง คุณสามารถทำตามคำแนะนำที่โฮสต์การควบคุมแหล่งที่มาที่คุณเลือกเพื่อสร้างคีย์ ssh และทำงาน

โปรดทราบว่าในคำแนะนำ Github จะบอกให้คุณใช้ยูทิลิตี้ "คัดลอก" เพื่อคัดลอกคีย์ ssh ของคุณ Ubuntu มีคำสั่ง “xcopy” แต่จะใช้งานไม่ได้เนื่องจากไม่มีการทำงานร่วมกันระหว่าง Linux และ Windows ในแง่ของคลิปบอร์ด

คุณสามารถใช้โปรแกรมสั่งการของ Windows Clipboard และเรียกมันโดยตรงจากเทอร์มินัลแทน คุณต้องรับข้อความก่อนด้วย cat จากนั้นไพพ์ไปที่คลิปบอร์ดของ Windows

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

เอกสาร Github บอกให้คุณตรวจสอบให้แน่ใจว่า ssh-agent กำลังทำงานอยู่ มันไม่ใช่. คุณจะเห็นสิ่งนี้เมื่อคุณลองและเพิ่มรหัสของคุณไปยังตัวแทน:

เทอร์มินัลแสดงว่าเอเจนต์ ssh ไม่ทำงาน
(ตัวอย่างขนาดใหญ่)

คุณสามารถเริ่มเอเจนต์ได้ แต่ครั้งต่อไปที่คุณรีบู๊ต Windows หรือ WSL หยุดทำงาน คุณจะต้องเริ่มใหม่อีกครั้ง เนื่องจากไม่มีระบบการเริ่มต้นใน WSL ไม่มี systemd หรือกระบวนการอื่นที่เริ่มต้นบริการทั้งหมดของคุณเมื่อ WSL เริ่มทำงาน WSL ยังคงอยู่ในการแสดงตัวอย่าง และทีมงานกำลังดำเนินการแก้ไขปัญหานี้

ในระหว่างนี้ เชื่อหรือไม่ว่ามีปลั๊กอิน zsh สำหรับสิ่งนี้ด้วย เรียกว่า ssh-agent และมาพร้อมกับ oh-my-zsh ดังนั้นสิ่งที่คุณต้องทำคืออ้างอิงในไฟล์ .zshrc

 zsh-nvm zsh-autosuggestions ssh-agent git

สิ่งนี้จะเริ่มต้น ssh-agent โดยอัตโนมัติหากไม่ได้ทำงานในครั้งแรกที่คุณเปิด WSL ข้อเสียคือมันจะถามรหัสผ่านของคุณทุกครั้งที่ WSL เริ่มต้นใหม่ นั่นหมายถึงทุกครั้งที่คุณรีบูทคอมพิวเตอร์ของคุณ

เทอร์มินัลแจ้งข้อความรหัสผ่านสำหรับคีย์ rsa
(ตัวอย่างขนาดใหญ่)

รหัส VS และ WSL

WSL ไม่มี GUI คุณจึงไม่สามารถติดตั้งเครื่องมือแสดงภาพ เช่น VS Code ได้ ที่ต้องติดตั้งที่ฝั่ง Windows สิ่งนี้ทำให้เกิดปัญหาเนื่องจากคุณมีโปรแกรมที่ทำงานบนฝั่ง Windows เพื่อเข้าถึงไฟล์บนฝั่ง Linux และอาจส่งผลให้เกิดปัญหาในคฤหาสน์และ "การปฏิเสธการอนุญาต" ตามหลักการทั่วไป Microsoft ไม่แนะนำให้คุณแก้ไขไฟล์ในด้าน WSL ด้วยโปรแกรม Windows

ในการแก้ไขปัญหานี้ มีส่วนขยายสำหรับ VS Code ที่เรียกว่า “Remote WSL” ส่วนขยายนี้สร้างโดย Microsoft และช่วยให้คุณพัฒนาภายใน WSL แต่จากภายใน VS Code

เมื่อติดตั้งส่วนขยายแล้ว คุณสามารถแนบ VS Code กับฝั่ง Ubuntu ได้โดยตรงโดยเปิด Command Palette ( Ctrl + Shift + P ) แล้วเลือก “Remote-WSL: New Window”

รหัส VS พร้อมคำสั่ง “Remote WSL: New Window” ที่ไฮไลต์ใน Command Palette
(ตัวอย่างขนาดใหญ่)

สิ่งนี้จะเปิด VS Code ตัวใหม่ที่ให้คุณทำงานราวกับว่าคุณทำงานด้านลินุกซ์อย่างเต็มที่ การทำ "File/Open" จะเรียกค้นระบบไฟล์ Ubuntu แทนที่จะเป็น Windows

VS Code “เปิดไฟล์” มุมมอง
(ตัวอย่างขนาดใหญ่)

เทอร์มินัลที่ผสานรวมใน VS Code จะเปิดการตั้งค่า zsh ที่ปรับแต่งอย่างสวยงามของคุณ ทุกอย่าง “ใช้งานได้” อย่างที่ควรจะเป็นเมื่อคุณติดตั้งส่วนขยาย Remote WSL

หากคุณเปิดรหัสจากเทอร์มินัลของคุณด้วย code . VS Code จะตรวจพบโดยอัตโนมัติว่าเปิดจาก WSL และจะแนบส่วนขยาย Remote WSL โดยอัตโนมัติ

ส่วนขยายโค้ด VS พร้อม Remote WSL

ส่วนขยาย WSL ระยะไกลสำหรับรหัส VS ทำงานโดยการตั้งค่าเซิร์ฟเวอร์ขนาดเล็กบนฝั่ง Linux จากนั้นเชื่อมต่อจาก VS Code ทางฝั่ง Windows ในกรณีนี้ ส่วนขยายที่คุณติดตั้งใน VS Code จะไม่แสดงขึ้นโดยอัตโนมัติเมื่อคุณเปิดโครงการจาก WSL

ตัวอย่างเช่น ฉันมีโปรเจ็กต์ Vue ที่เปิดอยู่ใน VS Code แม้ว่าฉันจะติดตั้งส่วนขยาย Vue ที่ถูกต้องทั้งหมดสำหรับการเน้นไวยากรณ์ การจัดรูปแบบ และอื่นๆ ที่คล้ายกัน VS Code ก็ทำหน้าที่เหมือนไม่เคยเห็นไฟล์ . .vue มาก่อน

ไฟล์ .vue เปิดใน VS Code โดยไม่มีการเน้นไวยากรณ์
(ตัวอย่างขนาดใหญ่)

ส่วนขยายทั้งหมดที่คุณติดตั้งสามารถเปิดใช้งานได้ใน WSL เพียงค้นหาส่วนขยายที่คุณต้องการใน WSL แล้วคลิกปุ่ม "ติดตั้งใน WSL"

หน้า Landing Page ของส่วนขยาย Vetur VS Code ใน VS Code
(ตัวอย่างขนาดใหญ่)

ส่วนขยายทั้งหมดที่ติดตั้งใน WSL จะแสดงในส่วนของตนเองในมุมมอง Extensions Explorer หากคุณมีส่วนขยายจำนวนมาก การติดตั้งแต่ละรายการแยกกันอาจน่ารำคาญเล็กน้อย หากคุณต้องการเพียงแค่ติดตั้งทุกส่วนขยายที่คุณมีใน WSL ให้คลิกไอคอนดาวน์โหลดบนคลาวด์เล็กๆ ที่ด้านบนของส่วน 'ในเครื่อง - ติดตั้งแล้ว'

มุมมองส่วนขยายในรหัส VS พร้อมติดตั้งส่วนขยายทั้งหมดในไอคอน WSL ที่ไฮไลต์
(ตัวอย่างขนาดใหญ่)

วิธีตั้งค่าไดเร็กทอรี Dev ของคุณ

นี่เป็นบทความที่มีความคิดเห็นอยู่แล้ว ดังนั้นนี่คือบทความที่คุณไม่ได้ถามถึงวิธีที่ฉันคิดว่าคุณควรจัดโครงสร้างโครงการของคุณในระบบไฟล์ของคุณ

ฉันเก็บโครงการทั้งหมดของฉันไว้ที่ฝั่ง Linux ฉันไม่ใส่โปรเจ็กต์ของฉันใน "เอกสารของฉัน" แล้วลองและทำงานกับพวกเขาจาก WSL สมองของฉันไม่สามารถจัดการกับสิ่งนั้นได้

ฉันสร้างโฟลเดอร์ชื่อ /dev ซึ่งฉันใส่ไว้ในรูทของโฟลเดอร์ /home ใน Linux ภายในโฟลเดอร์นั้น ฉันสร้างอีกอันที่มีชื่อเดียวกับ Github repo ของฉัน: /burkeholland โฟลเดอร์นั้นเป็นที่ที่โปรเจ็กต์ทั้งหมดของ ฉัน ไป แม้แต่โปรเจ็กต์ที่ไม่ได้ถูกผลักไปที่ Github

ถ้าฉันโคลน repo จากบัญชี Github อื่น (เช่น “microsoft”) ฉันจะสร้างโฟลเดอร์ใหม่ใน “dev” ชื่อ /microsoft จากนั้นฉันก็โคลน repo ลงในโฟลเดอร์ที่อยู่ภายในนั้น

โดยพื้นฐานแล้ว ฉันกำลังเลียนแบบโครงสร้างเดียวกันกับการควบคุมแหล่งที่มาบนเครื่องของฉัน ฉันคิดว่ามันง่ายกว่ามากที่จะให้เหตุผลว่าโครงการอยู่ที่ไหนและเก็บที่เก็บถาวรไว้ที่ไหนโดยอาศัยตำแหน่งของพวกเขา เรียบง่าย แต่มีประสิทธิภาพสูงในการช่วยให้ฉันจัดระเบียบทุกอย่างได้ และฉันต้องการความช่วยเหลือทั้งหมดที่ได้รับ

ผู้เขียนให้ความเห็นเกี่ยวกับโครงสร้างโฟลเดอร์ที่แสดงอยู่ในเทอร์มินัล
(ตัวอย่างขนาดใหญ่)

การเรียกดูไฟล์จาก Windows Explorer

มีบางครั้งที่คุณต้องการเข้าถึงไฟล์ใน Linux จากฝั่ง Windows สิ่งที่สวยงามเกี่ยวกับ WSL ก็คือ คุณยังสามารถทำสิ่งนั้นได้

วิธีหนึ่งคือการเข้าถึง WSL เหมือนกับไดรฟ์ที่แมปไว้ เข้าถึงได้ด้วย \\wsl$ โดยตรงจากแถบ explorer:

 \\wsl$ 
Windows Explorer การติดตั้ง Ubuntu เป็นไดเร็กทอรีที่เมาต์
(ตัวอย่างขนาดใหญ่)

คุณอาจทำเช่นนี้ด้วยเหตุผลหลายประการ ตัวอย่างเช่น วันนี้ฉันต้องการส่วนขยาย Chrome ที่ไม่ได้อยู่ในเว็บสโตร์ ดังนั้นฉันจึงโคลน repo ใน WSL จากนั้นไปที่ "Unpacked Extension" และโหลดลงใน Edge

สิ่งหนึ่งที่ฉันทำกับความถี่ใน Linux คือการเปิดไดเร็กทอรีที่มีไฟล์โดยตรงจากเทอร์มินัล คุณสามารถทำสิ่งนี้ใน WSL ได้เช่นกัน โดยเรียกโดยตรง explorer.exe ตัวอย่างเช่น คำสั่งนี้เปิดไดเร็กทอรีปัจจุบันใน Windows Explorer

 $ explorer.exe . 
GIF ที่แสดงการเปิด Windows explorer บนไดเร็กทอรีปัจจุบันจากเทอร์มินัล

คำสั่งนี้ค่อนข้างยุ่งยากแม้ว่า บน Linux มันก็แค่ open . . เราสามารถสร้างเวทย์มนตร์แบบเดียวกันได้โดยการสร้างนามแฝงในไฟล์ ~/.zshrc

 alias open="explorer.exe"

นักเทียบท่า

เมื่อฉันบอกว่าเครื่องมือทั้งหมดควรอยู่ฝั่ง Linux ฉันหมายความว่าอย่างนั้น ซึ่งรวมถึงด็อคเกอร์ด้วย

นี่คือจุดที่ยางเริ่มบรรจบกับถนนจริงๆ สิ่งที่เราต้องการที่นี่คือ Docker ที่ทำงานภายใน Linux ที่ทำงานภายใน Windows มันเป็นบิตของตุ๊กตารัสเซียนทำรังเมื่อคุณเขียนลงในบล็อกโพสต์ ในความเป็นจริง มันค่อนข้างตรงไปตรงมา

คุณจะต้องใช้ Docker สำหรับ Windows เวอร์ชันที่ถูกต้อง ในขณะที่เขียนบทความนี้ นั่นคือ WSL 2 Tech Preview

เมื่อคุณเรียกใช้โปรแกรมติดตั้ง ระบบจะถามคุณว่าต้องการใช้คอนเทนเนอร์ Windows แทนคอนเทนเนอร์ Linux หรือไม่ คุณทำอย่างแน่นอน มิฉะนั้น คุณจะไม่ได้รับตัวเลือกให้เรียกใช้ Docker ใน WSL

หน้าจอการติดตั้ง Docker โดยเลือกตัวเลือก "ใช้คอนเทนเนอร์ของ Windows" ไว้
(ตัวอย่างขนาดใหญ่)

ตอนนี้คุณสามารถเปิดใช้งาน Docker ใน WSL ได้โดยคลิกที่รายการในซิสเต็มเทรย์และเลือก "WSL 2 Tech Preview":

ตัวเลือกการแสดงตัวอย่าง WSL2 Tech ในเมนูบริบท Docker Daemon
(ตัวอย่างขนาดใหญ่)

หลังจากที่คุณเริ่มบริการ คุณสามารถใช้ Docker ภายใน WSL ได้ตามที่คุณต้องการ การรัน Docker ใน WSL นั้นช่วยเพิ่มประสิทธิภาพได้ค่อนข้างมาก เช่นเดียวกับการเพิ่มเวลาเริ่มเย็นบนคอนเทนเนอร์

ฉันขอแนะนำให้คุณติดตั้งส่วนขยาย Docker สำหรับ VS Code ด้วยหรือไม่ มันทำให้อินเทอร์เฟซแบบเห็นภาพในการตั้งค่า Docker ของคุณ และโดยทั่วไปทำให้การทำงานกับ Docker ง่ายขึ้น เนื่องจากคุณไม่จำเป็นต้องจำแฟล็กบรรทัดคำสั่งและตัวเลือกเหล่านั้นทั้งหมด

รับ Bash เพิ่มเติมบน Windows

ณ จุดนี้ คุณควรเข้าใจวิธีวาง Bash บน Windows และวิธีการทำงานเมื่อคุณไปถึงที่นั่น คุณสามารถปรับแต่งเทอร์มินัลของคุณได้ไม่รู้จบ และยังมีโปรแกรม rad ทุกประเภทที่คุณสามารถเพิ่มเพื่อทำสิ่งต่าง ๆ เช่น ตั้งค่าตัวแปร PATH โดยอัตโนมัติ สร้างนามแฝง รับวัว ASCII ในเทอร์มินัลของคุณ และอีกมากมาย

การรัน Bash บน Windows ได้เปิดโลกทัศน์ใหม่ทั้งหมดให้ฉัน ฉันสามารถรวม Windows ที่ฉันชอบในด้านประสิทธิภาพและ Linux ที่ฉันพึ่งพาในฐานะนักพัฒนา เหนือสิ่งอื่นใด ฉันสามารถสร้างแอปสำหรับทั้งสองแพลตฟอร์มได้ด้วยเครื่องเดียว

อ่านเพิ่มเติม

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ Bash บน Windows ได้ที่นี่:

  • “คู่มือการติดตั้งระบบย่อย Windows สำหรับ Linux สำหรับ Windows 10” Microsoft Docs
  • “วิธีการติดตั้งและใช้งาน Bash Shell บน Windows 10” Chris Hoffman, How-To Geek
  • “แชร์ SSH กับ WSL” Drew Wilson
  • “คลั่งไคล้ระบบย่อย Window สำหรับ Linux” Brian Ketelsen
  • “ทุกสิ่งที่คุณสามารถทำได้ด้วย Bash Shell ใหม่ของ Windows 10” Chris Hoffman, How-To Geek

ขอขอบคุณเป็นพิเศษกับ Brian Ketelsen, Matt Hernandez, Rich Turner และ Craig Loewen สำหรับความอดทน ความช่วยเหลือ และคำแนะนำในบทความนี้