คุณจะเปลี่ยนวิธีการจัดรูปแบบอัตโนมัติของรหัส Intellij ได้อย่างไร [ปิด]


13

IntelliJ ทำการจัดรูปแบบแปลก ๆ ด้วยโค้ด Javascript และฉันพยายามหาวิธีหยุดการฟอร์แมตด้วยวิธีนี้ เมื่อใดก็ตามที่ฉันเชื่อมโยง jQuery เข้าด้วยกันมันจะเยื้องรหัสอัตโนมัติที่สร้างขึ้นเช่นนี้

$('#something').focus(function() {
    /* Do some stuff */
}).blur(function() {
        /* this is where the cursor and closing braces end up */
        })

ฉันอยากให้มันเป็นแบบนี้:

$('#something').focus(function() {
    /* Do some stuff */
}).blur(function() {
    /* cursor and closing braces indented normally */
});

ฉันจะเปลี่ยนสิ่งนี้ได้อย่างไร


การแก้ไขที่นี่ไม่ทำงานสำหรับฉันดังนั้นฉันจึงได้ติดต่อกับเจ็ทเบรนและพวกเขาก็เปิดปัญหา โปรดลงคะแนนให้ที่นี่: youtrack.jetbrains.com/issue/WEB-15066
JonnyRaa

4
ฉันลงคะแนนให้ปิดคำถามนี้เป็นหัวข้อนอกเรื่องเพราะเป็นเรื่องเกี่ยวกับเครื่องมือซอฟต์แวร์อย่างไรก็ตามมันเก่าเกินไปที่จะโยกย้ายไปที่ Stack Overflow

คำตอบ:


11

ในฐานะ @intarg กล่าวถึงในความคิดเห็น คุณสามารถเปลี่ยนFile|Settings|Code Style|Generalและในแท็บ Javascript ตั้งค่าContinuation Indentเป็น 0 สำหรับ Javascript

ที่จะได้รับประโยชน์สูงสุดจากสิ่งที่คุณต้องการ ปัญหาคือว่ารหัสของคุณเป็นจริงทุกคำสั่งยาว 1

$('#something').focus(
function() {
    /* Do some stuff */
}).blur(function() {
    /* this is where the cursor and closing braces end up */
})

ไม่แน่ใจว่ามีตัวเลือกที่เกี่ยวข้องเพื่อป้องกันไม่ให้มีการขึ้นบรรทัดใหม่ focus(

โอ้และต้องแน่ใจว่าคุณมีแท็บตัวอย่างโค้ด Javascript เปิดใช้งานเมื่อคุณเปลี่ยนตัวเลือก - ไม่เช่นนั้นคุณจะไม่เปลี่ยนเป็น Javascript

แก้ไข: ตอนนี้ฉันได้ดูต่อไป ตัวจัดรูปแบบ Javascript ถูกเขียนโค้ดเพื่อเพิ่ม linebreak ในกรณีเฉพาะนั้นไม่มีตัวเลือกสำหรับมัน


สิ่งนี้ใช้ไม่ได้สำหรับฉัน - ฉันยังคงได้รับการคืบข้างตามที่ระบุไว้ข้างต้น
JonnyRaa

0

การตั้งค่าทั้งหมดที่คุณต้องการในการควบคุมการจัดรูปแบบรหัสใน Intellij นั้นอยู่ในไฟล์> การตั้งค่าอื่น ๆ > การตั้งค่าเทมเพลต

หาก Javascript ไม่อยู่ในรายการ (เช่นคุณยังไม่ได้ติดตั้งปลั๊กอิน Javascript) คุณสามารถกำหนดรูปแบบรหัสได้ภายใต้แท็บ General จากนั้นแท็บอื่น ๆ จะมีตัวเลือกสำหรับควบคุมการเยื้องและระยะห่าง


ฉันคิดว่าปัญหาคือมันคิดว่าฟังก์ชั่นจาก. blur () เป็นการเยื้องต่อเนื่อง วิธีเดียวที่ฉันสามารถหยุดมันจากการทำเช่นนี้คือการตั้งค่าการเยื้องต่อเนื่องเป็น 0 แต่นั่นทำให้โค้ดอื่นดูแย่เช่นกัน คุณจะรู้วิธีที่จะบอกได้ไหมว่านี่ไม่ใช่การเยื้องต่อเนื่องหรือสิ่งภายในบางอย่างเกิดขึ้น
intargc

คุณติดตั้งปลั๊กอิน Javascript ไว้ใน Intellij หรือไม่? ฉันรู้ว่ามีไม่กี่ใช้ได้ หากคุณไม่ได้ใช้สิ่งใดสิ่งหนึ่ง IDE ก็จะย้อนกลับไปที่การเยื้อง / การเว้นวรรคแบบมาตรฐาน คุณควรใช้ปลั๊กอินเพื่อให้ IDE ตระหนักถึงโครงสร้างเหล่านี้
Desolate Planet

คุณลอง Jetbrains หรือไม่? คุณลองทำสิ่งนี้กับ Eclipse หรือไม่ ฉันไม่ได้สัมผัส Intellij ซักพักแล้ว แต่ฉันรู้ว่า Eclipse ได้รับการสนับสนุนปลั๊กอินที่ดีและมันก็ง่ายพอที่จะควบคุมการเยื้อง แต่คุณไม่ควรมีปัญหากับ Intellij
อ้างว้างดาวเคราะห์

เนื่องจาก community edition เป็นโอเพ่นซอร์สคุณสามารถรับซอร์สโค้ดสร้างและแทรกจุดพักที่จะทำการฟอร์แมตเพื่อแยกแยะหากมีปัญหาภายในอยู่เสมอ ถ้ามันไม่ได้ทำในสิ่งที่คุณต้องการให้ใช้การแก้ไขและส่ง patch ให้กับหนึ่งในเจ้าของ repo หากคุณมีเวลาและความชอบที่จะทำเช่นนั้น :)
Desolate Planet

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