试试命令 + /。
因此,您只需突出显示要注释掉的代码块并按下这两个键。
更新 Xcode 12 / macOS 大苏尔:
目前 Mac App Store 版本的 BlockComment for Xcode 未显示在 Xcode 下 >偏好>键绑定。此问题已出现 resolved,可以改用 GitHub version。
2017 年 6 月更新:
由于我很懒,并且没有完全实现我的解决方案,所以我四处搜索并找到了 BlockComment for Xcode,这是一个最近发布的插件(2017 年 6 月)。不要打扰我的解决方案,这个插件工作得很好,我强烈推荐它。
原始答案:
以上都不适用于 Xcode 7 和 8,所以我:
使用 AppleScript 创建 Automator 服务 确保选中“输出替换选定文本” 输入以下代码:运行时 {input, parameters} return "/*\n" & (input as string) & "*/" end run
https://i.stack.imgur.com/N7K8u.gif
现在您可以通过 Xcode - Services 菜单访问该服务,或者通过右键单击要评论的选定代码块,或者在 System Preferences 下为其提供快捷方式。
现在使用 xCode 8,您可以:
⌥ + ⌘ + /
自动生成文档注释。
来源:https://twitter.com/felix_schwarz/status/774166330161233920
\\\ Description
而不是带有@params 等的文档块
现在有一个 Xcode 插件允许这样做:CComment。
安装它的最简单方法是使用神奇的 Alcatraz plugin manager for Xcode。
编辑 Apple 遗憾地(并且错误地,恕我直言)用 Xcode 8 淘汰了旧的插件模型。新的插件系统非常有限,但应该允许再次开发这样的插件。对于有兴趣这样做的任何人,请观看WWDC 2016 session 414。此外,请file radars获取您想编写或查看的插件的 API。
更新:Xcode 8 更新
现在使用 xcode 8,您可以执行以下操作:
⌥ + ⌘ + /
注意:以下方法不适用于 xcode 版本 => 8
将块注释功能添加到 mac OS X 的任何编辑器的非常简单的步骤
打开 Automator 选择服务搜索运行 Shell 脚本并双击它
在 textarea 中添加以下小程序
awk 'BEGIN{print "/*"}{print $0}END{print "*/"}'
https://i.stack.imgur.com/oV17F.png
将脚本另存为块注释
添加键盘快捷键
打开系统偏好设置>键盘 >快捷方式,通过单击+
添加新的快捷方式,并使用与您在第 4 步中为 applescript 指定的名称相同的名称,即 Block Comment
。添加您的键盘快捷键并点击添加按钮。
https://i.stack.imgur.com/1Yyz7.png
现在您应该能够在 Xcode 或任何其他编辑器中使用块注释,选择一些文本,使用快捷键来阻止注释任何代码行或右键单击,上下文菜单和您给该脚本的名称应该显示在附近底部。
sed -e '1 s|^|/* |' -e '$ s|$| */|'
。而且,以防万一,它至少在 Xcode 12.4 中有效。
看起来在 macOS Monterey 上,Xcode 块注释切换键组合已更改为命令 ⌘ + '
编辑:Xcode 13.2 已返回到之前的组合键。命令 ⌘ + ⇧ + 7
我稍微修改了 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
https://i.stack.imgur.com/K4FIE.gif
在 XCode 10(及更高版本)中,使用 Option + Command + Slash(即 ⌥ + ⌘ + /)
为您的函数或类写一个漂亮的评论,如下所示:
https://i.stack.imgur.com/0PpWU.png
你可以很容易地自己分配这个,这里是一步一步的解释。
1.) 在您的 xCode .m 文件中键入以下内容,只要它是一个空白区域,您在哪里键入都没有关系。
/*
*/
2.)突出显示两行代码,然后拖放到“代码片段库面板”区域(它位于实用程序面板的底部)。如果操作正确,将显示一个浅蓝色加号。
https://i.stack.imgur.com/ACK5y.png
3.) 松开鼠标按钮后,会弹出一个新窗口,要求您添加名称、快捷方式等;如图所示。如您所见,我将快捷方式添加到 //。所以每次我想要一个块注释时,我都会输入//。希望这可以帮助
https://i.stack.imgur.com/nIeLn.png
我设法通过一个自动化任务使它正常工作,并使用快捷方式将其绑定到组合键 ctrl+option+command+b。我所要做的就是突出显示我想要在 xcode 中注释块的代码,然后按上面的键,然后使用 /* ... */ 将选定的文本块注释掉。
我使用代码折叠相当多,所以我想要这个功能的原因是我可以轻松折叠一段注释代码......代码使用//不会折叠以通常的方式注释。
我不熟悉使用 mac automator,但我只是按照以下 wwdc 视频中的 instrux
在 WWDC 2012 视频 Session 402 - Working Efficiently with Xcode(大约 6 分钟后)中描述了如何使用 Mac OSX Automator 添加服务来操作选定的文本。视频中显示的示例是使用 shell 命令 sort 和 uniq 删除所选文本中的重复项。使用这种方法你做同样的事情,但你输入以下命令而不是他在视频中所做的
awk 'BEGIN{print "/"}{print $0}END{print "/"}'
(请注意,上一行中有 2 个星号,由于某种原因没有显示......它们确实显示在下面的屏幕截图中,因此将其复制为正确的输入命令)
你最终应该像这样运行一个shell脚本
https://i.stack.imgur.com/a2zgG.png
对于任何给定的选定文本,这将在前后放置注释分隔符。
当你保存它时,你应该可以选择命名它(我称之为块注释)并分配一个键盘快捷键
然后你应该能够打开xcode,选择一些文本,右键单击,上下文菜单,你给这个脚本的名字应该显示在底部附近
只需单击名称,脚本将运行并阻止注释所选代码或使用您分配的键盘快捷键。
希望这可以帮助
如果您的键盘布局要求您同时按下 shift 键(即德语键盘上的 cmd + shift + 7),则快捷方式将不起作用并打开帮助菜单。
苹果公司的“Think Different”在最大程度上......
如果您转到 Xcode > Preferences > Key Bindings,您可以定义自己的快捷方式使其工作:
https://i.stack.imgur.com/C17Vp.png
根据 Baig 的回复,我创建了一个快捷方式来评论和取消评论某行的一部分。这适用于 Xcode 13.2.1 和 MacOS 12.0。
打开 Automator 选择快速操作 搜索运行 AppleScript 选择工作流上的文本接收当前下拉列表 检查输出替换所选文本 添加此脚本
on run {input, parameters}
set s to (input as string)
if s contains "/*" then
return text 3 thru -3 of s
else
return "/*" & s & "*/"
end if
end run
在设置->键盘->快捷方式上点击播放并保存为阻止评论,选择应用程序快捷方式并点击+使用脚本标题作为菜单标题(即“阻止评论”)选择所需的快捷方式(我做了command+option+shift+/)开Xcode 选择要注释的文本并按下快捷键 要取消注释,请从 /* 到 */ 中选择文本并按下快捷键
Cmd + Shift + 7 将注释选定的行。
7
键上也有 /
,但它仍然不起作用.. 这个快捷方式只是打开帮助菜单
xcode 上的帮助菜单前有一个符号,其中包含编辑用户脚本。在评论部分下的 Un/Comment Selection 上更改我的 $cCmt = "//";到我的 $cCmt = "#";或者任何你的 IDE 可以使用的东西。然后通过选择行和命令 + / (这是我的 xcode 默认值),您可以注释和取消注释选定的行。
@尼古拉·米利切维奇
这是缩进问题的屏幕截图。这是非常小的,但奇怪的是,在您的示例视觉中,它似乎工作得很好。
我还添加了我的 Automator 设置的屏幕截图...
谢谢
https://i.stack.imgur.com/MrDhl.png
https://i.stack.imgur.com/hL20g.png
更新:
如果我将脚本稍微更改为:
https://i.stack.imgur.com/ngBvS.png
然后在 XCode 中选择整行,我得到了想要的结果:
https://i.stack.imgur.com/vLDOc.png
https://i.stack.imgur.com/AbyF4.png
如果您正在寻找一种将自动生成的评论从 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 回答中的相同:
https://i.stack.imgur.com/xqtnu.png
https://i.stack.imgur.com/J3gVA.png
在 Macbooks 中,您可以使用 shift + cmd + 7 来注释先前突出显示的块
在 xcode 11.1 快速 5.0
选择要添加块注释的代码,然后按 ⌥ + ⌘ + /
https://i.stack.imgur.com/55jox.png
好像已经有很多人回答这个问题了。
在 Swift 3.0 中,单行注释是在前面加上双斜杠:“//”;多行放置“/* .... */”。
希望这可以帮助。
Command
+Shift
+7
,即Command
+/
。