เครื่องมือสร้าง EditorConfig

.editorconfig
ผลลัพธ์

ไฟล์ .editorconfig ที่รากของรีโพซิทอรีจะบอก IDE รุ่นใหม่ทุกตัวว่าโปรเจกต์นี้จัดรูปแบบไฟล์อย่างไร และยุติข้อถกเถียงเรื่องแท็บกับช่องว่างทีละไฟล์ Python ใช้ 4 ช่องว่าง, JavaScript ใช้ 2, ส่วน Makefile ต้องใช้แท็บ (บังคับ) เครื่องมือนี้สร้างไฟล์ .editorconfig จากตัวเลือกการจัดรูปแบบของคุณ (สไตล์และขนาดการเยื้อง การจบบรรทัด ชุดอักขระ ความยาวบรรทัดสูงสุด การขึ้นบรรทัดใหม่ท้ายไฟล์ และการตัดช่องว่างท้ายบรรทัด) และรวมการปรับแต่งทั่วไปสองอย่างไว้เสมอ: [*.md] คงช่องว่างท้ายบรรทัดไว้สำหรับการขึ้นบรรทัดใหม่ใน Markdown และ [Makefile] ใช้แท็บตามที่ make กำหนด

วิธีสร้างไฟล์ .editorconfig

  1. 1

    ตั้งค่าเริ่มต้นส่วนกลาง

    ชุดอักขระ (ค่าเริ่มต้นคือ utf-8), การจบบรรทัด (lf หรือ crlf), สไตล์และขนาดการเยื้อง, ความยาวบรรทัดสูงสุด, การเพิ่มบรรทัดใหม่ท้ายไฟล์ และการตัดช่องว่างท้ายบรรทัด

  2. 2

    ตรวจสอบการปรับแต่งในตัว

    เครื่องมือเพิ่ม `[*.md]` ที่มี `trim_trailing_whitespace = false` เสมอ (Markdown ต้องมีช่องว่างท้ายบรรทัดสำหรับการขึ้นบรรทัดใหม่) และ `[Makefile]` ที่มี `indent_style = tab` ซึ่ง make กำหนดไว้

  3. 3

    คัดลอกไฟล์

    ใช้ปุ่มคัดลอกเพื่อนำไฟล์ `.editorconfig` ที่สร้างขึ้นไปวางไว้ที่รากของรีโพซิทอรี

  4. 4

    ขยายในภายหลัง

    ต้องการกฎแยกตามภาษาหรือไม่ เพิ่มส่วนของคุณเอง เช่น `[*.py]` ที่มี `indent_size = 4`

ไฟล์ .editorconfig ทำหน้าที่อะไร

ไฟล์ชื่อ .editorconfig ที่วางไว้ที่รากของโปรเจกต์ (หรือในไดเรกทอรีใดก็ได้) จะประกาศธรรมเนียมการจัดรูปแบบ โปรแกรมแก้ไขที่รองรับ EditorConfig (IDE หลักทุกตัวและโปรแกรมแก้ไขข้อความรุ่นใหม่ส่วนใหญ่) จะนำกฎเหล่านี้มาใช้เมื่อเปิดไฟล์

ตัวอย่างผลลัพธ์

ด้วยค่าเริ่มต้น (ช่องว่าง, ขนาด 4, LF, utf-8) เครื่องมือจะสร้าง:

root = true

[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 120

[*.md]
trim_trailing_whitespace = false

[Makefile]
indent_style = tab

ไดเรกทิฟหลัก

ไดเรกทิฟ ค่าที่ยอมรับได้ หมายเหตุ
root true / false ตั้งเป็น true ที่รากของโปรเจกต์ เพื่อให้การค้นหาหยุดลง
charset utf-8, utf-8-bom, latin1, utf-16-be, utf-16-le ค่าเริ่มต้นคือ utf-8
end_of_line lf, crlf, cr lf สำหรับข้ามแพลตฟอร์ม; crlf สำหรับรีโพซิทอรีที่ใช้เฉพาะบน Windows
indent_style space, tab
indent_size จำนวนเต็ม จำนวนช่องว่าง จะถูกละเว้นเมื่อใช้ tab
tab_width จำนวนเต็ม ความกว้างที่แสดงของแท็บ (ค่าเริ่มต้นเท่ากับ indent_size)
insert_final_newline true / false ทำให้ไฟล์เป็นไปตามมาตรฐาน POSIX
trim_trailing_whitespace true / false ปิดสำหรับ Markdown (ช่องว่างท้ายบรรทัดหมายถึงการขึ้นบรรทัดใหม่)

ธรรมเนียมของแต่ละภาษาโดยสังเขป

ภาษา / ไฟล์ ธรรมเนียม
JS, TS, JSON 2 ช่องว่าง
HTML, CSS, YAML 2 ช่องว่าง
Python 4 ช่องว่าง (PEP 8)
PHP 4 ช่องว่าง (PSR-12)
Ruby 2 ช่องว่าง
Go แท็บ (gofmt บังคับ)
Rust 4 ช่องว่าง (rustfmt บังคับ)
Java 4 ช่องว่าง
Makefile แท็บ (make เองบังคับ)
Markdown คงช่องว่างท้ายบรรทัดไว้ (ใช้กับ <br>)
Batch / CMD (.bat) การจบบรรทัดแบบ crlf

ข้อควรระวัง: ช่องว่างท้ายบรรทัดใน Markdown

ใน Markdown ช่องว่างสองช่องท้ายบรรทัดหมายถึง “ใส่ <br> ตรงนี้” หาก .editorconfig ตัดช่องว่างท้ายบรรทัดของทุกไฟล์ การขึ้นบรรทัดใหม่เหล่านั้นจะหายไป ให้แทนที่ด้วย trim_trailing_whitespace = false สำหรับ [*.md]

IDE ของคุณรองรับหรือไม่

รองรับในตัว: VS Code, ตระกูล IntelliJ ของ JetBrains, Sublime Text, Vim (ผ่านปลั๊กอิน), Emacs (ผ่านปลั๊กอิน), Atom, Notepad++, Xcode หากโปรแกรมแก้ไขใดไม่รองรับ EditorConfig มาในตัว ก็มักจะมีปลั๊กอินให้ ไฟล์นี้ยังอ่านได้ด้วยเครื่อง ทำให้ลินเตอร์และตัวจัดรูปแบบนำไปใช้ได้ด้วย

คำถามที่พบบ่อย

วางไว้ที่รากของโปรเจกต์พร้อม root = true คุณสามารถเพิ่มไฟล์ .editorconfig ในไดเรกทอรีย่อยเพื่อแทนที่เส้นทางบางเส้นทางได้ การค้นหาจะไล่ขึ้นไปตามโครงสร้างและหยุดที่ไฟล์ root = true ตัวแรกที่พบ

ไม่ EditorConfig จัดการเรื่องพื้นฐานอย่างช่องว่างและการจบบรรทัดในทุกโปรแกรมแก้ไข ส่วน Prettier และลินเตอร์เฉพาะภาษาจะจัดการกฎสไตล์ที่ลึกกว่า (เครื่องหมายคำพูด อัฒภาค เครื่องหมายจุลภาคท้ายบรรทัด) ทั้งสองอย่างเสริมกัน

ตั้ง end_of_line = crlf หากเครื่องมือ Windows ในรีโพซิทอรีจำเป็นต้องใช้จริง ทางเลือกที่ดีกว่าคือคอมมิต end_of_line = lf และเพิ่ม .gitattributes ที่มี * text=auto เพื่อให้ Git ปรับการจบบรรทัดให้เป็นมาตรฐานตอนคอมมิต ขณะที่การเช็กเอาต์จะได้การจบบรรทัดที่เหมาะกับระบบปฏิบัติการ

ไม่ ตัวเลือกของคุณใช้เพื่อสร้างไฟล์เท่านั้น ไม่มีการจัดเก็บข้อมูลบนเซิร์ฟเวอร์ของเรา และไม่มีอะไรถูกเก็บไว้หลังจากคุณออกจากหน้า

เครื่องมือที่เกี่ยวข้อง

ตารางอ้างอิง ASCII

ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL

อ้างอิงตัวอักษร HTML

รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ

ตารางอ้างอิงแป้นพิมพ์ลัด

ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux

เครื่องสร้างตัวอักษรสุ่ม

สร้างตัวอักษร A-Z แบบสุ่ม เลือกจำนวน ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก หรือแบบผสม แล้วใช้กับเกม โจทย์ หรือกิจกรรมในห้องเรียน

ตัวลดรูปพีชคณิตบูลีน

ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^

ตัวตรวจสอบอีเมล

ตรวจสอบที่อยู่อีเมล: ตรวจไวยากรณ์ RFC 5322 ค้นหา MX เรกคอร์ดแบบเรียลไทม์ พร้อมรายละเอียดส่วนท้องถิ่น โดเมน และความยาว ไม่มีการส่งอีเมลใด ๆ

เครื่องมือนี้มีให้บริการในภาษาอื่น