Есть ли ярлык, чтобы сделать комментарий блока в Xcode?

Я пишу ANSI-совместимый код C, и поэтому я не могу использовать комментарий к строке (//). Я использую Xcode. В Sublime Text и Eclipse, и я думаю, что большинство других IDE, есть отдельные сочетания клавиш для комментариев строк и блокировки комментариев (/**/). Тем не менее, я не вижу этого в Xcode - на самом деле, я даже не вижу опции меню, чтобы добавить комментарий блока. Это просто не поддерживается в Xcode? Если это так, это, безусловно, будет хромым решением.

Ответ 1

Попробуйте command + /. Меня устраивает.

Итак, вы просто выделите блок кода, который хотите прокомментировать, и нажмите эти две клавиши.

Ответ 2

UPDATE:

Поскольку я ленился и не полностью реализовал свое решение, я обыскал его и нашел BlockComment для Xcode, недавно выпущенный плагин ( Июнь 2017). Не беспокойтесь о моем решении, этот плагин прекрасно работает, и я очень рекомендую его.

ОРИГИНАЛЬНЫЙ ОТВЕТ:

Ни один из вышеперечисленных не работал у меня на Xcode 7 и 8, поэтому я:

  • Создана служба Automator с помощью AppleScript
  • Убедитесь, что "Вывод заменяет выделенный текст" отмечен
  • Введите следующий код:

    on run {input, parameters}
    return "/*\n" & (input as string) & "*/"
    end run
    

введите описание изображения здесь

Теперь вы можете получить доступ к этой службе через меню Xcode-Services или щелкнув правой кнопкой мыши на выбранном блоке кода, который вы хотите прокомментировать, или присвоив ему ярлык в разделе "Системные настройки".

Ответ 4

Теперь есть плагин Xcode, который позволяет это: CComment.

Самый простой способ установить это - использовать удивительный менеджер плагинов Alcatraz для Xcode.

EDIT Apple печально (и ошибочно, IMHO) удалила старую модель плагина с помощью Xcode 8. Новая система плагинов довольно ограничена, но должна позволить снова создать такой плагин. Для тех, кто заинтересован в этом, просмотрите сеанс WWDC 2016 414. Кроме того, файл радаров для API для плагинов, которые вы хотели бы написать или посмотреть.

Ответ 5

ОБНОВЛЕНИЕ: Обновление Xcode 8

Теперь с xcode 8 вы можете сделать:

+ + /

Примечание: метод ниже не будет работать в версии xcode => 8

Очень простые шаги, чтобы добавить функциональность Block Comment в любой редактор Mac OS X

  1. Открыть Automator
  2. Выберите Услуги
  3. Найдите скрипт Run Shell и дважды щелкните по нему

Добавьте ниже яблочный скрипт в текстовой области

awk 'BEGIN{print "/*"}{print $0}END{print "*/"}'

apple script for block comment

  1. Сохранить скрипт как Block Comment

Добавить сочетание клавиш

Откройте " Системные настройки"> "Клавиатура"> "Ярлыки", добавьте новый ярлык, нажав " + и вправо с тем же именем, т.е. Block Comment который вы дали яблочному сценарию на 4-м шаге. Добавьте комбинацию клавиш и нажмите кнопку " Добавить".

New keyboard shortcut

Теперь вы сможете использовать блокирующий комментарий в Xcode или любом другом редакторе, выделять какой-либо текст, использовать вашу горячую клавишу, чтобы заблокировать комментарий, любую строку кода или щелчок правой кнопкой мыши, контекстное меню и имя, которое вы дали этому сценарию, должно отображаться рядом дно.

Ответ 6

Я немного изменил код Никола Миличевича, чтобы он также убрал блок комментариев, если код уже прокомментирован:

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 text item delimiters
    set AppleScript text item delimiters to find
    set textString to text items of textString
    set AppleScript text item delimiters to replace
    set textString to "" & textString
    set AppleScript text item delimiters to prevTIDs
    return textString
end replaceText

Надеюсь, это кому-нибудь поможет. enter image description here

Ответ 7

Вы можете легко установить это, здесь идет пошаговое объяснение.

1.) В вашем файле xCode.m введите следующее: неважно, где вы печатаете, пока это пустая область.

/*
*/

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

enter image description here

3.) После того, как вы отпустите кнопку мыши, появится новое окно и попросит вас добавить имя, короткую вырезку и т.д.; как показано. Как вы можете видеть, я добавил свой ярлык к //. Поэтому каждый раз, когда мне нужен комментарий блока, я буду набирать //. Надеюсь, что это поможет

enter image description here

Ответ 8

Мне удалось получить эту работу хорошо с помощью задачи автомата и использовали ярлык для привязки к комбинации клавиш 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 звездочки, которые по какой-то причине не отображаются... они отображаются на скриншоте ниже, поэтому скопируйте это как правильную команду для ввода)

вы должны запустить оболочку script, как этот

screenshot

это будет для любого выбранного выделенного текста помещать разделители комментариев до и после.

когда вы его сохраняете, вы должны получить опции, чтобы назвать его (я назвал его blockcomment), а также назначить комбинацию клавиш

тогда вы сможете открыть xcode, выбрать текст, щелкнуть правой кнопкой мыши, контекстное меню, а имя, которое вы дали этому script, должно отображаться в нижней части

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

надеюсь, что это поможет

Ответ 9

Есть символ перед справочным меню на xcode, который имеет Редактировать пользователя script. On Un/Comment Selection в разделе комментариев my $cCmt = "//"; в my $cCmt = "#"; или независимо от того, с чем работает IDE. Затем, выбирая строки и команду +/(Это мой xcode по умолчанию), вы можете прокомментировать и раскомментировать выбранные строки.

Ответ 10

@Никола Миличевич

Вот скриншот проблемы с отступом. Это очень незначительно, но странно, что он работает так хорошо, в вашем примере визуальный.

Я также добавляю скриншот моей настройки Automator...

Спасибо

введите описание изображения здесь

введите описание изображения здесь

Update:

Если я немного изменил script на:

введите описание изображения здесь

И затем выберите полные строки в XCode, я получаю желаемый результат:

введите описание изображения здесь

введите описание изображения здесь

Ответ 11

Если вы ищете способ преобразования автогенерированного комментария из действия 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:

Automator

Услуги

Ответ 12

В XCode 10 вы можете использовать option + command + backslash, чтобы написать красивый комментарий для вашей функции или класса, как показано ниже:

enter image description here

Ответ 13

Cmd + Shift + 7 будет комментировать выбранные строки.

Ответ 14

в Macbook, вы можете использовать shift + cmd + 7 для комментария ранее выделенного блока

Ответ 15

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

в Swift 3.0, однострочный комментарий состоит в том, чтобы сначала включить двойные передние косые черты: "//"; многострочный "/*.... */".

Надеюсь, это поможет.