2011-10-14 11 views
11

Kaynak kod dosyalarının kodda kullanılmayan birçok içeriğe sahip olduğuna inanıyorum (varolan yeni dosyalara kopyalamanın kötü bir alışkanlığım olduğu için). Visual Studio'da C# yi kodlarken (veya belki de bir eklentinin bir özelliği), kullanılmayan tüm ithalatları sadece bir tıklamayla silebilirsiniz. Scala için benzer bir araç var mı? Kaynak dizinime yönlendirebilseydim ve içerideki tüm dosyaları ve tüm alt dizinlerini ve alt dizinlerini (vb.) Temizlerse harika olurdu.Scala'nın tüm kullanılmayan tüm ithalat dosyalarını tüm kod dosyalarından temizlemesi için bir araç var mı?

cevap

4

Bence Intellij kullanılmayan ithalatları gri olarak işaretler. Henüz otomatik bir araç olduğunu düşünmüyorum. Eclipse ve ensime'nin "ithalatı düzenle" yeniden yapılandırması, ithalatı kaldırmıyor. Tabii ki her zaman bireysel ithalatı ve yeniden derlemeyi yorumlayabilirsiniz.

+4

Eclipse çalıştırmak kullanılmayan ithalat kaldırır benim için. – Mike

+0

Organize olarak içe aktarma, 2.0.0-beta6'dan beri ScalaIDE'ın bir özelliğidir. http://scala-ide-portfolio.assembla.com/spaces/scala-ide/wiki/Changelog –

4

IntelliJ, yalnızca bunları vurgulamakla kalmaz, tüm dizini içe aktarma işlemlerini otomatik olarak temizleyebilir. Kısayol Ctrl + Alt + O'dur.

enter image description here

+1

Tüm projem için ithalatı optimize etmesine izin verecek kadar cesur olmamıştım. Tabii ki bu her zaman geri dönebileceğinden mantıklı değil. Ama işe yarıyor mu? Çünkü otomatik ithalatlar genellikle başarısız oluyor. – ziggystar

+0

@ziggystar Dosyalarımı temizlediğimden beri tüm dizin seçeneğini denemedim. Bazen otomatik içe aktarma başarısız olur, bu yüzden hangisini manuel olarak seçmeniz gerekir (genellikle belirsizlikler varsa) ama hiç kullanmadığım bir ithalatı hiç görmedim. –

+1

Aslında, Scala için gerekli olan ithalatı kaldıracaktır. Bu, dolaylı olarak, örn. IntelliJ Scala eklentisi, import com.bla.common.MonadInstances._ komutunu kaldırmak isterse de sınıfım bile onsuz derlenmez. Bu yüzden, eklenti daha olgunlaşmadan kullanmayın. – Tvaroh

0

Scalafix bir kullanılmayan ithalat kaldırmak için yeniden yazma özelliği vardır: projenize addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.5.0-M1") eklemek https://scalacenter.github.io/scalafix/#RemoveUnusedImports

/plugins.sbt

ardından "ithalatı düzenlemek" sbt "scalafix RemoveUnusedImports"

+0

Konu dışı bir soruyla karşılaşırsanız, sadece bir bağlantı yanıtı göndermek yerine kapatmak için oy kullanmalısınız. –

+0

@BaummitAugen benim yazımı düzeltti. Bence konu hiç konu dışı değil. –

+0

Ne kadar? Site dışı kaynaklar için sorulan sorular açıkça konu dışıdır. –