Web Analytics

prettier-plugin-classnames

⭐ 205 stars Thai by ony3000

🌐 ภาษา

prettier-plugin-classnames

ปลั๊กอิน Prettier ที่ช่วยตัดบรรทัดชื่อคลาสที่ยาวตามตัวเลือก printWidth

ตัวอย่างการใช้งานปลั๊กอินนี้

การติดตั้ง[^1]

npm install -D prettier prettier-plugin-classnames

[^1]: หากเวอร์ชันของ prettier-plugin-classnames ของคุณต่ำกว่า 0.4.0 คุณจะต้องติดตั้ง @prettier/sync ด้วย

การตั้งค่า

ตัวอย่าง JSON:

{
  "plugins": ["prettier-plugin-classnames"]
}

ตัวอย่าง JS (โมดูล CommonJS):

module.exports = {
  plugins: ['prettier-plugin-classnames'],
  customAttributes: ['myClassProp'],
  customFunctions: ['clsx'],
};

ตัวอย่าง JS (ES module):

export default {
  plugins: ['prettier-plugin-classnames'],
  endingPosition: 'absolute',
};

การแทนที่ Markdown/MDX

ปลั๊กอินนี้ไม่รองรับ Markdown และ MDX แต่หากปลั๊กอินนี้รองรับภาษาในบล็อกโค้ด (เช่น Vue) อาจมีการจัดรูปแบบที่ไม่ตั้งใจเกิดขึ้นภายในบล็อกโค้ด

เพื่อป้องกันการจัดรูปแบบที่ไม่ตั้งใจ คุณสามารถใช้การแทนค่าคอนฟิกสำหรับ Markdown และ MDX ได้

ตัวอย่าง JSON:

{
  "plugins": ["prettier-plugin-classnames"],
  "customFunctions": ["clsx"],
  "overrides": [
    {
      "files": [".md", ".mdx"],
      "options": {
        "plugins": []
      }
    }
  ]
}

ตัวเลือก

คุณสมบัติที่กำหนดเอง

รายการคุณสมบัติที่ชื่อคลาสที่ครอบคลุม
แอตทริบิวต์ class และ className จะรองรับเสมอ แม้ว่าจะไม่มีการระบุออปชั่นใด ๆ

ค่าเริ่มต้น | การแทนที่ด้วย CLI  | การแทนที่ด้วย API  --- | --- | --- [] | --custom-attributes | customAttributes: [""]

ฟังก์ชันที่กำหนดเอง

รายการฟังก์ชันที่ชื่อคลาสที่ครอบคลุม
ฟังก์ชัน classNames จะรองรับเสมอ แม้ว่าจะไม่มีการระบุออปชั่นใด ๆ

ค่าเริ่มต้น | การแทนที่ด้วย CLI  | การแทนที่ด้วย API  --- | --- | --- [] | --custom-functions | customFunctions: [""]

ตำแหน่งสิ้นสุด

เริ่มรองรับใน v0.5.0.
absolute-with-indent ถูกเพิ่มใน v0.6.0.
absolute-with-indent ถูกลบออกใน v0.8.0 แต่คุณสามารถได้ผลลัพธ์เดียวกันด้วย absolute.
ค่าดีฟอลต์ถูกเปลี่ยนจาก relative เป็น absolute ใน v0.8.0

นี่คือเกณฑ์สำหรับการสิ้นสุดชื่อคลาสในแต่ละบรรทัดเมื่อแทนที่ชื่อคลาสเดิมด้วยชื่อคลาสแบบหลายบรรทัด

  ------------------------------------------------------------| printWidth=60
  export function Callout({ children }) {
    return (
      
{children}
); } ``

  • ตัวอย่าง relative:
` ------------------------------------------------------------| printWidth=60 export function Callout({ children }) { return (
{children}
); }
`

ค่าเริ่มต้น | คำสั่ง CLI Override | คำสั่ง API Override --- | --- | --- "absolute" | --ending-position | endingPosition: ""

การแปลงไวยากรณ์

มีให้ใช้ครั้งแรกใน v0.7.7

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

ค่าเริ่มต้น | คำสั่ง CLI Override | คำสั่ง API Override --- | --- | --- false | --syntax-transformation | syntaxTransformation:

ความกว้างในการพิมพ์ชื่อคลาส

มีให้ใช้ครั้งแรกใน v0.10.0

กำหนดความกว้างในการพิมพ์ของชื่อคลาส หากไม่ได้ระบุค่า จะใช้ค่าของ printWidth เป็นค่าเริ่มต้น

ค่าเริ่มต้น | คำสั่ง CLI Override | คำสั่ง API Override --- | --- | --- undefined | --classnames-print-width | classnamesPrintWidth:

ความสัมพันธ์ของเวอร์ชันกับปลั๊กอินที่เกี่ยวข้อง

เริ่มต้นที่ 0.6.0 เมื่อมี minor release ด้านใดด้านหนึ่ง มีแผนจะสะท้อนการเปลี่ยนแปลงนั้นไปอีกด้านด้วยหากสามารถทำได้

Version correlation.

ความเข้ากันได้กับปลั๊กอิน Prettier อื่นๆ

หากมีปลั๊กอิน Prettier มากกว่าหนึ่งที่สามารถจัดการข้อความที่คุณต้องการจัดรูปแบบ Prettier จะใช้เฉพาะปลั๊กอินตัวสุดท้ายเท่านั้น

ในกรณีนี้ คุณสามารถกำหนดค่าได้ดังตัวอย่างต่อไปนี้โดยเพิ่ม prettier-plugin-merge เพื่อให้ปลั๊กอินเหล่านั้นทำงานตามลำดับ

ตัวอย่าง JSON:

json { "plugins": [ "prettier-plugin-tailwindcss", "prettier-plugin-classnames", "prettier-plugin-merge" ] } ``

Stargazers over time

Stargazers over time

--- Tranlated By Open Ai Tx | Last indexed: 2026-06-03 ---