Bir otomatik tamamlama açılır kutusunun kodu yazarken görünmesine izin vermek için emacs yapılandırmamı Rsense kullanımıyla güncelliyorum. Bu, ruby on rails projemde bazı kodları düzenlerken tablodan bir yanıt seçmeme izin vermediği dışında çoğu dosyada iyi çalışıyor.
İşte kurulumum: https://github.com/map7/simple_emacs
Bunu Ubuntu 10.04 altında kullanıyorum.
Basit Ruby betik dosyaları için harika çalışıyor. Yeni bir dosya açıp yazabilirim.
"test".up...
Yukarıya 'p' karakterini yazdığım gibi, bir seçenekler listesi beliriyor ve ok tuşlarıyla listede yukarı ve aşağı gidip enter tuşuyla birini (örneğin: büyük harf) seçebiliyorum.
Çalışmayan şey, tam olarak aynı testi yaptığımda, ancak bir raylar projesinin temel dizini içinde yaptığımda.
Güncelleme:
Sorunun ('rails gerektirir) ile ilgili olduğu bulundu, bu nedenle bu, otomatik tamamlamanın hoşlanmadığı emacs-rails eklentisinde bir şey.
Güncelleme:
Emacs-rails -> rails-project.el içinde. Bu makroya yorum yaparsam otomatik tamamlama çalışır, aksi takdirde çalışmaz:
(defmacro* rails-project:with-root ((root) &body body)
"If you use `rails-project:root' or functions related on it
several times in a block of code, you can optimize your code by
using this macro. Also, blocks of code will be executed only if
rails-root exist.
(rails-project:with-root (root)
(foo root)
(bar (rails-core:file \"some/path\")))
"
`(let ((,root (rails-project:root)))
(when ,root
(flet ((rails-project:root () ,root))
,@body))))
Birisi bunun neden otomatik tamamlamayı bozduğunu açıklayabilir mi?