В среде Xcode есть чрезвычайно мощный механизм Fix-it, который может создавать и реализовывать предложения по предотвращению проблем.

Для его активизации щелкните на значке, символизирующем проблему. Он находится на полях. Такой символ появляется после компиляции, если обнаружена ошибка.

Например, на рис. 9.3 я пропустил символ @ перед литералом NSString языка Objective-C, и компилятор выдал сообщение об ошибке (потому что я набрал литерал языка С, а это совершенно разные вещи). Щелкнув на символе предупреждения на поле, я открыл небольшое диалоговое окно, в котором не только описывается ошибка, но и содержится предложение по

ее исправлению. Но это не все: в этом окне есть гипотетическое (выделенное серым цветом) решение проблемы; в данном случае предлагается вставить в код символ @. И это еще не все: если нажать клавишу <Return> или дважды щелкнуть на кнопке Fix-it в диалоговом окне, то среда Xcode действительно вставит пропущенный символ @ в мой код — и предупреждение исчезнет, потому что проблема будет решена. Если я согласен с этим, то могу выбрать команду Editor=> Fix All in Scope (<Command+Option+Control+F>), и среда Xcode реализует все ближайшие предложения механизма Fix-it, больше не открывая диалоговое окно.

 

Предупреждение с предложением механизма Fix-it

Рис. 9.3. Предупреждение с предложением механизма Fix-it

 

Прямая синтаксическая проверка — это форма постоянной компиляции. Даже если вы не компилировали и не сохраняли код, механизм прямой синтаксической проверки может выявить наличие проблемы и предложить решение с помощью механизма Fix-it. Эта функция может быть включена или выключена с помощью флажка Show live issues на панели настроек General. Лично я предпочитаю отключать этот механизм, поскольку он слишком навязчивый. Когда я набираю код, он почти никогда не бывает синтаксически правильным, потому что термины и скобки всегда набраны лишь наполовину; это неизбежно при наборе текста. Например, простой набор открывающей круглой скобки мгновенно активизирует проверку синтаксиса и сообщение об ошибке (которая исчезает только тогда, когда я набираю закрывающую круглую скобку).


 

 

 

Добавить комментарий