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。