2013-12-09 20 views
7

Kodumda, bazı hizalamalarla kullanılabilecek yorumlara sahip bazı satırları hizalamaya çalışıyorum. Notepad ++ "Code-Alignment" eklentisini kullandım ve aşağıdaki metni hizaladım.Notepad ++ - Metni dikey olarak birden çok sütunda hizalama

class Constants(object): 
    VAL_CONST = 5 # Lorem ipsum dolor sit amet = 213 
    TEST_CONST = 0.2324 # Curabitur condimentum elementum = 32 
    PARALLEL_CONST = 88 # Vivamus vehicula, mauris nec vehicula pulvinar, urna nibh mollis = 1342 
    CURVE_SPATIAL_CONST = 0.000005892 # Donec sagittis in lacus = 0.55 

aşağıdaki ile sonuna kadar:

class Constants(object): 
    VAL_CONST   = 5 # Lorem ipsum dolor sit amet = 213 
    TEST_CONST   = 0.2324 # Curabitur condimentum elementum= 32 
    PARALLEL_CONST  = 88 # Vivamus vehicula, mauris nec vehicula pulvinar, urna nibh mollis = 1342 
    CURVE_SPATIAL_CONST = 0.000005892 # Donec sagittis in lacus %$ 0.55 

Ancak, bir adım öteye taşıyabilir istiyorum. Kodu bir kez daha "yeniden eşleştirmek" istiyorum, bu kez ikinci "eşittir" işaretler kümesinde. Tercihen yorumlardan geçmeden ikinci set eşittir işareti eşittir. İsterdim ne

Sonuç: düzenli ifadeler yardımıyla mümkündür

class Constants(object): 
    VAL_CONST   = 5 # Lorem ipsum dolor sit amet          = 213 
    TEST_CONST   = 0.2324 # Curabitur condimentum elementum        = 32 
    PARALLEL_CONST  = 88 # Vivamus vehicula, mauris nec vehicula pulvinar, urna nibh mollis = 1342 
    CURVE_SPATIAL_CONST = 0.000005892 # Donec sagittis in lacus         = 0.55 

cevap

6

v3Code alignment itibaren.

İlk önce, Plugins>Code alignment>> > numaralı sıradan ilk eşitliği hizalamanız gerekir.

Sonra Plugins>Code alignment>Align by... gidin (veya vurmak Ctrl + Shift = + ) ve aşağıdaki ifadeyi yazın:

.+(?<x>=) 

kontrol etmeyi unutmayın "Kullan düzenli ifadeler "seçenek. Bu ifade, ilkinin yerine yalnızca son eşit olacak şekilde hizalanır.

Bu iki adım istenilen sonucu döndürür:

class Constants(object): 
    VAL_CONST   = 5 # Lorem ipsum dolor sit amet          = 213 
    TEST_CONST   = 0.2324 # Curabitur condimentum elementum        = 32 
    PARALLEL_CONST  = 88 # Vivamus vehicula, mauris nec vehicula pulvinar, urna nibh mollis = 1342 
    CURVE_SPATIAL_CONST = 0.000005892 # Donec sagittis in lacus         = 0.55 
+0

Teşekkürler, bu mükemmel çalışıyor! Sormadan önce normal ifade özelliğini kullanmaya çalışıyordum ama işe yaramadı. Anlamadığım nokta, eşleştirmeyi adlandırılmış ifade açısından nereye koymalıydı. Eşleştirmeyi, yaptığınız gibi içeriden değil. –

0

Bir süre Code Alignment eklentisi kullanarak edilmiş ve çok yararlı olduğu bulundu. Ama benim açımdan gelen iki büyük sorunları vardır: o sınırlayıcı karakteri verilen sadece ilk sütunu hizalar

Ama bir alternatif karar Menüden çalıştırılabilir Notepad ++ Plugin adlı Python Script adlı ython Komut Dosyası. Sütun sınırlayıcı olarak kullanılacak herhangi bir dizeyi girer ve seçilen satırlardaki tüm sütunları hizalar.

+0

Yükleme yönergelerini takip ettim, ancak "Eklentiler-> Python Komut Dosyası -> Komut Dosyası"> – FuriousFolder

+0

"komut dosyaları" altında hiçbir öğe yok. Sanırım AlignColumns.py 'yi "C" ye kopyaladıktan sonra NPP'yi yeniden başlatmanız gerekiyor. \ yol \ etmek \ NPP \ plugins \ Config \ PythonScript \ komut \ '. Nasıl çalıştığını bana bildirin! – DUzun

+0

Öyleyse, zar yok: Bir yıl önce bunu yazdığını biliyorum ve bu eklenti o zamanlar eklentilerin nasıl ele alındığını güncelledi. Kırılma değişikliği oldu mu? (Düzenle: yanıt vermek için teşekkürler + bu konuda destek sağlama :)) – FuriousFolder

İlgili konular