14

注释/取消注释一段代码的键盘快捷键在其他编程 IDE 中很常见,用于 Java、.Net 等语言。我发现它是一种非常有用的技术,通过反复试验来临时注释掉和取消注释行、单词和部分代码以找出什么是有效的,什么是无效的。

我在版本 7 的 Mathematica 前端找不到任何这样的键盘快捷键。我知道可以通过选择代码来注释掉代码,鼠标右键单击并从出现的菜单中选择 Un/Comment 但这太慢了编码。

我尝试使用键盘上的菜单键 Menu来访问它,但 Mathematica 前端不像其他应用程序那样响应或识别这个键,这可能允许组合键进行评论。其他人可以验证这不是我的机器独有的,并且mathematica 无法识别密钥。我查看了这个问题并查看了 KeyEventTranslations.tr 文件,但我认为没有任何方法可以创建执行此操作的快捷方式(?)。我应该忍受它吗?

还有其他建议吗?

(我看到有一个 Emacs 版本的mathematica,我从未尝试过 Emacs 或这个 Mma 版本,并想象它会有这种能力,但不想去麻烦和安装它的不确定性。另外我猜Wolfram Workbench 可以做到这一点,但这可能不值得为此投资。)

4

3 回答 3

15

如果您愿意编辑 Mathematica 系统文件,您可以在 Mathematica 7.0.x 中安装快捷方式MenuSetup.tr。您可以在与文件相同的位置找到它KeyEventTranslations.tr(即在“SystemFiles/FrontEnd/TextResources/ platform ”下的安装中)。在中,在Edit菜单MenuSetup.tr的定义下找到以下行:

MenuItem["Check &Balance", "Balance", MenuKey["B", Modifiers->{"Control", "Shift"}]],

在该行的正下方,插入以下内容:

MenuItem["Un/C&omment Selection", KernelExecute[FE`toggleComment[]], MenuKey["/", Modifiers->{"Command"}], MenuEvaluator -> Automatic, Method -> "Queued"],

Un/Comment Selection命令现在在 Edit 菜单下可用,使用键盘快捷键Cmd-/Alt-/取决于您的平台 - 就像在预安装此命令的 Mathematica 8 中一样。

请阅读有关破解 Mathematica 安装文件的常见免责声明——不提供任何保证:)

我不知道有什么方法可以将此功能映射到一些涉及该Menu键的快捷方式。

快捷键,无菜单

前面的步骤通过安装一个新的菜单项来模拟 Mathematica 8 所做的事情。如果您希望保持菜单不变,则可以安装快捷方式KeyEventTranslations.tr。添加以下行:

Item[KeyEvent["/", Modifiers->{Command}], KernelExecute[ToExpression["FE`toggleComment[]"]], MenuEvaluator -> Automatic, Method -> "Queued"]

如果该行不是列表中的最后一项,则需要在该行末尾添加一个逗号。

于 2011-04-09T13:49:28.703 回答
8

选择代码并按以下选项之一:

  • Alt+/
  • Alt-EO
  • Alt+E+O

笔记:

  • 仅在 Windows 上测试,使用 Mathematica 8。
  • 在我的非美国键盘(ABNT 巴西)上,快捷键 Alt+/ 不起作用,我使用 Alt+E+O。
于 2012-08-31T21:08:10.453 回答
7

这是您的KeyEventTranslations.tr文件的代码,它将注释掉代码。我还在为另一半工作。

Item[KeyEvent["/", Modifiers -> {Command}],
    FrontEndExecute[{
        NotebookApply[FrontEnd`InputNotebook[],
            "(*\[SelectionPlaceholder]*)"
        ]
    }]
], 

这将它绑定到Alt+ /,就像在 Mathematica 8 中一样。

于 2011-04-09T12:58:23.303 回答