จะแยกไฟล์ออกจาก“ format on save” ใน VSCode ได้อย่างไร?


113

ขณะนี้อยู่ในการตั้งค่า VSCode คุณสามารถกำหนดค่ารูปแบบในการบันทึกดังต่อไปนี้:

"editor.formatOnSave": true

ฉันต้องการยกเว้นนามสกุลไฟล์บางไฟล์เช่นจัดรูปแบบ JavaScript เท่านั้น แต่ไม่รวมไฟล์ HTML


บน Mac ใช้Ctrl + K Shift + Sบน Linux ใช้Ctrl + K S
Joost van der Laan

คำตอบ:


195

คุณสามารถใช้การตั้งค่าเฉพาะภาษาเพื่อเปิดใช้งานสำหรับภาษาเฉพาะเท่านั้นเช่น JavaScript:

"[javascript]": {
    "editor.formatOnSave": true
}

หากต้องการปิดใช้งานสำหรับภาษาใดภาษาหนึ่งคุณสามารถเปลี่ยนค่าเริ่มต้นส่วนกลางเป็นtrueและรวมเข้ากับภาษาเฉพาะfalse:

"editor.formatOnSave": true
"[javascript]": {
    "editor.formatOnSave": false
}

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

ในกรณีที่ ID ภาษาไม่เฉพาะเจาะจงเพียงพอ"files.associations"สามารถใช้เพื่อทำการแมปไฟล์ที่มีนามสกุลเฉพาะและ / หรือในไดเร็กทอรีเฉพาะไปยัง ID อื่นได้ แต่จะส่งผลต่อการเน้นไวยากรณ์การเติมโค้ด ฯลฯ ด้วย ตัวอย่างเช่นการดำเนินการนี้จะปิดใช้งานการจัดรูปแบบสำหรับไฟล์ JavaScript ในoutไดเรกทอรี แต่จะถือว่าเป็นข้อความธรรมดา:

"[javascript]": {
    "editor.formatOnSave": true
},
"files.associations": {
    "**/out/**/*.js": "plaintext"
}

คำตอบที่ดีมาก อย่างไรก็ตามเป็นไปได้หรือไม่ที่จะใช้รูปแบบในการบันทึกในโมดูลหรือโฟลเดอร์ python ที่เฉพาะเจาะจง ?? ... วิธีแก้ปัญหาที่ฉันเปิดโมดูลนี้ในหน้าต่าง vscode ของตัวเอง
kerbrose

ข้อเสียอย่างหนึ่งของการตั้งค่า*.inเช่นไฟล์เป็นข้อความธรรมดา ( "files.associations": { "*.in": "plaintext" }คือปิดการใช้งานการเน้นโค้ดมีวิธีปิดการใช้งานการจัดรูปแบบสำหรับ*.inไฟล์หรือไม่ แต่บอกให้ไฮไลต์เป็นภาษาบางภาษาหรือไม่
โคลจอห์นสัน

40

หากคุณเจอคำถามนี้เหมือนที่ฉันทำเพราะคุณถูกเปลี่ยนเส้นทางเนื่องจากคำถามนี้VSCode: ปิดการใช้งานการจัดรูปแบบไฟล์เฉพาะ (หรือนามสกุล)ซึ่งระบุว่านี่เป็นไฟล์ที่ซ้ำกัน (ฉันไม่รู้สึกเช่นนั้นเพราะฉันต้องการมันสำหรับ เฉพาะไฟล์) และคุณกำลังมองหาโซลูชัน "ครั้งเดียว":

VS Code มีทางลัด "ตอนนี้" (ฉันไม่รู้ว่าตั้งแต่เมื่อไหร่) สำหรับการบันทึกไฟล์โดยไม่มีการจัดรูปแบบที่ระบุไว้ภายใต้คำสั่งworkbench.action.files.saveWithoutFormatting- การผูกคีย์เริ่มต้นควรเป็น

CTRL + K CTRL + SHIFT + S 

(เพียงกด CTRL ค้างไว้จากนั้นพิมพ์ K + SHIFT + S)

บน OS X การเชื่อมคีย์เริ่มต้นคือ

CMD + k จากนั้นกด s


2
ไม่ทราบเกี่ยวกับเรื่องนี้ ขอบคุณ! ดังนั้นฉันสามารถเปิดใช้งาน 'FormatOnSave' ได้ แต่ถ้าฉันยังต้องการบันทึกไฟล์โดยไม่ได้รับการจัดรูปแบบฉันจะกด Ctrl ค้างไว้จากนั้นกด K + Shift + S ลองใช้ สุดยอด!
abhijit

3
บนลินุกซ์ในเดือน ม.ค. 2020 Ctrl + kและจากนั้นเพียงs
ryanrain

0

บน Mac และ Linux ให้ใช้ไฟล์ Ctrl + K S

บน Windows ให้ใช้ Ctrl + K Ctrl + Shift + S

ในการตรวจสอบแป้นพิมพ์ลัด VS Code: Ctrl + K, Ctrl + S(ใช่เกือบจะเหมือนกับด้านบน) และค้นหา "บันทึกโดยไม่ต้องจัดรูปแบบ"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.