2011-08-05 29 views
7

Kullanıcının belirli komutları yazabileceği özel bir komut istemleri sunacağı konsol tabanlı bir Java uygulaması yazıyorum. Yazarken, uygulamanın otomatik tamamlama özelliğini uygulamak istiyorum. Komut, kullanıcı SEKME tuşuna basarsa komut tamamlanmalıdır. İşlev, Linux komut isteminde otomatik tamamlamaya benzer.Konsol Uygulamasındaki Tabanlı Otomatik Tamamlama

Java Console Uygulamasında, SEKME üzerinde denetim elde edemeyiz ve SEKME tuşuna basıldığında, varsayılan olarak 8 boşluk eklenir. SEKME işleminin gerçekleştirilemediği bazı uygulamalara ihtiyacım var ve uygulamanız otomatik tamamlama ile SEKME'yi değiştirebilir.

Şimdiden teşekkürler.

+0

RHQ projesini ve CLI'yi kontrol edin. Otomatik tamamlamanın oldukça iyi bir etkisi vardır. http://git.fedorahosted.org/git/?p=rhq/rhq.git;a=tree;f=modules/enterprise/remoting/cli;h=ba5c185774538696525b6c05c3777964f5dd606c;hb=HEAD –

+0

Hey GJ, çok var temel soru. Konsol dizelerini nasıl işlersiniz? String Buffer kullanıyor musunuz? Tasarım kararlarından bazılarını paylaşabilir misiniz? –

cevap

7

Java-Readline veya jline2 gibi bir kitaplık kullanmayı deneyebilirsiniz.

+0

Aktif geliştirme altındaki tek kişi şu anda [jline3] (https://github.com/jline/jline3). –

0

picocli Java komut satırı ayrıştırma kitaplığı, kısa bir süre önce otomatik tamamlama işlevselliği ekledi.

Ayrıca, kullanım yardım iletisinde ANSI renklerini ve stillerini nasıl kullanabileceğinizi de beğenebilirsiniz.

enter image description here

Yasal Uyarı: Ben yazar ve bu nedenle önyargılı değilim.