watchExec
การพัฒนาซอฟต์แวร์มักเกี่ยวข้องกับการเรียกใช้คำสั่งเดียวกันซ้ำแล้วซ้ำอีก น่าเบื่อ!
watchexec เป็นเครื่องมือแบบสแตนด์อโลนที่เรียบง่ายที่ดูเส้นทางและเรียกใช้คำสั่งเมื่อใดก็ตามที่ตรวจจับการแก้ไข
ตัวอย่างการใช้กรณี:
- เรียกใช้การทดสอบหน่วยโดยอัตโนมัติ
- เรียกใช้ Checkers Linters/Syntax
- สร้างสิ่งประดิษฐ์ใหม่
คุณสมบัติ
- การเรียกใช้และการใช้งานอย่างง่ายไม่จำเป็นต้องใช้บรรทัดคำสั่งที่เป็นความลับที่เกี่ยวข้องกับ
xargs - ทำงานบน OS X, Linux และ Windows
- ตรวจสอบไดเรกทอรีปัจจุบันและไดเรกทอรีย่อยทั้งหมดสำหรับการเปลี่ยนแปลง
- รวมเหตุการณ์ระบบไฟล์หลายรายการไว้เป็นหนึ่งเดียวสำหรับบรรณาธิการที่ใช้ไฟล์ SWAP/สำรองในระหว่างการบันทึก
- โหลดไฟล์
.gitignore และ .ignore - ใช้กลุ่มกระบวนการเพื่อเก็บโปรแกรมการฟอร์ก
- จัดเตรียมเส้นทางที่เปลี่ยนแปลงในตัวแปรสภาพแวดล้อมหรือ stdin
- ไม่ต้องการรันไทม์ภาษาไม่เชื่อมโยงกับภาษาหรือระบบนิเวศใด ๆ
- และอีกมากมาย
เริ่มต้นอย่างรวดเร็ว
ดูไฟล์ JavaScript, CSS และ HTML ทั้งหมดในไดเรกทอรีปัจจุบันและไดเรกทอรีย่อยทั้งหมดสำหรับการเปลี่ยนแปลง npm run build เมื่อตรวจพบการเปลี่ยนแปลง:
$ watchexec -e js,css,html npm run build
โทร/รีสตาร์ท python server.py เมื่อไฟล์ Python ใด ๆ ในไดเรกทอรีปัจจุบัน (และไดเรกทอรีย่อยทั้งหมด) เปลี่ยนแปลง:
$ watchexec -r -e py -- python server.py
ตัวอย่างการใช้งานเพิ่มเติม: ใน CLI Readme!
ติดตั้ง
- กับผู้จัดการแพ็คเกจของคุณสำหรับ Arch, Debian, Homebrew, Nix, Scoop, Chocolatey ...
- จาก Binary With Binstall:
cargo binstall watchexec-cli - เป็นแพ็คเกจไบนารีที่สร้างไว้ล่วงหน้าจาก GitHub
- จากแหล่งที่มาพร้อมสินค้า:
cargo install --locked watchexec-cli
ตัวเลือกทั้งหมดในรายละเอียด: ใน CLI readme ในความช่วยเหลือออนไลน์ ( watchexec -h , watchexec --help หรือ watchexec --manual ) และในหน้าคู่มือ
การเพิ่ม
WatchExec จับคู่ได้ดีกับ:
- checkexec: หากต้องการเรียกใช้เฉพาะเมื่อไฟล์ต้นฉบับใหม่กว่าไฟล์เป้าหมาย
- เพียงแค่: ทางเลือกที่ทันสมัยที่จะ
make - SystemFD: ซ็อกเก็ตผ่านการพัฒนา
ขยาย
- Library WatchExec: เพื่อสร้างเครื่องมือที่ขับเคลื่อนด้วย WatchExec โดยเฉพาะ
- events WatchExec: ประเภทกิจกรรมสำหรับ WatchExec
- watchExec-signals: ประเภทสัญญาณสำหรับ watchExec
- WatchExec-Supervisor: Process Lifecycle Manager (ส่วน EXEC ของ WatchExec)
- ClearScreen: เพื่อล้างหน้าจอ (เทอร์มินัล) ในทุกแพลตฟอร์ม
- กลุ่มคำสั่ง: เพื่อเรียกใช้คำสั่งในกลุ่มกระบวนการ
- ละเว้นไฟล์: เพื่อค้นหาแยกวิเคราะห์และตีความไฟล์ที่ไม่สนใจ
- ต้นกำเนิดของโครงการ: เพื่อค้นหาไดเรกทอรีที่มาของโครงการ
- แจ้ง: เพื่อตอบสนองต่อการแก้ไขไฟล์ (บุคคลที่สาม)
ปลายน้ำ
เลือกดาวน์สตรีมของ WatchExec และลังที่เกี่ยวข้อง:
- นาฬิกาบรรทุกสินค้า: ผู้เฝ้าดูพิเศษสำหรับโครงการ Rust/Cargo
- Cargo Lambda: เครื่องมือพัฒนาสำหรับฟังก์ชั่น AWS Lambda ที่ขับเคลื่อนด้วยสนิม
- Create-Rust-App: เทมเพลตสำหรับ Rust+React Web Apps
- Dotter: ผู้จัดการ DotFile
- Ghciwatch: ผู้เฝ้าดูโครงการพิเศษสำหรับโครงการ Haskell
- Tectonic: ระบบเรียงพิมพ์ Tex/LaTex