Mathematica 7中Un / Comment out代码的键盘快捷键?

时间:2011-04-09 11:47:56

标签: keyboard-shortcuts wolfram-mathematica commenting mathematica-frontend

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

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

我尝试使用键盘上的menu key 菜单访问它,但Mathematica前端不响应或识别此键与其他应用程序不同,这可能允许一个组合键注释。其他人可以验证这不是我的机器所独有的,并且mathematica无法识别该密钥。我查看了这个question并查看了KeyEventTranslations.tr文件,但我认为没有办法创建一个快捷方式来执行此操作(?)。我应该和它一起生活吗?

还有其他建议吗?

(我已经看到有一个Emacs版本的mathematica,我从来没有尝试过Emacs或者这个Mma版本,并想象它会有这种能力但是不愿意去安装它的麻烦和不确定性。我也会猜测Wolfram Workbench可以做到这一点,但这可能不值得投资。)

3 个答案:

答案 0 :(得分:14)

如果您愿意编辑Mathematica系统文件MenuSetup.tr,可以在Mathematica 7.0.x中安装快捷方式。您可以在KeyEventTranslations.tr文件的相同位置找到它(即在“SystemFiles / FrontEnd / TextResources / platform ”下的安装中)。在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"],

取消/评论选择命令现在可在编辑菜单下使用,键盘快捷键 Cmd - / Alt - / 取决于您的平台 - 就像预装此命令的Mathematica 8一样。

请阅读关于黑客入侵Mathematica安装文件的通常免责声明 - 不提供保修:)

我不知道如何将此功能映射到涉及 Menu 键的某些快捷方式。

快捷键,无菜单

前面的步骤通过安装新的菜单项来模仿Mathematica 8的功能。如果您希望保持菜单不变,则可以在KeyEventTranslations.tr中安装快捷方式。添加以下行:

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

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

答案 1 :(得分:7)

以下是用于注释掉代码的KeyEventTranslations.tr文件的代码。我还在为另一半工作。

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

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

答案 2 :(得分:7)

选择代码并按以下其中一项:

  • ALT + /
  • 替代-E-O
  • Alt + E键+ O

注意:

  • 仅在Windows上使用Mathematica 8进行测试。
  • 在我的非美国键盘(ABNT Brazil)上,快捷键Alt + /不起作用,而是使用Alt + E + O.