在全新的 Yeoman - Excel 插件中无法看到变量或在 VS Code 中命中断点

问题描述 投票:0回答:1

我正在尝试在 VSCode 中的 Office Add-In for Excel 中进行调试。在 VSCode 中只能看到“调用堆栈”并花费了大量时间后,我决定下载一个全新的

yo office
模板,看看它是否有效并进行比较。

我必须全局安装

office-addin-debugging
webpack
,但我现在可以启动 webpack 服务器、启动 Excel、打开任务窗格(我选择了带有 Javasript for Excel 的任务窗格加载项)并点击运行按钮。

但是,在 VSCode 中,我没有到达添加到

commands.js
的断点,并且在
watch
下看不到任何变量。这与我的项目显示的行为相同,但我只是将
http-server
用于我的主项目,而
webpack
纯粹用于捆绑/填充等。

所以主要问题是,你可以从

yo office
调试初始模板吗?或者还需要配置什么?

对于我的项目,我是否需要使用

webpack dev server
,因为我知道/看到它具有“热重载”功能,但我不打算使用捆绑代码进行调试/测试,而只是直接在源代码上进行。

我一直在关注这个 --> https://learn.microsoft.com/en-us/office/dev/add-ins/testing/debug-desktop-using-edge-chromium,你可以在下面的屏幕截图显示它使用 Edge Chromium。

一些细节:

我使用的是 Windows 10,带有最新的 VS Code 和 NodeJS(在我的项目测试期间重新安装)

更新:

好吧,我做错了两件事......

  • 必须以 VSCode 的管理模式启动
  • 正在使用
  • commands.js
     但模板未加载该文件,需要 
    使用 taskpane.js

我能够命中断点,但我声明的变量和 watched

 显示 
undefined
。知道我做错了什么吗?

进一步更新:

    我能够使用“Web-pack”进行调试,事实上这是我能够在 VSCode 中查看变量的唯一方法
我通过以下方式启动了网络服务器:

"webserver:https:src": "http-server ./src/ -S -C %USERPROFILE%/.office-addin-dev-certs/localhost.crt -K %USERPROFILE%/.office-addin-dev-certs/localhost.key --cors . -p 3000",
我发现我正在编辑的 

commands.js

 不起作用,但是如果我在 
commands.js
 控制台中单击 
debug
,我就能够编辑托管在网络服务器上的文件..

例如,如果您看下面,您可以看到文件 URL 是

http://localhost..

 vs 
src/...

这意味着我必须加载 Excel、打开任务窗格、在网络服务器上打开文件、插入断点并重新加载。

我发誓,当我打开 DevTools 时,我已经与本地文件同步过一次,我能够

set root folder

,但下次我打开 Excel/DevTools 时,此选项消失了,同步也消失了..

我已经很接近了,但还没有完全实现。

VSCode需要启动Webserver吗?我让它在另一个终端中单独运行..

excel visual-studio-code debugging webpack office-js
1个回答
0
投票
好吧,终于明白了!最后要做的就是正确设置

"webRoot": "${workspaceRoot}/src/"

 添加 
/src/
 部分。

回顾一下:

  • VSCode 必须在管理模式下启动

  • 我不喜欢将 Webpack 用于 WebServer,我使用

    http-server

     并提供未转换/缩小的 
    /src/
     目录等..

    "webserver:https:src": "http-server ./src/ -S -C %USERPROFILE%/.office-addin-dev-certs/localhost.crt -K %USERPROFILE%/.office-addin-dev-certs/localhost.key --cors . -p 3000 -c-1",
    
    
最终

launch.json

{ "name": "Edge - Excel Desktop Localhost External", "type": "msedge", "request": "attach", "port": 9229, "timeout": 42000, "webRoot": "${workspaceRoot}/src/", "preLaunchTask": "Debug: Excel Desktop Localhost External", "postDebugTask": "Stop Debug Localhost External" },
    
© www.soinside.com 2019 - 2024. All rights reserved.