Depuración del complemento de Outlook de informes de correo no deseado o basado en eventos

En este artículo se describen las fases clave de depuración para habilitar y establecer puntos de interrupción en el código a medida que implementa la activación basada en eventos o informes de correo no deseado integrados (versión preliminar) en el complemento. Antes de continuar, se recomienda revisar la guía de solución de problemas para ver pasos adicionales sobre cómo resolver errores de desarrollo.

Para comenzar la depuración, seleccione la pestaña del cliente aplicable.

Si usó el generador de Yeoman para complementos de Office para crear el proyecto de complemento (por ejemplo, completando un tutorial de activación basada en eventos), siga la opción Creado con el generador de Yeoman en todo este artículo. De lo contrario, siga los pasos Otros . Visual Studio Code debe ser al menos la versión 1.56.1.

Marcar el complemento para la depuración y establecer el puerto del depurador

  1. Obtenga el identificador del complemento del manifiesto.

    • Manifiesto XML: use el valor del <elemento Id>, secundario del elemento OfficeApp> raíz<.
    • Manifiesto unificado para Microsoft 365 (versión preliminar): use el valor de la propiedad "id" del objeto anónimo { ... } raíz.
  2. Cree un valor del Registro DWORD denominado UseDirectDebugger en HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Wef\Developer\[Add-in ID]. Reemplace por [Add-in ID] el identificador del complemento del manifiesto.

    Nota:

    Si la Developer clave (carpeta) aún no existe en HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\WEF\, complete los pasos siguientes para crearla.

    1. Haga clic derecho en la clave WEF (carpeta) y seleccione Nuevo>Clave.
    2. Denomine a la nueva clave Desarrollador.

    Creado con el generador de Yeoman: en una ventana de línea de comandos, vaya a la raíz de la carpeta del complemento y ejecute el siguiente comando.

    npm start
    

    Además de compilar el código e iniciar el servidor local, este comando establece los datos del valor DWORD del UseDirectDebugger registro para este complemento en 1.

    Otro: en el HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\WEF\Developer\[Add-in ID]\UseDirectDebugger valor DWORD del Registro, donde [Add-in ID] es el identificador del complemento del manifiesto, establezca los datos 1del valor en .

  3. En la clave HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Wef\Developer\[Add-in ID]del Registro , donde [Add-in ID] es el identificador del complemento del manifiesto, cree un nuevo DWORD valor con la siguiente configuración.

    • Nombre del valor: DebuggerPort
    • Datos de valor (hexadecimal):00002407

    Esto establece el puerto del depurador en 9223.

  4. Inicie Outlook o reinícielo si ya está abierto.

  5. Realice la acción para iniciar el evento para el que está desarrollando, como crear un nuevo mensaje para iniciar el OnNewMessageCompose evento o notificar mensajes de correo no deseado. Debería aparecer el cuadro de diálogo Depurar controlador basado en eventos. No interactúe con el cuadro de diálogo todavía.

    Cuadro de diálogo Depurar controlador basado en eventos en Windows.

Configuración de Visual Studio Code

Creado con el generador de Yeoman

  1. De nuevo en la ventana de la línea de comandos, ejecute lo siguiente para abrir el proyecto de complemento en Visual Studio Code.

    code .
    
  2. En Visual Studio Code, abra el archivo ./.vscode/launch.json y agregue el siguiente extracto a la lista de configuraciones. Guarde los cambios.

    {
      "name": "Direct Debugging",
      "type": "node",
      "request": "attach",
      "port": 9223,
      "timeout": 600000,
      "trace": true
    }
    

Otros

  1. Cree una nueva carpeta denominada Depuración (quizás en la carpeta Escritorio ).

  2. Abrir Visual Studio Code.

  3. Vaya a Archivo>abrir carpeta, vaya a la carpeta que acaba de crear y, a continuación, elija Seleccionar carpeta.

  4. En la barra de actividad, seleccione Ejecutar y depurar (Ctrl+Mayús+D).

    Icono Ejecutar y depurar de la barra de actividad.

  5. Seleccione el vínculo crear un archivo launch.json .

    Vínculo situado en la opción Ejecutar y depurar para crear un archivo launch.json en Visual Studio Code.

  6. En la lista desplegable Seleccionar entorno , seleccione Edge: Launch (Edge: Iniciar ) para crear un archivo launch.json.

  7. Agregue el siguiente extracto a la lista de configuraciones. Guarde los cambios.

    {
      "name": "Direct Debugging",
      "type": "node",
      "request": "attach",
      "port": 9223,
      "timeout": 600000,
      "trace": true
    }
    

Adjuntar el depurador

El archivo bundle.js de un complemento contiene el código JavaScript del complemento. Se crea cuando se abre Outlook en Windows. Cuando se inicia Outlook, el archivo bundle.js de cada complemento instalado se almacena en caché en la carpeta Wef de la máquina.

  1. Para buscar el archivo debundle.js del complemento, vaya a la siguiente carpeta en Explorador de archivos. Reemplace el texto incluido en [] por la información aplicable de Outlook y del complemento.

    %LOCALAPPDATA%\Microsoft\Office\16.0\Wef\{[Outlook profile GUID]}\[Outlook mail account encoding]\Javascript\[Add-in ID]_[Add-in Version]_[locale]
    

    Sugerencia

    Si el archivo bundle.js no aparece en la carpeta Wef , pruebe lo siguiente:

  2. Abra bundle.js en Visual Studio Code.

  3. Coloque puntos de interrupción en bundle.js donde quiera que se detenga el depurador.

  4. En la lista desplegable DEPURAR , seleccione Depuración directa y, a continuación, seleccione el icono Iniciar depuración .

    La opción Depuración directa seleccionada en las opciones de configuración de la lista desplegable depurar Visual Studio Code.

Ejecución del depurador

  1. Después de confirmar que el depurador está asociado, vuelva a Outlook y, en el cuadro de diálogo Depurar controlador basado en eventos , elija Aceptar .

  2. Ahora puede alcanzar los puntos de interrupción en Visual Studio Code, lo que le permite depurar el código de informes de correo no deseado o activación basada en eventos.

Detener el depurador

Para detener la depuración del resto de la sesión actual de Outlook en Windows, en el cuadro de diálogo Depurar controlador basado en eventos , elija Cancelar. Para volver a habilitar la depuración, reinicie Outlook.

Para evitar que el cuadro de diálogo Depurar controlador basado en eventos aparezca y detenga la depuración para las sesiones posteriores de Outlook, elimine la clave del Registro asociada o HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Wef\Developer\[Add-in ID]\UseDirectDebuggerestablezca su valor 0en .

Vea también