Uzun zamandır emacs kullanıyorum, ancak bir sürü özellik kullanmaya devam etmedim. Bunlardan biri, şu an kısaca araştırdığım speedbar. Bir diğeri imenu. Bunların her ikisi de, ben çalışıyorum modülünde belirli yöntemlere atlayabilir imenu kullanma in-emacs-how-can-i-jump-between-functions-in-the-current-file?Emacs'te, imenu C# ile daha mantıklı bir şekilde nasıl kullanabilirim?
bahsedildi. Ama seçeneği seçmek ulaşmadan müzakere gereken bir ayrıştırma hiyerarşisi (ile orada otomatik tamamlama) yöntem adı.
Böyle gider. M-x imenu
yazıp Using
veya Types
'u seçiyorum. Kullanım seçeneği, C# dosyasının en üst düzeyindeki (C# tanımını bilmeyenler için bir Java modülündeki içe aktarma ifadeleri gibi) kullanım ifadelerinden herhangi birine atlamamı sağlar. Süper yararlı değil. Türleri seçiyorum. Daha sonra kaynak modülünde sadece bir tane olsa bile bir isim ve bir sınıf seçmem gerekiyor. Bu noktada değişkenler, tipler ve yöntemler arasında seçim yapabilirim. Yöntemleri seçersem, sonunda seçim yapabileceğim yöntemler listesini alırım. Geçiş yaptığım hiyerarşi şöyle:
Using
Types
Namespace
Class
Types
Variables
Methods
method names
Ben 5 seviyeye ulaşmak Sadece sonra ben gerçekten atlamak istediğiniz şeyi seçmek için olsun: Belirli bir yönteme. Imenu, kaynak modülüyle ilgili akıllı görünmekle birlikte, kullanımı zor bir tür gibi görünmektedir. Yanlış mı yapıyorum?
Çok daha fazla iş olurdu, ancak Emacs'ın C# desteğini geliştirmenin (ki bu da oldukça muhtaç görünmektedir) geliştirilmesi konusunda ciddiyseniz, bunu yapmanın en eksiksiz ve güçlü yolu Semantic'tir (http: // cedet .sourceforge.net/semantic.shtml). Bu, tam çözümleyici yazmayı içerir, ancak böyle bir ayrıştırıcıya sahip olmanın yararlarını sağlar. Hızlı bir şey arıyorsanız, bununla birlikte, overkill. – haxney
Sorunuz, makefile modunda benzer bir sorun için bir yama göndermem için bana ilham verdi: iki üst düzey menülere, "Bağımlılıklar" ve "Makro ödevlerine" sahipti, ancak benim yamağumla düz bir listeyle birleştirildi (Sadece başlık dizelerini nil ile değiştirdim). C# modu için aynı şeyi yapmak zor olmamalıdır. – legoscia
Düzeltme eki: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=5582 – legoscia