11

Un atajo de teclado para comentar/descomentar un fragmento de código es común en otros IDE de programación para lenguajes como Java, .Net. Considero que es una técnica muy útil al experimentar a través de prueba y error para comentar y descomentar temporalmente líneas, palabras y partes del código para descubrir qué está funcionando y qué no.Método abreviado de teclado para código de Des/Compensar en Mathematica 7?

No puedo encontrar ningún atajo de teclado en el front end de Mathematica en la versión 7. Sé que es posible comentar el código seleccionando el código, hacer clic con el botón derecho y seleccionar Un/Comment del menú que aparece pero esto es demasiado lento mientras codifica.

que trataron de acceder a este uso de la menu keyMenú en el teclado, pero Mathematica frontend no responder a esta clave o reconocer a diferencia de otras aplicaciones, esto podría haber permitido una combinación de teclas para comentar. ¿Puede alguien más verificar que esto no es exclusivo de mi máquina y que la clave no es reconocida por mathematica? Miré esto question y busqué en el archivo KeyEventTranslations.tr, pero no creo que haya ninguna forma de crear un atajo para hacer esto (?). ¿Debo vivir con eso?

¿Alguna otra sugerencia?

(He visto que hay una versión de Emacs de mathematica, nunca he probado Emacs o esta versión de Mma e imagino que tendría esta capacidad, pero preferiría no tomarse la molestia e incertidumbre de instalarla. Supongo que Wolfram Workbench podría hacer esto, pero puede que no valga la pena invertir solo en esto.)

Respuesta

14

Puede instalar el acceso directo en Mathematica 7.0.x si usted está dispuesto a editar el archivo de sistema Mathematica MenuSetup.tr . Puede encontrarlo en la misma ubicación que el archivo KeyEventTranslations.tr (es decir, en la instalación en "Archivos de sistema/FrontEnd/TextResources/plataforma"). En MenuSetup.tr, busque la siguiente línea bajo la definición de la Edición menú:

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

Inmediatamente debajo de esa línea, inserte el siguiente:

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

El Un/Comentario comando Selección es ahora disponible en el menú Editar, con el atajo de teclado Cmd - / o Alt - / según su plataforma, como en Mathematica 8, donde este comando viene preinstalado.

Por favor tome como leer las renuncias habituales sobre la piratería los archivos de instalación de Mathematica - no se ofrece garantía :)

no sé de cualquier forma de asignar esta función a algún acceso directo que implica la tecla Menú .

clave de acceso directo, no hay menú

los pasos anteriores imitan lo Mathematica 8 hace mediante la instalación de un nuevo elemento de menú. Si prefiere dejar los menús sin cambios, puede instalar el acceso directo en KeyEventTranslations.tr. Añadir la siguiente línea:

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

que necesitará una coma en el extremo de esa línea si no es el último elemento de la lista.

+0

+1 ¿Dónde aprendiste cómo hacer esto? –

+0

Leí la versión de Mathematica 8 del archivo :) – WReach

+1

Eso tiene sentido. Además, ¿puedes explicar por qué esto se puede hacer desde 'MenuSetup.tr' pero no con 'KeyEventTranslations.tr'? –

7

Aquí está el código para su archivo KeyEventTranslations.tr que dará como resultado un código de comentario. Todavía estoy trabajando en la otra mitad.

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

Esto se une a Alt +/, ya que es en Mathematica 8.

+0

¿Es posible (o desaconsejable) crear este archivo/dirección en "[directorio de usuario] \ AppData \ Roaming \ Mathematica \ SystemFiles \ FrontEnd" para que no tenga que cambiar el archivo para cada versión nueva? – Phab

+0

@Phab Sí, de hecho * debe * ser copiado y editado allí. Vea mis respuestas más recientes, por ejemplo: http://mathematica.stackexchange.com/a/880/121, http://mathematica.stackexchange.com/a/57492/121. –

7

Seleccione el código y pulse uno de los siguientes:

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

Notas:

  • Probado solo en Windows, usando Mathematica 8.
  • En mi teclado no estadounidense (ABNT Brasil), el atajo Alt +/no funciona, en su lugar utilizo Alt + E + O.
Cuestiones relacionadas