EditorConfig คืออะไร แล้วทำไมเราต้องใช้มันล่ะ ? (Developer ควรรู้จักนะ!!!)

Supayut Raksuk
CODIUM
Published in
2 min readSep 3, 2018

--

สวัสดีครับ สำหรับในบทความนี้บอกเลยว่า มันสุดแสนจะธรรมดามากๆ แต่มันแฝงไปด้วยประโยชน์มากมายเช่นกัน หลายๆคนคงเคยมีปัญหาในการเขียน Code ไม่ว่าจะทั้ง IDE หรือ Editor คู่ใจ เมื่อต้องเขียนหลายๆ ภาษา และแต่ละภาษา ก็มีข้อกำหนดแตกต่างกันไป สำหรับพวก IDE เทพๆ หลายๆเจ้าเนี่ย ก็อาจจะมองข้ามไปได้

แต่ว่าในความเป็น Developer ของเรานั้น เราไม่ได้ทำงานคนเดียวสักหน่อย จริงไหมล่ะครับ?

เราทำงานกันเป็นทีม ยิ่งถ้าเป็นพวก โปรเจค Open Source ด้วยแล้วล่ะก็ หลากหลายคนเลย บางคนใช้ VS Code บางคนใช้ Atom บางคนใช้ IDE อื่นๆ เช่น Pycharm, WebStorm แล้วบางโปรเจค มีหลายๆ ภาษาอีก ยิ่งถ้าเป็นพวก Python, Javascript แบบนี้ เราจะยุ่งยากละ เพราะ indent ที่คนเค้าใช้กันส่วนใหญ่ ของ 2 ภาษานี้ แตกต่างกันแน่นอน โอเคพูดเยอะละ เรามาทำความรู้จักกับเจ้า EditorConfig ให้มากขึ้นกันเลยดีกว่า

นี่คือเว็บไซต์ อย่างเป็นทางการของเค้าล่ะครับ editorconfig.org ลองเข้าไปดูกันได้ครับ

ซึ่งในวันนี้ ผมจะใช้ VS Code ในการแสดงตัวอย่างให้ดูนะครับเพราะฉะนั้นก็ไปโหลดกันเลยครับ plugin ตัวนี้ EditorConfig for VS Code

เห็นมั้ยครับคนใช้เยอะเลย (02/09/2018)

โหลดมาเสร็จแล้ว… แล้วมันใช้ยังไงล่ะ ง่ายๆครับ ให้เราสร้าง ไฟล์ .editorconfig ขึ้นมาใน Project ของเราเลยครับ ก็จะได้ออกมา หน้าตาประมาณนี้

สร้างไฟล์ .editorconfig

ทนอ่านอีกนิดครับใกล้ละ…

ตัวอย่างไฟล์ .editorconfig

และนี่ก็คือ config ง่ายๆ ตัวอย่างนะครับลองดูได้ เราสามารถ ลองไปศึกษาเพิ่มเติมได้ครับที่ https://editorconfig.org/#example-file หลังจากที่เราตั้งค่า เรียบร้อย ลองไปเปิด ไฟล์ .js แล้วกด Tab ดูครับ โอ้ววว มันขยับเท่ากับ 2 space และแน่นอนครับ python ก็ ขยับ 4 space นั่นเอง end of line ก็มีให้ตั้งค่าได้ว่าจะเป็นแบบไหนนะครับ อื่นๆ อีกมากมาย ลองไปอ่านดูลองใช้ดูครับ แล้วก็ สำหรับคนที่ใช้ IDE ของบางค่าย เช่น Pycharm อะไรพวกนี้ เค้าติดตั้ง plugin EditorConfig มาให้เลยล่ะครับ

ข้างล่างนี้คือ Editor ที่มี plugin ติดตั้งมาให้เลยไม่ต้องลงเพิ่มครับ

native support for EditorConfig.

ส่วนข้างล่างนี้คือ Editor ที่ต้องติดตั้งเพิ่มเติมนะครับ

you will need to install a plugin.

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

--

--

Supayut Raksuk
CODIUM

(@nookskill) I'm a software developer, musician, song writer from Thailand supayut.com