1

yerine sözdizimi aşağıdaki içeren minification kullanarak. Bu yüzden bu sözdizimini değiştirmek için bir kodlama kuralı yayınladı: Onlara rastladım Intellij JavaScript satırlı yapısal arama ve projemizin açısal birim testlerin çok ise

inject(function(_dependency1_, _dependency2_) { 
    dependency1 = _dependency1_; 
    dependency2 = _dependency2_; 
}); 

Şimdi mevcut koduna bu bir çift yerine oldum ama elle yapmanın gerçekten yorgun aldık. Bu yüzden IntelliJ'te yapısal arama ve değiştirmeyi kullanarak çözmeye çalışıyorum. olaylar ile

inject([$injection$, function($argument$) { 
    $statement$; 
}]); 

:

  • $ enjeksiyon $: 1 sonsuz
  • $ argümanı $ 'a: 1 sonsuz
  • $ deyimi $' a: 1'den Bu benim defa arama şablon aşağıdaki gibi sonsuz

yerine şablonu tanımlanmıştır:

inject(function($argument$) { 
    $statement$; 
}); 

Bu şimdiye ancak başlangıçta tanımlanan örneğin çalışmıyor, sadece maçları ve fonksiyon gövdesinde bir tek satır ifadesi için doğru değiştirir, böylece Aşağıdaki örnek doğru değiştirilmiştir:

inject(['dependency1', 'dependency2', function(_dependency1_, _dependency2_) { 
    dependency1 = _dependency1_; 
}]); 

Am Bir şey mi eksik? Jetbrains website'daki basit if-else örneğine baktığımda bunun işe yarayacağını hissediyorum.

Noktalı virgülü $ ekstresi $ değişkeninin arkasından kaldırmayı denedim, bu birden fazla satırı eşleştirmedi ve değiştirildikten sonra noktalı virgüller kaldırıldı. $ Ifadesi $ değişkenine normal ifadeler uygulamayı denedim, ancak bunlar da işe yaramadı.

((.*)=(.*);\n)+ 

eşleşmedi , noktalı virgül, hangi ifadenin eşleşen gerçekleştirilmeden önce IntelliJ yapısal arama tarafından filtre edilir muhtemelen çünkü. eşleşti, ancak regex olmadan aynı davranışla değiştirildi.

cevap

1

JavaScript'te bir değişkenle birden çok ifadeyi eşleştirmek şu anda a bug nedeniyle bozuk.

+0

ah, bahşiş için teşekkürler. Tüm pazar günümden harcayacağımı bana kurtarmaya çalıştın :) –