Есть ли ярлык, чтобы сделать комментарий блока в Xcode?
Я пишу ANSI-совместимый код C, и поэтому я не могу использовать комментарий к строке ( //
). Я использую Xcode. В Sublime Text и Eclipse, и я думаю, что большинство других IDE, есть отдельные сочетания клавиш для комментариев строк и блокировки комментариев ( /**/
). Тем не менее, я не вижу этого в Xcode – на самом деле, я даже не вижу опции меню, чтобы добавить комментарий блока. Это просто не поддерживается в Xcode? Если это так, это, безусловно, будет хромым решением.
- Сначала препроцессор C комментирует или расширяет macros?
- Комментарии в Markdown
- / ** и / * в Java Комментарии
- Как прокомментировать блок тегов в XML?
- Удалить комментарии из кода C / C ++
- Могут ли комментарии использоваться в JSON?
- Почему выполняется выполнение кода Java в комментариях с некоторыми символами Unicode?
- Как работают Data.MemoCombinators?
Попробуйте команду + / . Меня устраивает.
Итак, вы просто выделите блок кода, который хотите прокомментировать, и нажмите эти два ключа.
ОБНОВИТЬ:
Поскольку я был ленив и не полностью реализовал свое решение, я обыскал его и нашел BlockComment для Xcode , недавно выпущенного плагина ( июнь 2017 года ). Не беспокойтесь о моем решении, этот плагин прекрасно работает, и я очень рекомендую его.
ОРИГИНАЛЬНЫЙ ОТВЕТ:
Ни один из вышеперечисленных не работал для меня на Xcode 7 и 8 , поэтому я:
- Созданная служба Automator с использованием AppleScript
- Убедитесь, что отмечен «Выход заменяет выбранный текст»
-
Введите следующий код:
on run {input, parameters} return "/*\n" & (input as string) & "*/" end run
Теперь вы можете получить доступ к этой услуге через меню Xcode-Services или щелкнув правой кнопкой мыши на выбранном блоке кода, который вы хотите прокомментировать, или присвоив ему ярлык в разделе «Системные настройки».
Теперь есть плагин Xcode, который позволяет это: CComment .
Самый простой способ установить это – использовать потрясающий менеджер плагинов Alcatraz для Xcode .
EDIT Apple печально (и ошибочно, IMHO) удалила старую модель плагина с помощью Xcode 8. Новая система плагинов довольно ограничена, но должна позволить снова создать такой плагин. Для тех, кто заинтересован в этом, смотрите сеанс WWDC 2016 414 . Кроме того, пожалуйста, подайте радары для API для плагинов, которые вы хотите написать или посмотреть.
Теперь с помощью xCode 8 вы можете:
⌥ + ⌘ + /
для автоматического создания комментария к документу.
Источник: https://twitter.com/felix_schwarz/status/774166330161233920
UPDATE: обновление Xcode 8
Теперь с помощью xcode 8 вы можете:
⌥ + ⌘ + /
Примечание. Ниже метод не будет работать в версии xcode => 8
Очень простые шаги для добавления функциональности Block Comment к любому редактору Mac OS X
- Открытый автомат
- Выберите Услуги
- Найдите Run Shell Script и дважды щелкните по нему.
Добавьте нижеприведенный applescript в textarea
awk 'BEGIN{print "/*"}{print $0}END{print "*/"}'
- Сохранить сценарий как
Block Comment
Добавление сочетания клавиш
Откройте « Системные настройки»> «Клавиатура»> «Ярлыки» , добавьте новый ярлык, щелкнув +
и правое одно и то же имя, например « Block Comment
как вы указали на applescript на 4-м шаге. Добавьте ярлык клавиатуры и нажмите кнопку « Добавить» .
Теперь вы должны иметь возможность использовать комментарий блока в Xcode или любом другом редакторе, выбрать какой-либо текст, использовать комбинацию клавиш для блокировки комментария любой строки кода или щелчка правой кнопкой мыши, контекстного меню, а имя, которое вы дали этому скрипту, должно отображаться рядом дно.
Я немного изменил код Nikola Milicevic , чтобы он также удалил блок комментариев, если код уже прокомментирован:
on run {input, parameters} repeat with anInput in input if "/*" is in anInput then set input to replaceText("/*", "", input as string) set input to replaceText("*/", "", input as string) return input exit repeat end if end repeat return "/*" & (input as string) & "*/" end run on replaceText(find, replace, textString) set prevTIDs to AppleScript's text item delimiters set AppleScript's text item delimiters to find set textString to text items of textString set AppleScript's text item delimiters to replace set textString to "" & textString set AppleScript's text item delimiters to prevTIDs return textString end replaceText
Надеюсь, это поможет кому-то.
Вы можете легко это задать, здесь идет пошаговое объяснение.
1.) В вашем файле xCode .m введите следующее: неважно, где вы печатаете, пока это пустая область.
/* */
2.) Выделите две строки кода, а затем перетащите и перетащите на область панели библиотеки fragmentов кода (она находится в нижней части панели «Утилиты»). Значок «голубой синий плюс» появится, если вы сделаете все правильно.
3.) После того, как вы отпустите кнопку мыши, появится новое окно и попросит вас добавить имя, короткую вырезку и т. Д .; как показано. Как вы можете видеть, я добавил свой ярлык к //. Поэтому каждый раз, когда мне нужен комментарий блока, я буду набирать //. Надеюсь это поможет
мне удалось получить эту работу хорошо через задачу automator и использовали ярлык, чтобы привязать его к комбинации клавиш ctrl + option + command + b. все, что мне нужно сделать, это выделить код, который я хочу, чтобы блок комментировался в xcode и нажмите приведенные выше клавиши, а выделенный текст заблокирован блоком с помощью / * … * /.
я использую код, свертывающий честный бит, поэтому причиной, по которой я хотел эту функциональность, было то, что я мог легко сложить блок кода с комментариями … код прокомментировал обычный способ использования // wont fold.
im не знакомы с использованием mac automator, но я просто следовал за инструкциями в следующем wwdc видео
в видео сессии WWDC 2012 402 – Эффективная работа с Xcode (около 6 минут) есть описание того, как использовать Mac OSX Automator для добавления службы для управления выбранным текстом. Пример, показанный на видео, заключается в удалении дубликатов в выделенном тексте с использованием команд команд оболочки и uniq. Используя этот подход, вы делаете то же самое, но вы вводите следующую команду вместо того, что он делает в видео
awk ‘BEGIN {print “/ “} {print $ 0} END {print “ /”}’
(обратите внимание, что в предыдущей строке должно быть 2 звездочки, которые по какой-то причине не отображаются …. они отображаются на скриншоте ниже, поэтому скопируйте это как правильную команду для ввода)
вы должны запустить сценарий оболочки, подобный этому
это будет для любого выделенного текста помещать разделители комментариев до и после.
когда вы его сохраняете, вы должны получить опции, чтобы назвать его (я назвал его blockcomment), а также назначить сочетание клавиш
то вы должны иметь возможность открыть xcode, выбрать текст, щелкнуть правой кнопкой мыши, контекстное меню, а имя, которое вы дали этому сценарию, должно быть показано внизу
просто щелкните имя и сценарий будет запущен и заблокировать комментарий выбранного кода или использовать назначенный вами сочетание клавиш.
надеюсь это поможет
Перед справочным меню на xcode есть символ, который имеет Редактировать пользовательский скрипт. В разделе Un / Comment Selection в разделе комментариев измените my $ cCmt = “//”; к моему $ cCmt = “#”; или независимо от того, с чем работает IDE. Затем, выбирая строки и команду + / (это мой xcode по умолчанию), вы можете комментировать и раскомментировать выбранные строки.
в Macbook вы можете использовать shift + cmd + 7 для комментариев ранее выделенного блока
@ Никола Миличевич
Вот скриншот проблемы с отступом. Это очень незначительно, но странно, что он работает так хорошо, в вашем примере визуально.
Я также добавляю скриншот моей настройки Automator …
благодаря
Обновить:
Если я немного изменил сценарий:
И затем выберите полные строки в XCode, я получаю желаемый результат:
Если вы ищете способ преобразования автогенерированных комментариев из действия « Add Documentation
(доступно в cmd- shift – / ), вы также можете найти его полезным:
function run(input, parameters) { var lines = input[0].split('\n'); var line1 = lines[0]; var prefixRe = /^( *)\/\/\/?(.*)/gm; var prefix = prefixRe.test(line1) ? line1.replace(prefixRe, "$1") : "" var result = prefix + "/*\n"; lines.forEach(function(line) { result += prefix + line.replace(prefixRe, "$2") + '\n'; }); result += '\n' + prefix + ' */'; return result; }
Оставайтесь так же, как в @Charles Robertson:
Cmd + Shift + 7 прокомментирует выбранные строки.
Похоже, что уже многие люди отвечают на этот вопрос.
в Swift 3.0 однострочный комментарий состоит в том, чтобы наложить двойную переднюю косую черту: «//»; многострочный “/ * …. * /”.
Надеюсь это поможет.