Как очистить консоль программно в Xcode? - PullRequest
27 голосов
/ 04 января 2011

В моем коде есть куча операторов NSLog, которые я использую для отладки. Каждый раз, когда я запускаю свой проект, я хотел бы начать с нового экрана консоли. Есть ли какая-либо команда, которую я могу встроить в мой код, который может сделать это?

Ответы [ 7 ]

68 голосов
/ 02 июля 2015

В консоли (режим отладки) используйте

Command + k 

для очистки консоли.

20 голосов
/ 14 июля 2012

Я думаю, что единственное, что вы можете, это

for(int i= 0; i < 100; i++) 
NSLog(@" ");

, как в старой доброй MS-DOS:)

10 голосов
/ 04 января 2011

Если вы говорите о консоли в окне Xcode, в меню «Выполнить» есть опция «Очистить консоль». Также на вкладке «Отладка» в настройках есть флажок «Auto Clear Debug Console». Я имею в виду Xcode 3.2.x

8 голосов
/ 04 января 2011

Возможно, вы могли бы использовать параметр «Auto Clear Debug Console» в настройках XCode. Не знаете, отвечает ли это на ваш вопрос?

3 голосов
/ 04 января 2011

Консоль отладчика / журнал запуска - это, в основном, перенаправленная команда «войти в консоль» из вашего приложения.«Очистка» это ничего не значит в общем смысле, так как сообщения обычно просто где-то шунтируются (как файл).Ваше приложение должно знать о своей среде отладки и быть в состоянии указать этой среде очистить все, к чему оно ведет.

Короче говоря: я полагаю, это не невозможно , но это смехотворно неудобно.

1 голос
/ 12 апреля 2013

Как уже упоминалось в stackr, параметр «Auto Clear Debug Console» в настройках XCode сделает это. Для этого в коде:

bool ClearXCodeDebuggerConsole()
{
    NSString *const scriptText = @"\
tell application \"System Events\"\n\
set currentapp to the name of the current application\n\
end tell\n\
tell application \"Xcode\" to activate\n\
tell application \"System Events\"\n\
keystroke \"r\" using {command down, control down, option down}\n\
end tell\n\
tell application currentapp to activate\n\
return true";

    NSAppleScript *script = [[[NSAppleScript alloc] initWithSource:scriptText] autorelease];
    [scriptText release];
    NSDictionary *dictError = nil;
    NSAppleEventDescriptor *result = [script executeAndReturnError:&dictError];

    if (!result) return false;
    if ([result booleanValue] != YES) return false;
    return true;
}
0 голосов
/ 21 ноября 2011

команда + управление + опции + R очищает консоль в xcode

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...