Сочетание клавиш для кода Un/Comment out в Mathematica 7?

Сочетание клавиш для комментирования / раскомментирования фрагмента кода является обычным в других средах программирования для таких языков, как Java, .Net. Я нахожу это очень полезной техникой, когда экспериментирую методом проб и ошибок, чтобы временно закомментировать и раскомментировать строки, слова и части кода, чтобы выяснить, что работает, а что нет.

Я не могу найти такие сочетания клавиш в интерфейсе Mathematica в версии 7. Я знаю, что можно закомментировать код, выбрав код, щелкнув правой кнопкой мыши и выбрав Un/Comment в появившемся меню, но это слишком медленно, пока кодирование.

Я попытался получить к нему доступ с помощью клавиши меню "Меню" на клавиатуре, но интерфейс Mathematica не отвечает и не распознает эту клавишу в отличие от других приложений, это могло позволить использовать комбинацию клавиш для комментариев. Может ли кто-нибудь еще проверить, что это не уникально для моей машины и что ключ не распознается Mathematica. Я посмотрел на этот вопрос и посмотрел в файле KeyEventTranslations.tr, но я не думаю, что есть какой-либо способ создать ярлык для этого (?). Должен ли я просто жить с этим?

Любые другие предложения?

(Я видел, что есть Emacs-версия mathematica, я никогда не пробовал Emacs или эту версию Mma и представляю, что она обладает такой способностью, но предпочел бы не идти на неприятности и неуверенность в ее установке. Также я предполагаю, что Wolfram Workbench может сделать это, но это может не стоить вложений только для этого.)

3 ответа

Решение

Вы можете установить ярлык в Mathematica 7.0.x, если вы хотите редактировать системный файл Mathematica MenuSetup.tr, Вы можете найти его в том же месте, что и 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"],

Команда Un/Comment Selection теперь доступна в меню Edit с сочетанием клавиш Cmd-/ или Alt-/ в зависимости от вашей платформы - так же, как в Mathematica 8, где эта команда поставляется предварительно установленной.

Пожалуйста, примите к сведению обычные заявления об отказе от взлома установочных файлов Mathematica - никаких гарантий не предоставляется:)

Я не знаю ни одного способа привязать эту функцию к какому-либо ярлыку с помощью клавиши меню.

Сочетание клавиш, нет меню

Предыдущие шаги повторяют действия Mathematica 8, устанавливая новый пункт меню. Если вы предпочитаете оставить меню без изменений, вы можете установить ярлык в KeyEventTranslations.tr вместо. Добавьте следующую строку:

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

Вам понадобится запятая в конце этой строки, если это не последний элемент в списке.

Выберите код и нажмите один из следующих:

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

Заметки:

  • Протестировано только на Windows, используя Mathematica 8.
  • На моей неамериканской клавиатуре (ABNT Brazil) сочетание клавиш Alt+/ не работает, вместо этого я использую Alt+E+O.

Вот код для вашего KeyEventTranslations.tr файл, который закомментирует код. Я все еще работаю над другой половиной.

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

Это связывает его с Alt+/, как в Mathematica 8.

Другие вопросы по тегам