Как заставить клавишу Backspace \b работать в консоли Eclipse?

Я создаю немного JAVA-приложения, которое должно иметь индикатор хода выполнения с процентами. В каждом цикле это использует клавишу Backspace \b удалить отображенный прогресс прежде, чем отобразить следующий процент.

Вот упрощенный пример:

public static void main(String[] args) throws Exception {
    System.out.print("Progress: ");
    for (int percentage = 0; percentage < 100; percentage++) {
        System.out.print(percentage + "%");
        Thread.sleep(10); // Stub for "long running task".
        int length = String.valueOf(percentage).length() + 1;
        while (length-- > 0) {
            System.out.print('\b');
        }
    }
    System.out.println("finished!");
}

Это работает отлично в командной строке, но символ возврата не распознан в консоли Eclipse (сборка Galileo 20090920-1017). Это вместо этого отображает пустой квадрат, обозначающий неизвестный символ. См. снимок экрана:

alt text

Как я заставляю Eclipse "отображать" клавишу Backspace правильно? Т.е. позвольте ему удалить предыдущий символ.

Это не на самом деле никакой showstopper, так как это будет просто выполнено в консоли команды, но было бы просто хорошо заставить это работать в Eclipse также :)

76
задан Boann 24 January 2015 в 18:41
поделиться

2 ответа

Ошибка Eclipse #76936. Я бы не рассчитывал, что они исправят это, и нет никаких обходных путей.

Возможно, вам повезет найти плагин, который предоставляет более продвинутую консоль.

57
ответ дан 24 November 2019 в 11:23
поделиться

Ну, это правда, вы не можете использовать backspace \ b для удаления отображаемого прогресса, но вы можете удалить его, очистка консоли с помощью цикла, вызывающего println. Конечно, этот клудж не очистит ваш лог-файл!

8
ответ дан 24 November 2019 в 11:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: