วิธีง่ายๆ ในการจัดลำดับวิธีการของคลาส Java ใน IntelliJ ใหม่หรือไม่

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

ใน Eclipse AFAIK มีมุมมองที่คล้ายกับมุมมองโครงสร้างของ IntelliJ ซึ่งฉันสามารถลากและวางวิธีการต่างๆ ได้ อย่างไรก็ตาม สิ่งนี้ใช้ไม่ได้ใน IntelliJ และฉันก็ไม่พบคำแนะนำใด ๆ จากความช่วยเหลือของมันเช่นกัน

ฉันใช้ IntelliJ 9.0.2 เพื่อเจาะจง


person Péter Török    schedule 13.05.2010    source แหล่งที่มา
comment
ฉันคิดว่าทางออกที่ดีที่สุดคือเครื่องมือการจัดรูปแบบที่สั่งวิธีการของคุณโดยอัตโนมัติ ร้อยแก้ว: วิธีการควรเรียงลำดับตามวิธีที่ถูกเรียก เหมือนอ่านบทความในหนังสือพิมพ์   -  person Chris311    schedule 28.11.2016


คำตอบ (6)


คุณสามารถเลือกชื่อวิธีการแล้วกด: Ctrl+Shift+ขึ้น หรือ Ctrl+Shift< /kbd>+Down เพื่อเลื่อนขึ้นและลง

บน OS X: Cmd+Shift+ขึ้น หรือ Cmd+Shift+< kbd>ลง

นอกเหนือจากนี้ ปลั๊กอิน Rearranger ยังช่วยให้คุณย้ายวิธีการต่างๆ ได้อย่างรวดเร็ว และยังกำหนดลำดับมาตรฐานโดยอิงจาก แบบแผนการเข้ารหัส

person retronym    schedule 13.05.2010
comment
ไม่มีสิ่งใดที่จะเรียงลำดับตัวอักษรใหม่ใช่ไหม - person Jaime Hablutzel; 19.06.2011
comment
ลิงก์นี้ใช้งานไม่ได้ ดูเหมือนว่าจะเป็นลิงก์ที่ถูกต้อง: java.net/projects/rearranger - person stian; 06.12.2012
comment
@stian - ฉันได้แก้ไขโพสต์ให้ชี้ไปที่หน้าปลั๊กอินบนเว็บไซต์ของ JetBrains เนื่องจากลิงก์ที่คุณโพสต์ดูเหมือนจะไม่มีการดาวน์โหลดใด ๆ - person adrian; 29.10.2013
comment
สำหรับ Mac OS X: Cmd+Shift+ขึ้น / Cmd+Shift+ลง - person Christian García; 06.08.2014
comment
ปลั๊กอินการจัดเรียงใหม่ทำงานได้ไม่ดีกับเวอร์ชัน IntelliJ 2016 และจุดบกพร่องที่กล่าวถึงใน saurabheights' คำตอบยังไม่ได้รับการแก้ไข ดังนั้นดูเหมือนว่าในขณะนี้ยังไม่มีวิธีใดที่จะจัดเรียงวิธีการใหม่โดยอัตโนมัติโดยเรียงลำดับตามความลึกก่อน - person Suzana; 28.11.2016
comment
ตั้งแต่ IDEA 16 จึงมีให้ใช้งานได้ผ่านเมนู: Code > Move Statement Up/Down - person Lu55; 02.02.2017

IntelliJ มีระบบในตัวที่ให้คุณระบุวิธีสั่งซื้อวิธีการของคุณได้ คุณต้องไปที่การตั้งค่า (Ctrl + Alt +S) -> ตัวแก้ไข -> สไตล์โค้ด -> Java -> การจัดเรียง (แท็บ) และเลื่อนลงจนกว่าคุณจะพบไอคอนที่มี methods ที่นั่น คุณสามารถจัดการตัวเลือกต่างๆ เพื่อจัดเรียงตามการมองเห็น หรือตามตัวอักษร หรือเพื่อจัดกลุ่มที่เกี่ยวข้องกัน นี่คือภาพหน้าจอการตั้งค่าของฉันซึ่งจะเรียงลำดับวิธีการโดยอัตโนมัติตามการมองเห็น (สาธารณะ ป้องกัน ส่วนตัว) และตามตัวอักษร (a-z) ไฮไลท์สีน้ำเงินแสดงกฎที่เลือกในปัจจุบัน

ป้อนคำอธิบายรูปภาพที่นี่

person georger    schedule 30.01.2017
comment
ฉันจะใช้ตัวเลือกคำสั่งซื้อกับกฎตั้งแต่หนึ่งข้อขึ้นไปในคราวเดียวได้อย่างไร - person Derek Mahar; 08.05.2018
comment
สิ่งนี้ไม่ทำงานเลย การใช้การกำหนดค่านี้และดำเนินการจัดเรียงใหม่ไม่ได้ทำอะไรเลย - person Mulgard; 29.09.2020
comment
โซลูชันนี้ใช้ได้กับการสั่งซื้อเริ่มต้น ขอบคุณ! - person Mr. Polywhirl; 06.11.2020
comment
การกดรหัส -> จัดเรียงรหัสใหม่สามารถใช้การกำหนดค่ากับไฟล์ปัจจุบันได้ในคราวเดียว! - person Jameson; 28.02.2021

ยังไม่ใช่คำตอบที่สมบูรณ์แบบยัง เนื่องจากข้อบกพร่องใน IntelliJ

แม้ว่า IntelliJ จะเสนอคุณสมบัตินี้โดยปริยาย แต่จำเป็นต้องเปิดใช้งานและแก้ไขด้วย วิธีที่แนะนำของ OP คือการจัดวิธีการทางเทคนิคตามลำดับเชิงลึกก่อน อย่างไรก็ตาม หากคุณใช้การเรียงลำดับแบบ Breadth-first (ซึ่งทำงานได้อย่างถูกต้อง) ก็ควรลดการทำงานแบบแมนนวลในการย้ายฟังก์ชันลงอย่างมาก โดยการจัดเรียงวิธีผู้เรียกและผู้เรียกทั้งหมดไว้ด้วยกัน

ลิงก์ปัญหา: https://youtrack.jetbrains.com/issue/IDEA-149524 กรุณาลงคะแนนเสียงให้กับมติของมัน

Intellijจัดเรียงวิธีการใหม่InDFO

การดำเนินการที่เหมาะสมสำหรับสิ่งนี้คือการจัดเรียงโค้ดใหม่ สิ่งนี้ไม่ได้กำหนดคีย์ไว้ แต่คุณสามารถกำหนดคีย์ของคุณเองได้โดยใช้ Preferences->Keymap

จัดเรียงปุ่มเมนูการกระทำใหม่

ป้อนคำอธิบายรูปภาพที่นี่

person saurabheights    schedule 27.11.2016

ด้วยเคอร์เซอร์ของคุณบนบรรทัดคำจำกัดความของวิธีการ (คุณไม่จำเป็นต้องและกด ctrl+shift+ขึ้น หรือ ctrl+shift+ลง เพื่อเลื่อนขึ้นหรือลงตามลำดับ

คุณยังสามารถ ctrl+shift+numberpad - เพื่อยุบทุกอย่างอย่างรวดเร็วเพื่อให้คุณสามารถมุ่งเน้นไปที่การเคลื่อนที่ไปรอบ ๆ (ธรรมดา - ทำงานบนแล็ปท็อปของฉันเช่นกัน ไม่แน่ใจว่าทำไม) และ ctrl+shift+numberpad + เพื่อกลับไปดูทุกอย่าง (ctrl- shift-equals ใช้งานได้บนแล็ปท็อปของฉันเช่นกัน)

person Yishai    schedule 13.05.2010

เลือกบล็อกข้อความ (กด Ctrl-W สองสามครั้ง) จากนั้นใช้ Ctrl-Shift-Up และ Ctrl-Shift-Down เพื่อเลื่อนไปมา

person Jacob Mattison    schedule 13.05.2010

มีวิธีอัตโนมัติซึ่งคุณสามารถปรับแต่งได้ในภายหลัง

รหัส -> แสดงกล่องโต้ตอบแสดงไฟล์ฟอร์แมต

และทำเครื่องหมายที่ช่อง "จัดเรียงรหัสใหม่"

person Alon    schedule 12.03.2018