11

用于评论/取消注释一段代码的键盘快捷键在其他编程IDE中适用于Java,.Net等语言。我发现这是一种非常有用的技术,通过反复试验来临时评论和取消注释代码的行,单词和部分以查明什么是和不在工作。在Mathematica 7中取消/注释掉代码的键盘快捷键?

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

这个我试过用键盘上的menu key菜单但Mathematica的前端不响应或识别不像其他应用此键访问,这可能允许评论组合键。其他人可以验证这不是我的机器所特有的,并且密钥不被mathematica识别。我看着这个question并查看了KeyEventTranslations.tr文件,但我不认为有什么办法可以创建一个快捷方式来执行此操作(?)。我应该和它住在一起吗?

任何其他建议?我曾经看过有一个Emacs版本的mathematica,我从来没有试过Emacs或这个Mma版本,并且想象它会有这种能力,但是宁愿不去安装它的麻烦和不确定性。会猜测Wolfram Workbench可以做到这一点,但这可能不值得为此投资。)

回答

14

,如果你愿意编辑数学的系统文件,您可以安装在数学的7.0.x快捷MenuSetup.tr 。您可以在与KeyEventTranslations.tr文件相同的位置找到它(即在“SystemFiles/FrontEnd/TextResources/平台”下的安装中)。在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 /注释选择命令现在是可通过编辑菜单,使用键盘快捷键Cmd - /Alt - /取决于您的平台 - 就像在Mathematica 8中预先安装此命令一样。

请把阅读作为平时免责声明关于黑客Mathematica的安装文件 - 没有提供保单:)

我不知道任何方式给这个函数映射到一些快捷方式涉及菜单键。

快捷键,无菜单

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

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

你需要在该行的最后一个逗号,如果它不在列表中的最后一项。

+0

+1你从哪里学到了如何做到这一点? – 2011-04-09 13:52:00

+0

我阅读了文件的Mathematica 8版本:) – WReach 2011-04-09 13:54:32

+1

这很有道理。另外,你能解释为什么可以通过'MenuSetup.tr'而不是'KeyEventTranslations.tr'完成这个任务吗? – 2011-04-09 13:58:08

7

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

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

这是结合Alt键 + /,因为它是在数学8

+0

在“[用户目录] \ AppData \ Roaming \ Mathematica \ SystemFiles \ FrontEnd下创建此文件/方向是否可能(或不可取)”,所以我不必为每个新版本更改文件? – Phab 2015-06-24 08:06:07

+0

@Phab是的,实际上它*应该*在那里被复制和编辑。例如,查看我最近的答案:http://mathematica.stackexchange.com/a/880/121,http://mathematica.stackexchange.com/a/57492/121。 – 2015-06-24 08:18:25

7

选择代码,然后按下列之一:

  • ALT +/
  • 的Alt-EO
  • Alt + E键+ O

注:

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