2014-05-12 10 views
7

Bir programın sbt içinde çalıştırılması sırasında tuş vuruşlarının ekrana yankılanmadığı göründüğünden bir şey kaçırmıyorum umarım. Bu basit bir kod derlemek ve (sbt dışında) komut satırından çalıştırmak zaman giriş için bunları yazıp tüm çalışıyor olarakSBT içindeki konsol girişi ekrana yankılanmıyor

object ConsoleTest extends App { 
    println("Enter a line:") 
    val input = Console.readLine() 
    println("You entered: " + input) 
} 

, ben tuş vuruşlarını bkz: İşte bir örnek.
Ne yazık ki, & derlemek için sbt kullandığımda, aynı kodu çalıştırmak, ekrana tuş vuruşlarını yankılamıyor. Bu rahatsız edici bir deneyim.
Bu farkı başka biri deneyimledi mi?
Başkalarının bu sorunla karşılaşıp karşılaşmadığını ve tuş vuruşu eko için bir sbt çalışma zamanı parametresi olup olmadığını görmek için bazı arama yaptım. Şimdiye kadar şans yok.
sbt-0.13.2 kullanıyorum ve yukarıdaki kodun Java sürümü aynı farkı yaşıyor, bu nedenle sbt ortamında çalışacak şekilde yerel görünüyor.
Herhangi bir fikir takdir edilmektedir.

+1

çalıştırdığınız hangi OS:

İşte nasıl belirtmek için çeşitli ayarların bazı örnekler? Ne tür bir terminalden kaçıyorsun? – gourlaysama

+0

Windows 7 Pro, MS-DOS kabuğu, Java 1.7, Scala 2.10.4. Net olmasaydı, println düzgün çalışır, önceden SBT'de yankılanan tuşlara sahip olmayan önceki readLine'dır. –

+0

Karakterler ekrana yankılanmıyor olsa da giriş baskısı tamam mı? Girişi beklemeyi mi bırakıyor? – lpiepiora

cevap

0

Bu soru hala cevap yok, bak ben Scala 2.12.1, SBT 0.13.13.1 kullanarak Windows 10 ile test

:) gider, 2.5 yaşında. Test programı Cmd ve WSL'nin bash altında iyi çalıştı. Tarihsel olarak bu problem bir JLine sorununun semptomatik olduğunu göstermiştir. jline.terminal Java sistem değişkeni ile JLine ayarını auto, none ve windows gibi değerlere geçersiz kılabilirsiniz. Here are the complete docs.

C:\work\experiments\sbt\optionTest>sbt run 
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 
[info] Loading project definition from C:\work\experiments\sbt\optionTest\project 
[info] Updating {file:/C:/work/experiments/sbt/optionTest/project/}optiontest-build... 
[info] Resolving org.fusesource.jansi#jansi;1.4 ... 
[info] Done updating. 
[info] Set current project to change-me (in build file:/C:/work/experiments/sbt/optionTest/) 
[warn] there was one deprecation warning (since 2.11.0); re-run with -deprecation for details 
[warn] one warning found 
Enter a line: 
asdf 
You entered: asdf 
[success] Total time: 46 s, completed Jan 7, 2017 1:27:27 PM 

C:\work\experiments\sbt\optionTest> sbt "-Djline.terminal=none" run 
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 
[info] Loading project definition from C:\work\experiments\sbt\optionTest\project 
[info] Set current project to change-me (in build file:/C:/work/experiments/sbt/optionTest/) 
Enter a line: 
asdf 
You entered: asdf 
[success] Total time: 3 s, completed Jan 7, 2017 1:28:12 PM 

C:\work\experiments\sbt\optionTest> sbt "-Djline.terminal=windows" run 
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 
[info] Loading project definition from C:\work\experiments\sbt\optionTest\project 
[info] Set current project to change-me (in build file:/C:/work/experiments/sbt/optionTest/) 
Enter a line: 
asdf 
You entered: asdf 
[success] Total time: 3 s, completed Jan 7, 2017 1:28:26 PM