2011-01-04 26 views
22

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

ответ

8

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

+3

Отлично !! Однако просто любопытно, если то же самое можно сделать и с кодом – NSExplorer

10

Если вы говорите о консоли в окне Xcode, в меню «Выполнить» есть опция «Очистить консоль». На вкладке «Отладка» также есть флажок «Автоматическая очистка отладки». Я имею в виду Xcode 3.2.x

+0

hmm you where first ... :-(:-) – stackr

+3

Но почему-то ваш ответ был принят :( – Mark

3

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

Одним словом: я полагаю, что это не невозможно, но это смешно неудобно.

+0

Однако мы может представить команду breakpoint, которая в основном просит консоль очистить себя. _That_ было бы удобно. – KPM

-4

команда + управления + опции + R сбрасывает консоль в Xcode

+1

он спрашивает про «программную очистку» – Add080bbA

19

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

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

так же, как в хорошей старой MS-DOS :)

+2

Этот ответ только что сделал мой день! (даже жестко я его не буду использовать) :) –

+0

Это выиграло Это действительно ясно, хотя, поскольку он будет включать все ваши данные отладки, поскольку вы используете NSLog. Вместо этого вы должны использовать 'puts (" ");' –

1

As упомянутый 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; 
} 
+1

Похоже, это то, что я ищу, но NSAppleScript является частью AppKit. Вы знаете версию iOS? – VaporwareWolf

41

Когда в консоли (режим отладки) использовать

Command + k 

очистить консоль.

Смежные вопросы