Depurar suplementos do Office no Windows usando Visual Studio Code e Microsoft Edge WebView2 (baseado em Chromium)
Os Suplementos do Office em execução no Windows podem depurar no tempo de execução do Edge Chromium WebView2 diretamente no Visual Studio Code.
Importante
Este artigo só se aplica quando o Office executa suplementos no runtime do Microsoft Edge Chromium WebView2, conforme explicado em Navegadores e controles webview usados pelos Suplementos do Office. Para obter instruções sobre a depuração em Visual Studio Code em Versão Prévia do Microsoft Edge com o runtime original do WebView (EdgeHTML), consulte Extensão de Depurador de Suplemento do Office para Visual Studio Code.
Dica
Se você não puder ou não desejar depurar usando ferramentas internas em Visual Studio Code; ou estiver encontrando um problema que só ocorre quando o suplemento é executado fora do Visual Studio Code, você pode depurar o runtime do Edge Chromium WebView2 usando as ferramentas de desenvolvedor do Edge (baseada em Chromium), conforme descrito em Depurar suplementos usando ferramentas de desenvolvedor para o Microsoft Edge WebView2.
Esse modo de depuração é dinâmico, permitindo definir pontos de interrupção enquanto o código está em execução. Consulte as alterações em seu código imediatamente enquanto o depurador está anexado, tudo sem perder sua sessão de depuração. As alterações de código também persistem, para que você veja os resultados de várias alterações em seu código. A imagem a seguir mostra essa extensão em ação.
Pré-requisitos
- Código do Visual Studio
- Node.js (versão 10+)
- Windows 10, 11
- Uma combinação de plataforma e aplicativo do Office que dá suporte ao Microsoft Edge com o WebView2 (baseado em Chromium) conforme explicado em Navegadores e controles webview usados pelos Suplementos do Office. Se sua versão do Office de uma assinatura do Microsoft 365 for anterior à versão 2101, você precisará instalar o WebView2. Para obter instruções para instalar o WebView2, consulte Conteúdo da Web do Microsoft Edge WebView2/Inserção ... com o Microsoft Edge WebView2.
Depurar um projeto criado com o Yo Office
Estas instruções assumem que você tem experiência com o uso da linha de comando, que entende JavaScript básico e criou um projeto de Suplemento do Office antes de usar o gerador Yeoman para Suplementos do Office. Se você não tiver feito isso antes, veja um de nossos tutoriais, tal como o tutorial do Suplemento do Office Excel.
A primeira etapa depende do projeto e de como ele foi criado.
- Se você quiser criar um projeto para experimentar a depuração em Visual Studio Code, use o gerador Yeoman para suplementos do Office. Siga qualquer um dos guias de início rápido do Yo Office, como o início rápido do suplemento do Outlook.
- Se você quiser depurar um projeto existente que foi criado com Yo Office, pule para a próxima etapa.
Abra VS Code e abra seu projeto nele.
Escolha Exibir>Execução ou insira Ctrl+Shift+D para alternar para a exibição de depuração.
Nas opções EXECUTAR E DEPURAR, escolha a opção Chromium de Borda para seu aplicativo host, como Outlook Desktop (Edge Chromium). Selecione F5 ou escolha Executar>Iniciar Depuração no menu para começar a depuração. Esta ação inicia automaticamente um servidor local em uma janela de Nó para hospedar seu suplemento e depois abre automaticamente o aplicativo host, como o Excel ou Word. Isso pode levar vários segundos.
Dica
Se você não estiver usando um projeto criado com o Yo Office, talvez seja solicitado a ajustar uma chave do registro. Enquanto estiver na pasta raiz do seu projeto, execute o seguinte na linha de comando.
npx office-addin-debugging start <your manifest path>
Importante
Se o seu projeto foi criado com versões mais antigas do Yo Office, você poderá ver a caixa de diálogo de erro a seguir cerca de 10 a 30 segundos depois de começar a depuração (nesse ponto você pode já ter passado para outra etapa neste procedimento) e ela pode estar oculta atrás da caixa de diálogo descrita na próxima etapa.
Conclua as tarefas no Apêndice B e reinicie este procedimento.
No aplicativo host, seu suplemento agora está pronto para uso. Selecione Mostrar Painel de Tarefas ou execute qualquer outro comando de suplemento. Uma caixa de diálogo aparecerá com texto semelhante ao seguinte:
WebView Stop On Load. Para depurar o modo de exibição da Web, anexe o VS Code à instância de modo de exibição da Web usando o Depurador da Microsoft para extensão do Edge, e clique em OK para continuar. Para impedir que essa caixa de diálogo seja exibida no futuro, clique em Cancelar.
Selecione OK.
Observação
Se você selecionar Cancelar, a caixa de diálogo não será mostrada novamente enquanto esta instância do suplemento estiver em execução. No entanto, se você reiniciar o suplemento, você verá a caixa de diálogo novamente.
Agora você pode definir pontos de interrupção no código e depuração do projeto. Para definir pontos de interrupção Visual Studio Code, passe o mouse ao lado de uma linha de código e selecione o círculo vermelho que aparece.
Execute a funcionalidade no seu complemento que chama as linhas com pontos de interrupção. Você verá que os pontos de interrupção foram atingidos e você pode inspecionar variáveis locais.
Observação
Pontos de interrupção em chamadas de
Office.initialize
ouOffice.onReady
são ignorados. Para obter detalhes sobre essas funções, consulte Inicializar seu Suplemento do Office.
Importante
A melhor maneira de parar uma sessão de depuração é selecionar Shift+F5 ou escolher Executar>Parar Depuração no menu. Essa ação deve fechar a janela do servidor Node e tentar fechar o aplicativo host, mas haverá um prompt no aplicativo host perguntando se você deve salvar o documento ou não. Faça uma escolha apropriada e deixe o aplicativo host fechar. Evite fechar manualmente a janela de Nó ou o aplicativo host. Fazer isso pode causar bugs, especialmente quando você interrompe e inicia sessões de depuração repetidamente.
Se a depuração parar de funcionar--- por exemplo, se os pontos de interrupção estiverem sendo ignorados---stop de depuração. Em seguida, se necessário, feche todas as janelas do aplicativo host e a janela de Nó. Finalmente, feche o Visual Studio Code e abra-o novamente.
Depurar um projeto não criado com o Yo Office
Se o projeto não foi criado com o Yo Office, você precisará criar uma configuração de depuração para Visual Studio Code.
Configurar package.json arquivo
Verifique se você tem um
package.json
arquivo. Se você ainda não tiver um arquivo package.json, executenpm init
na pasta raiz do projeto e responda aos prompts.Execute
npm install office-addin-debugging
. Esse pacote carrega seu suplemento para depuração.Abra o arquivo
package.json
.scripts
Na seção, adicione o script a seguir."start:desktop": "office-addin-debugging start $MANIFEST_FILE$ desktop", "dev-server": "$SERVER_START$"
Substitua
$MANIFEST_FILE$
pelo nome do arquivo correto e o local da pasta do manifesto.Substitua
$SERVER_START$
pelo comando para iniciar seu servidor Web. Posteriormente, nestas etapas, ooffice-addin-debugging
pacote procurará especificamente odev-server
script para iniciar seu servidor Web.Salve e feche o
package.json
arquivo.
Configurar launch.json arquivo
Crie um arquivo nomeado
launch.json
na\.vscode
pasta do projeto se ainda não houver um.Copie o JSON a seguir no arquivo.
{ // Other properties may be here. "configurations": [ { "name": "$HOST$ Desktop (Edge Chromium)", "type": "msedge", "request": "attach", "useWebView": true, "port": 9229, "timeout": 600000, "webRoot": "${workspaceRoot}", "preLaunchTask": "Debug: Excel Desktop" } ] // Other properties may be here. }
Observação
Se você já tiver um
launch.json
arquivo, basta adicionar a configuração única àconfigurations
seção.Substitua o espaço reservado
$HOST$
pelo nome do aplicativo do Office no qual o suplemento é executado. Por exemplo:Outlook
ouWord
.Salve e feche o arquivo.
Configurar tasks.json
Crie um arquivo nomeado
tasks.json
na\.vscode
pasta do projeto.Copie o JSON a seguir no arquivo. Ele contém uma tarefa que inicia a depuração para seu suplemento.
{ "version": "2.0.0", "tasks": [ { "label": "Debug: $HOST$ Desktop", "type": "shell", "command": "npm", "args": ["run", "start:desktop", "--", "--app", "$HOST$"], "presentation": { "clear": true, "panel": "dedicated" }, "problemMatcher": [] } ] }
Observação
Se você já tiver um
tasks.json
arquivo, basta adicionar a tarefa única àtasks
seção.Substitua ambas as instâncias do espaço reservado
$HOST$
pelo nome do aplicativo do Office no qual o suplemento é executado. Por exemplo:Outlook
ouWord
.
Agora você pode depurar seu projeto usando o depurador do VS Code (F5).
Apêndice B
- Na caixa de diálogo erro, selecione o botão Cancelar.
- Se a depuração não parar automaticamente, selecione Shift+F5 ou escolha Executar>Parar Depuração no menu.
- Feche a janela Nó onde o servidor local está sendo executado, se ele não fechar automaticamente.
- Feche o aplicativo do Office se ele não fechar automaticamente.
- Abra o
\.vscode\launch.json
arquivo no projeto. - Na matriz
configurations
, há vários objetos de configuração. Localize aquele cujo nome tem o padrão$HOST$ Desktop (Edge Chromium)
, onde $HOST$ é um aplicativo do Office que seu suplemento executa; por exemplo,Outlook Desktop (Edge Chromium)
ouWord Desktop (Edge Chromium)
. - Altere o valor da propriedade
"type"
de"edge"
para"pwa-msedge"
. - Altere o valor da propriedade
"useWebView"
da cadeia de caracteres"advanced"
para o booleanotrue
(observe que não há aspas ao redor dotrue
). - Salve o arquivo.
- Feche VS Code.
Confira também
- Testar e depurar Suplementos do Office
- Depurar os suplementos no Windows usando Visual Studio Code e Microsoft Edge WebView herdado (EdgeHTML)
- Depurar os suplementos usando as ferramentas de desenvolvedor para o Internet Explorer
- Depurar suplementos usando ferramentas de desenvolvedor para Edge Legacy
- Depurar suplementos usando ferramentas de desenvolvedor no Microsoft Edge (baseado em Chromium)
- Anexar um depurador do painel de tarefas
- Runtimes em suplementos do Office
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de