IntelliJ'de bir Java sınıfının yöntemlerini yeniden sıralamanın basit yolu?


83

IntelliJ'de bir sınıf kaynak dosyası içindeki yöntemleri yeniden düzenlemenin, kodu manuel olarak kesip yapıştırmaktan daha basit bir yolu var mı? Günümüzde, eski kodu yeniden düzenlerken, örneğin ilgili yöntemleri kaynak kodda birbirine yaklaştırırken buna sıklıkla ihtiyacım oluyor.

Eclipse AFAIK'te, yöntemleri sürükleyip bırakabileceğim IntelliJ'in Yapı görünümüne benzer bir görünüm var. Ancak, bu IntelliJ'de çalışmıyor ve yardımından da herhangi bir ipucu bulamadım.

Spesifik olmak için IntelliJ 9.0.2 kullanıyorum.


Bence en iyi çözüm, yöntemlerinizi otomatik olarak sıralayan bir biçimlendirme aracı olacaktır. Nesir: Yöntemler, çağrıldıkları şekilde sıralar olmalıdır. Tıpkı bir gazetede makale okuyacağınız gibi.
Chris311

Yanıtlar:


109

Bir yöntem adı seçebilir ve yukarı ve aşağı taşımak için Ctrl+ Shift+ Upveya Ctrl+ Shift+ tuşlarına basabilirsiniz Down.

OS X'te: Cmd+ Shift+ Upveya Cmd+ Shift+Down

Bunun ötesinde, Yeniden Düzenleyici Eklentisi , yöntemleri hızla hareket ettirmenize ve hatta kodlama kuralınıza göre standart bir sıralama tanımlamanıza olanak tanır.


örneğin alfabetik olarak yeniden sıralanacak bir şey yok mu?
Jaime Hablutzel

Bağlantı
kesildi

@stian - Gönderdiğiniz bağlantıda herhangi bir indirme bulunmadığından, yazıyı JetBrains'in web sitesindeki eklenti sayfasına işaret edecek şekilde düzenledim
adrian

5
Mac OS X için: Cmd + Shift + Up / Cmd + Shift + Down
Christian García

2
IDEA 16'dan bu yana menü aracılığıyla kullanılabilir:Code > Move Statement Up/Down
Lu55

24

IntelliJ'deki bir hata nedeniyle henüz mükemmel bir cevap değil .

IntelliJ bu özelliği örtük olarak sunsa da, etkinleştirilmesi ve düzeltilmesi gerekir. OP'nin önerdiği yol, teknik olarak yöntemleri derinlemesine öncelik sırasına göre düzenlemektir. Bununla birlikte, Genişlik-ilk sıralama (düzgün çalışan) kullanıyorsanız, tüm arayan ve aranan yöntemlerini bir arada düzenleyerek, işlevlerin manuel olarak taşınmasını büyük ölçüde azaltmalıdır.

Sorun Bağlantısı: https://youtrack.jetbrains.com/issue/IDEA-149524 . Lütfen onun çözümü için oy verin.

IntellijRearrangeMethodsInDFO

Bunun için uygun eylem Kodu Yeniden Düzenleme'dir. Bunun kendisine atanmış bir anahtarı yoktur, ancak Tercihler-> Tuş Eşleme'yi kullanarak kendinizinkini tanımlayabilirsiniz.

Yeniden DüzenlemeAksiyon Menüsü Düğmesi

görüntü açıklamasını buraya girin


24

IntelliJ, yöntemlerinizi nasıl sıralayacağınızı belirlemenize izin veren yerleşik bir sisteme sahiptir. Ayarlar (Ctrl + Alt + S) -> Editör -> Kod Stili -> Java -> Düzenleme (sekme) seçeneğine gitmeniz ve simgelerini bulana kadar aşağı kaydırmanız gerekir methods. Burada, görünürlüğe göre veya alfabetik olarak sıralama veya ilişkili olanları bir arada gruplandırmak için seçenekleri değiştirebilirsiniz. Yöntemleri görünürlük (genel, korumalı, özel) ve alfabetik olarak (az) otomatik olarak sıralayacak ayarlarımın bir ekran görüntüsü. Mavi vurgular, o anda seçili olan kuralları gösterir.

görüntü açıklamasını buraya girin


1
Aynı anda bir veya daha fazla kurala bir sipariş seçimini nasıl uygulayabilirim?
Derek Mahar

Bu hiç çalışmıyor. Bu yapılandırmayı kullanmak ve Yeniden Düzenleme yapmak hiçbir şey yapmaz.
Mulgard

Bu çözüm, varsayılan sıralama ile çalışır. Teşekkürler!
Bay Polywhirl

7

İmleciniz yöntem tanımlama satırı üzerindeyken ( sırasıyla yukarı veya aşağı hareket etmek için ctrl+ shift+ upveya ctrl+ shift+ tuşlarına basmanız gerekmez down.

Ayrıca, her şeyi hızlı bir şekilde daraltmak için ctrl+ + shifttuşlarına numberpad -basabilir, böylece hareket etmeye odaklanabilirsiniz ( -dizüstü bilgisayarımda düz çalışıyor, neden olduğundan emin değilim) ve her şeyi görmek için geri dönmek için ctrl+ shift+ numberpad +(ctrl-shift-equals dizüstü bilgisayarımda şu şekilde çalışır: iyi).


3

Bir metin bloğu seçin (birkaç kez Ctrl-W tuşlarına basın) ve ardından hareket ettirmek için Ctrl-Shift-Up ve Ctrl-Shift-Down tuşlarını kullanın.


1

Daha sonra ince ayar yapabileceğiniz otomatik bir yol var

Kod -> yeniden biçimlendirme dosyası iletişim kutusunu göster

ve "kodu yeniden düzenle" kutusunu işaretleyin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.