我正在编写与ANSI兼容的C代码,因此我不能使用行(//
)注释。我正在使用Xcode。在Sublime Text和Eclipse中,我认为大多数其他IDE,都有单独的键盘快捷键用于行注释和块注释(/**/
)。但是,我没有在Xcode中看到 - 事实上,我甚至没有看到添加块注释的菜单选项。是不是Xcode中不支持?如果是这样,那肯定是一个蹩脚的决定。
答案 0 :(得分:199)
尝试命令 + / 。这个对我有用。
因此,您只需突出显示要注释掉的代码块,然后按下这两个键。
答案 1 :(得分:33)
<强>更新强>
由于我很懒,而且没有完全实现我的解决方案,我搜索了一下,发现BlockComment for Xcode,一个最近发布的插件( 2017年6月)。不要理会我的解决方案,这个插件工作得非常好,我强烈推荐它。
原始答案:
Xcode 7 和 8 以上都不适合我,所以我:
答案 2 :(得分:24)
答案 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编辑器的非常简单的步骤
在textarea
中添加以下AppleScript
<强> awk 'BEGIN{print "/*"}{print $0}END{print "*/"}'
强>
答案 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
答案 6 :(得分:5)
你可以很容易地自己分配,这里一步一步解释。
1。)在xCode .m文件中键入以下内容,只要它是空白区域,无论您键入何处都无关紧要。
/*
*/
2.)突出显示两行代码,然后将其拖放到“代码段库”面板上。区域(它位于Utilities面板的底部)。如果你做对了,会出现浅蓝色加号。
3。)松开鼠标按钮后,会弹出一个新窗口,要求您添加姓名,快捷方式等;如图所示。如您所见,我将快捷方式添加到//。所以每次我想要一个块注释我都会输入//。希望这有帮助
答案 7 :(得分:2)
答案 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脚本
对于任何给定的选定文本,这将在前后放置注释分隔符。
当你保存它时,你应该得到命名它的选项(我称之为blockcomment)并且还要分配键盘快捷键
那么你应该能够打开xcode,选择一些文本,右击,上下文菜单,你给这个脚本的名字应该显示在底部附近
只需单击名称即可运行脚本并阻止对所选代码进行注释或使用您指定的键盘快捷键。
希望这会有所帮助
答案 10 :(得分:1)
如果您的键盘布局要求您同时按下 shift 键(即德语键盘上的 cmd + shift + 7),则快捷方式将不起作用,而是打开帮助菜单。
Apple 最大程度的“Think Different”......
您可以定义自己的快捷方式以使其工作,如果您转到 Xcode > Preferences > Key Bindings:
答案 11 :(得分:0)
@Nikola Milicevic
以下是缩进问题的屏幕截图。这是非常小的,但奇怪的是它似乎工作得很好,在你的视觉范例中。
我还添加了我的Automator设置的屏幕截图...
由于
<强>更新强>
如果我将脚本稍微更改为:
然后在XCode中选择完整行,我得到了预期的结果:
答案 12 :(得分:0)
如果您正在寻找从Add Documentation
动作转换自动生成的评论的方法(可在 cmd - shift - / 下获得kbd>)你可能会发现它也很有用:
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一样回答:
答案 13 :(得分:-1)
Cmd + Shift + 7 将评论所选行。
答案 14 :(得分:-1)
在Macbook中,您可以使用 shift + cmd + 7 来评论以前突出显示的块
答案 15 :(得分:-1)
答案 16 :(得分:-8)
似乎已经有很多人回答了这个问题。
在Swift 3.0中,单行注释是预先设置双前向斜杠:“//”;多行放置“/ * .... * /”。希望这会有所帮助。