public class KV<K, V> {
public K key;
public V value;
public KV(K key, V value) {
this.key = key;
this.value = value;
}
}
valueYerinde gerçekleşen sınıf değişkenini yeniden düzenlemeye çalışıyorum . Bu, hiçbir iletişim kutusunun açılmadığı anlamına gelir; Enter tuşuna basıyorum ve yorumlar ve olmayanlar dahil olmak üzere tüm proje boyunca yeniden düzenleme yapmaya çalışıyor:
<%--<link href="<c:url value="../core/core.css" />" />--%>
.jsp dosyasında. Bu, tüm proje genelinde eşleşen yorumları yeniden düzenlemeye çalışmak için fazla "zekice" . Bu genellikle çok sayıda hata riskine neden olur ve Java ortamında yeniden düzenleme artık güvenli değildir.
Aynı şey Intellij 12'de de meydana geliyordu. Cidden, güvensiz kabul edilen herhangi bir şeyi tavsiye etmek için Intellij'e ihtiyacım yok veya aynı şey olduğundan emin değilim!
Yeniden düzenlemeleri hariç tutabilirim, ancak her seferinde beş "öneriyi" değerlendirmek için zamanım yok. Bu sadece insan hatası olasılığını artırıyor: çoğu zaman sadece enter tuşuna basıyorum ve işler yeniden yapılandırılıyor.
Yeniden düzenleme, Java ortamında bazen .js dosyalarındaki şeyleri değiştirmeye çalıştığında da önemli bir sorundur. Cidden, bu sona ermeli.
Açılır pencere iletişim kutusu olmadan, "arama dizeleri" nin işaretini kaldıramıyorum. Bu işaretlenmiş olsa bile, Intellij , özellikle mevcut dosyanın dışındayken, önerileri hiçbir zaman varsayılan olarak içermemelidir. Bunları yeniden düzenlemeyi de önerebilir, ancak varsayılan olarak hariç tutulmaları gerekir. Yani, varsayılan olarak her şeyi yok etmek yerine tercihe bağlı bir özellik olmalıdır.
Bu, daha yakın tarihli "akıllı" Intellij yeniden düzenleme ile ilgili ciddi bir kullanıcı deneyimi sorunudur. JS dosyalarını yeniden düzenlerken, Java dosyalarında yorumlar veya dizeler aramak istemiyorum! Dönem! Ve tam tersi!
Güvenlik önce gelir! Ne yaptıklarını bilen geliştiriciler, gerekirse dizeleri kendileri arayacaktır. Dinamik bir dil ortamında, Intellij'i kullanmayı imkansız kılar, çünkü sıklıkla ve herhangi bir net model olmadan, bazen yeniden düzenlemeler geçer, bazen proje boyunca şeyleri değiştirir ve ne değiştirmez.
Özellikle dinamik diller için, "Yalnızca bu dosyaya göre veya% 100 çıkarsama yapıldığında yeniden düzenleyin!" Diyen bir seçenek olmalıdır! Statik diller için, dosyanın dışındaki yorumları ve dizeleri aramaya bile çalışmamalıdır.
Kamuoyuna duyurmak istemedim, ancak bu konuyu 2 yıldan fazla bir süre önce bugtracker'da gündeme getirdim, ancak kimse dikkat etmedi.
DÜZENLE
Uzağa gidebileceğimi düşünenler için şunu denedim:
Bu sınıfla:
public class KV<K, V> {
public K key;
public V val;
public KV(K key, V val) {
this.key = key;
this.val = val;
}
}
Ve bunu herhangi bir Java sınıfına eklemek , örneğin:
public class CoreConfig {
String abc = "kv.val";
String def = "somethingElse.val";
}
Daha KV.valönce olduğu gibi yeniden düzenleme yaparken , aşağıdaki önerileri alıyorum, felaketten bir GİRİŞ ve her seferinde birini değerlendirip hariç tutmam gereken bir şey. Çaba gerektirir ve sinir bozucu ve risklidir. Sanki biri bağırıyor, DUR! Ve sonra ooh, bir dakika sonra hiçbir şey, hayal kırıklığı ve 1000 uzun kelimelik bir deneme (bu).

Cidden, bu tür riskli davranışları devre dışı bırakmanın bir yolu var mı? Ve bunun varsayılan olarak açık olmasının herhangi bir nedeni var mı?
DÜZENLE 20200706
İşler 2020'de de devam ediyor: https://youtrack.jetbrains.com/issue/IDEA-245370