Подтвердить что ты не робот

Xcode с использованием FIXME, TODO,???,?

Я начал использовать теги FIXME, TODO, ??? и !!! в XCode, но мне было больно, что он не распознает теги, когда они находятся внутри функции. Теги распознаются только за пределами данной функции.

Как я могу получить эти теги, распознанные внутри функции (как это там, где есть ошибки)?

4b9b3361

Ответ 1

Отредактировано 2016-02-02

Xcode теперь поддерживает //MARK:,//TODO: и//FIXME: ориентиры для аннотирования вашего кода и перечисления их в панели перехода.


Чтобы найти эти специальные разметки (и фактически любые разметки, которые вы указали сами), вы можете использовать навигатор поиска, введите следующую строку и затем выберите "В проекте, соответствующий регулярному выражению"... ", игнорировать регистр":

(//FIXME|//!!!|//\?\?\?|//TODO)

Это приведет к поиску вашего проекта для всех этих специальных надбавок. Вы даже можете добавить любую разметку, которую хотите, например. "//ОБЗОР: просмотрите следующий код". Тогда это будет следующая строка поиска:

(//FIXME|//!!!|//\?\?\?|//TODO|//REVIEW)

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

Ответ 2

В xcode 4.1 (не знаю, работает ли это в предыдущих версиях) пишу

#warning TODO: fix this later...

чтобы получить предупреждение компиляции или

#error FIXME: fix now!

чтобы получить ошибку компиляции.

Я также добавляю их в библиотеку фрагмента кода, чтобы сделать его очень удобным для добавления todos.

Ответ 3

Обходным путем является использование сборки script, которая отмечает их как предупреждения:

KEYWORDS="TODO|FIXME|\?\?\?:|\!\!\!:"
find "${SRCROOT}" \( -name "*.h" -or -name "*.m" \) -print0 | \
xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" | \
perl -p -e "s/($KEYWORDS)/ warning: \$1/"

Кредит Бенджамин Рагеб.

Ответ 4

FIXME:, TODO:,???: и!!!: работает в 4.3.3 внутри и снаружи функций.

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

Просто, чтобы было ясно - все эти работы:

//          FIXME: This works.
  //TODO: This works.
    //                  !!!: Working.
// // //???: Works as well.

Ответ 6

xCode 6 beta 4 должен поддерживать ориентиры MARK, TODO и FIXME.

Xcode теперь поддерживает //MARK:,//TODO: и//FIXME ориентиры, чтобы комментировать ваш код и перечисляет их в панели перехода. (14768427)!

Ответ 7

Просто голова, но я заметил TODO: не работайте в блоках любого типа. Просто переместите его прямо над или под вашим блоком.