是否有在Xcode中进行块注释的快捷方式?

时间:2012-11-03 18:41:31

标签: xcode comments

我正在编写与ANSI兼容的C代码,因此我不能使用行(//)注释。我正在使用Xcode。在Sublime Text和Eclipse中,我认为大多数其他IDE,都有单独的键盘快捷键用于行注释和块注释(/**/)。但是,我没有在Xcode中看到 - 事实上,我甚至没有看到添加块注释的菜单选项。是不是Xcode中不支持?如果是这样,那肯定是一个蹩脚的决定。

17 个答案:

答案 0 :(得分:199)

尝试命令 + / 。这个对我有用。

因此,您只需突出显示要注释掉的代码块,然后按下这两个键。

答案 1 :(得分:33)

<强>更新

由于我很懒,而且没有完全实现我的解决方案,我搜索了一下,发现BlockComment for Xcode,一个最近发布的插件( 2017年6月)。不要理会我的解决方案,这个插件工作得非常好,我强烈推荐它。

原始答案:

Xcode 7 8 以上都不适合我,所以我:

  1. 使用 AppleScript
  2. 创建 Automator 服务
  3. 确保“输出替换所选文字”为已选中
  4. 输入以下代码:

    on run {input, parameters}
    return "/*\n" & (input as string) & "*/"
    end run
    
  5. enter image description here

    现在,您可以通过Xcode - “服务”菜单访问该服务,或者右键单击要注释的所选代码块,或在“系统偏好设置”下为其提供快捷方式。

答案 2 :(得分:24)

现在使用xCode 8,您可以:

+ + /

自动生成文档评论。

来源:https://twitter.com/felix_schwarz/status/774166330161233920

答案 3 :(得分:23)

现在有一个Xcode插件允许这样:CComment

安装此功能的最简单方法是使用令人惊叹的Alcatraz plugin manager for Xcode

编辑 Apple很遗憾(并且错误地,恕我直言)使用Xcode 8退出旧的插件模型。新的插件系统非常有限,但应该允许再次开发这样的插件。对于有兴趣这样做的人,请观看WWDC 2016 session 414。另外,请file radars了解您要编写或查看的插件的API。

答案 4 :(得分:11)

更新:Xcode 8更新

现在使用xcode 8,您可以:

+ + /

注意:以下方法不适用于xcode version =&gt; 8

将块注释功能添加到任何mac OS X编辑器的非常简单的步骤

  1. 打开 Automator
  2. 选择服务
  3. 搜索运行Shell脚本并双击它
  4.   

    在textarea

    中添加以下AppleScript

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

    apple script for block comment

    1. 将脚本另存为 Block Comment
    2.   

      添加键盘快捷键

      打开系统偏好&gt;键盘&gt;快捷方式,点击 + 添加新的快捷方式,并按照第4步中的“strong> Block Comment 相同的名称添加。添加键盘快捷键,然后点击添加按钮。

      New keyboard shortcut

      现在您应该可以在Xcode或任何其他编辑器中使用块注释,选择一些文本,使用快捷键来阻止注释任何代码行或右键单击,上下文菜单以及您为此脚本指定的名称应该显示在底部附近。

答案 5 :(得分:6)

我稍微修改了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

希望这会对某人有所帮助。enter image description here

答案 6 :(得分:5)

你可以很容易地自己分配,这里一步一步解释。

1。)在xCode .m文件中键入以下内容,只要它是空白区域,无论您键入何处都无关紧要。

/*
*/

2.)突出显示两行代码,然后将其拖放到“代码段库”面板上。区域(它位于Utilities面板的底部)。如果你做对了,会出现浅蓝色加号。

enter image description here

3。)松开鼠标按钮后,会弹出一个新窗口,要求您添加姓名,快捷方式等;如图所示。如您所见,我将快捷方式添加到//。所以每次我想要一个块注释我都会输入//。希望这有帮助

enter image description here

答案 7 :(得分:2)

在XCode 10中,您可以使用option + command +反斜杠为您的函数或类编写漂亮的注释,如下所示:

enter image description here

答案 8 :(得分:1)

在xcode的帮助菜单之前有一个符号,它有Edit用户脚本。在评论部分更改下的取消/评论选择 我的$ cCmt =“//”; 至 我的$ cCmt =“#”; 或者IDE与你合作的任何东西。 然后通过选择行和命令+ /(它是我的xcode默认值),您可以注释和取消注释所选行。

答案 9 :(得分:1)

我设法通过自动播放器任务使其运行良好,并使用快捷方式将其绑定到组合键ctrl + option + command + b。所有我需要做的是突出显示我想要在xcode中注释的代码并按下上面的键,所选文本是使用/ * ... * /注释掉的块。

我使用代码折叠一点点,所以我想要这个功能的原因是我可以轻松折叠一段注释代码...代码用通常的方式评论使用//不会折叠。

我不熟悉使用mac automator,但我只是按照以下wwdc视频中的instrux进行操作

在WWDC 2012视频会话402中 - 使用Xcode高效工作(大约6分钟后),有关于如何使用Mac OSX Automator添加服务来操作所选文本的说明。视频中显示的示例是使用shell命令sort和uniq删除选定文本中的重复项。使用这种方法你也可以这样做但输入以下命令而不是他在视频中的作用

awk&#39; BEGIN {print&#34; / &#34;} {print $ 0} END {print&#34; /&#34;}&#39; < / p>

(请注意,前一行中有2个星号,由于某些原因未显示....它们确实显示在下面的屏幕截图中,因此将其复制为正确的命令进入)

你最终应该像这样运行一个shell脚本

screenshot

对于任何给定的选定文本,这将在前后放置注释分隔符。

当你保存它时,你应该得到命名它的选项(我称之为blockcomment)并且还要分配键盘快捷键

那么你应该能够打开xcode,选择一些文本,右击,上下文菜单,你给这个脚本的名字应该显示在底部附近

只需单击名称即可运行脚本并阻止对所选代码进行注释或使用您指定的键盘快捷键。

希望这会有所帮助

答案 10 :(得分:1)

如果您的键盘布局要求您同时按下 shift 键(即德语键盘上的 cmd + shift + 7),则快捷方式将不起作用,而是打开帮助菜单。

Apple 最大程度的“Think Different”......

您可以定义自己的快捷方式以使其工作,如果您转到 Xcode > Preferences > Key Bindings:

Changing comment selection key map in Xcode

答案 11 :(得分:0)

@Nikola Milicevic

以下是缩进问题的屏幕截图。这是非常小的,但奇怪的是它似乎工作得很好,在你的视觉范例中。

我还添加了我的Automator设置的屏幕截图...

由于

enter image description here

enter image description here

<强>更新

如果我将脚本稍微更改为:

enter image description here

然后在XCode中选择完整行,我得到了预期的结果:

enter image description here

enter image description here

答案 12 :(得分:0)

如果您正在寻找从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

Services

答案 13 :(得分:-1)

Cmd + Shift + 7 将评论所选行。

答案 14 :(得分:-1)

在Macbook中,您可以使用 shift + cmd + 7 来评论以前突出显示的块

答案 15 :(得分:-1)

在xcode 11.1 swift 5.0

选择您要添加块注释的代码,然后按 + + /

enter image description here

答案 16 :(得分:-8)

似乎已经有很多人回答了这个问题。

在Swift 3.0中,单行注释是预先设置双前向斜杠:“//”;多行放置“/ * .... * /”。

希望这会有所帮助。