Benim emacs c/C++ geliştirme kurulumunda cedet ve semantic ile deneyler yaptım ve küçük bir ayrıntı dışında onunla oldukça memnunum. Bir proje oluşturmak ve dosyaları içerir dizinleri ile birlikte Projemin kök dizini vermek ede-cpp-root-project
kullanmakSemantic, cedet kaynak dosyaları ayrıştırmaya zorlamak nasıl
aşağıda gibi ikamet:
(ede-cpp-root-project "My Project"
:name "My Project"
:file "/path/to/rootdir/AFILE"
:include-path '(
"/include2"
"/include1"
)
)
Bu beni kolayca semantic-ia-fast-jump
ile fonksiyonların beyanlarına atlayabilmesidir ama beni bu fonksiyonların tanımlarına getirmiyor. Yani sadece başlık dosyaları ile uğraşmak ve tamamen kaynak dosyaları görmezden geliyor gibi görünüyor. İşlevin bildirgesine gidip semantic-analyze-proto-impl-toggle
'u tetiklesem bile uygun bir uygulamanın bulunamadığını söyler.
İşlev dosyasının uygulanacağı kaynak dosyayı el ile açarsam ve sonra yalnızca anlamsal olarak ayrıştırılır ve yukarıda belirtilen işlevler çalışır.
Benim soru kısa elle bir dizin altındaki tüm kaynak dosyaları ayrıştırmayı zorlamak için başka bir yolu yoktur :spp-files
argüman yoluyla ede-cpp-root-project
onlara dahil olmak üzere manuel benim projenin kök dizinin altında bulunan tüm kaynak dosyaları açma veya nedir?
Teşekkürler!
bovinate' benim durumda nasıl yardımcı olabileceğini 'görmüyorum ve bu çözüm iyi görünüyor, ama emacs olmaz Etiketler veritabanını oturumlar arasında kaydedin. Bir şey mi eksik? – jarvisteve
hey, bu garip. Onlar .emacs dizininin içinde .semanticdb adlı bir dizinde kaydedilmelidir. – Lefteris
Dosya listemin çok uzun olduğu bir sorunla karşılaştım ve emacların durması ve görünüşte daha fazla ilerleme olmaması mümkün. Bir sonraki dizine geçmeden önce (semanticdb-save-all-db) bir çağrı ekleyerek çözüyorum. Bu şekilde önbellek sürekli güncellenir. Belki bu yardımcı olur. Normalde semantik, yalnızca emac çıkışından çıktığınızda kaydedilir. – RealityMonster