มีวิธีบังคับ Sublime Text 2 ให้เยื้องสองช่องว่างต่อแท็บเสมอเมื่อทำงานกับไฟล์ทับทิม?
ฉันรู้ว่าการเยื้องสามารถตั้งค่าได้ภายใต้view -> indentation
ตัวเลือกเมนู แต่ไม่ติด ทุกครั้งที่ฉันเปิดไฟล์ใหม่และกดที่แท็บมันจะย้อนกลับไปที่ช่องว่างสี่ช่อง
มีวิธีบังคับ Sublime Text 2 ให้เยื้องสองช่องว่างต่อแท็บเสมอเมื่อทำงานกับไฟล์ทับทิม?
ฉันรู้ว่าการเยื้องสามารถตั้งค่าได้ภายใต้view -> indentation
ตัวเลือกเมนู แต่ไม่ติด ทุกครั้งที่ฉันเปิดไฟล์ใหม่และกดที่แท็บมันจะย้อนกลับไปที่ช่องว่างสี่ช่อง
คำตอบ:
หากคุณต้องการมันสำหรับทุกPreferences -> Settings - Default/User
ไฟล์ไปที่ แต่เนื่องจากความคิดเห็นหลายรายการด้านล่างระบุว่าการตั้งค่าเฉพาะไวยากรณ์สามารถ จำกัด เพียงภาษาที่คุณเลือก
เพื่อ จำกัด Preferences -> Settings - Syntax Specific
การกำหนดค่านี้ไปยังไฟล์ทับทิมแรกเปิดไฟล์ทับทิมในการแก้ไขและจากนั้นไปที่ ควรเปิดหน้าต่างการตั้งค่าที่ชื่อว่าRuby.sublime-settings
บันทึกการตั้งค่าเหล่านี้:
{
"tab_size": 2,
"translate_tabs_to_spaces": true,
"detect_indentation": false
}
ทำซ้ำสำหรับไวยากรณ์ประเภทอื่น ๆ โดยการเปิดไฟล์ประเภทนั้นและกลับไปที่การตั้งค่าเพื่อเปิดไฟล์การกำหนดค่าที่ถูกต้องสำหรับไวยากรณ์นั้น
ฉันได้แก้ไขสิ่งนี้เพื่อรวมบรรทัด "detect_indentation" ตามคำขอในความคิดเห็น ก่อนหน้านี้ฉันใช้ Default / User เพื่อตั้งค่าขนาดแท็บและไม่จำเป็นต้องมีการตรวจจับแท็บ แต่ไม่ว่าจะเกิดจากการกำหนดค่าทั่วโลกหรือเนื่องจากความจริงที่ว่าฉันได้เปิดไฟล์ที่มีแท็บบ่อยครั้ง
ไม่จำเป็นต้องเริ่มระบบใหม่แม้ว่าในบางกรณีอาจเป็นไปได้
หากคุณต้องการบังคับให้การตั้งค่าแท็บที่คุณเลือกไม่สนใจสิ่งที่กำลังเกิดขึ้นในไฟล์คุณควรรวมdetect_indentation
ไว้ในการกำหนดค่าของคุณ (การตั้งค่าผู้ใช้หรือการตั้งค่าเฉพาะไวยากรณ์ของคุณขึ้นอยู่กับว่าคุณต้องการให้เป็นโกลบอล
{
"tab_size": 2,
"translate_tabs_to_spaces": true,
"detect_indentation": false
}
detect_indentation
ได้ปิดฉันได้รับพฤติกรรมที่แปลกมาก (มันตรวจจับการเยื้องอย่างไม่ถูกต้องและใช้สิ่งนั้นแทนสิ่งที่ฉันได้ระบุไว้ในการตั้งค่าของฉัน)
"detect_indentation":false
มีความสำคัญอย่างยิ่งการตั้งค่าอื่น ๆ จะถูกละเว้น ในที่สุด!
คุณสามารถทำได้ด้วยลิงก์ข้อความในแถบด้านล่างของ Sublime Text 2 (ทางด้านขวา) ที่ระบุว่า "ขนาดแท็บ 4" โดยค่าเริ่มต้นคลิกที่และหน้าต่างจะปรากฏขึ้นพร้อมตัวเลือกเพื่อกำหนดขนาดแท็บจากพื้นที่ 1 ไปจนถึงช่องว่าง 8 ช่องและมีตัวเลือกในการแปลงแท็บเป็นช่องว่างและช่องว่างเป็นแท็บ
ดูเหมือนว่านี้:
ฉันสามารถแนะนำEditorConfig ได้ไหม มีส่วนขยายสำหรับ autoload และใช้.editorconfig
ไฟล์นี้ จากนั้นสร้างเพียงหนึ่งรายการในรูทของโครงการของคุณ
.editorconfig
[*.rb]
indent_style = tab
indent_size = 2
ด้วยวิธีนี้การตั้งค่าของคุณเป็นแบบเฉพาะโครงการและเฉพาะไฟล์ถ้าคุณใช้สไตล์ที่แตกต่างกันสำหรับแต่ละโครงการหรือภาษา
นี่คือ.editorconfig
ลักษณะของฉันเอง
# editorconfig.org
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
ฉันใช้แพ็คเกจเยื้องโง่
Install Package
-> Stupid Indent
Preferences
-> Package Settings
-> Stupid Indent
->Setting-Users
คัดลอกการตั้งค่า (ของชิ้นRuby
ส่วน) ลงใน
{
"configuration":
[
{
"patterns": ["*.rb"],
"tab_size": 2,
"translate_tabs_to_spaces": true
}
]
}
ฉันทำตามคำตอบก่อนหน้านี้รวมถึงการเพิ่มบรรทัด detect_indentation และแท็บของฉันยังคงเว้นวรรคห้า แล้วฉันตระหนักว่าการเลือกPreferences -> Settings -> More -> Syntax Specific -> User
จากไฟล์ทับทิมถูกเปิดขึ้นสำหรับฉันไม่ได้Ruby on Rails.sublime-settings
Ruby.sublime-settings
ผมเปลี่ยนชื่อของฉันไฟล์Ruby on Rails.sublime-settings
Ruby.sublime-settings
ในที่สุดแท็บสองช่องว่างก็ใช้งานได้! ฉันไปข้างหน้าและตั้งค่าแบบเดียวกันด้วยRuby on Rails.sublime-settings
เช่นกันเพื่อให้แน่ใจ