我目前在RHEL7容器中使用vscode-tomcat
扩展,并使用vscode-remote
扩展在SSH上进行开发。但是,由于这个未解决的问题,我无法启动tomcat调试器。
"TypeError: Cannot set property 'readableListening' of undefined
">
该问题仅在尝试在进行远程SSH开发时启动Tomcat调试器时发生。我正在尝试调试这个问题,但我不确定如何在远程容器中调试VSCode扩展。
任何提示将不胜感激。如果我能提供更多的细节,请告诉我。
现在所有这些都有了文档。读
https://code.visualstudio.com/api/advanced-topics/remote-extensions debugging-using-ssh
然后继续往下看因为你会发现
https://code.visualstudio.com/api/advanced-topics/remote-extensions debugging-using-ssh
通读一遍,里面有很多东西一开始让我想到&;So?&;但这是在专门问题上至关重要的知识。
这是与当前问题有关的部分。
SSH调试
遵循步骤:
-
安装并配置完Remote-SSH扩展后,选择"Remote-SSH: Connect to Host…"从VS Code中的命令面板(F1)连接到主机。
-
连接后,使用File>打开……/打开文件夹…选择包含扩展源代码的远程文件夹,或者从命令调色板(
F1
)中选择Git: Clone来克隆它并在远程主机上打开它。 -
在新的VS Code终端窗口(
Ctrl+Shift+`
)中安装任何可能丢失的所需依赖项(例如使用yarn Install或apt-get)。 -
最后,按
F5
或使用Run视图在远程主机上启动扩展并附加调试器。
注意:您将无法在出现的窗口中打开扩展源代码文件夹,但您可以在SSH主机上打开子文件夹或其他地方。
出现的扩展开发主机窗口将包括在SSH主机上运行的扩展,并附带调试器。
安装扩展的开发版本
任何时候VS Code自动在SSH主机上安装扩展,在容器或WSL中,或通过GitHub Codespaces,使用市场版本(而不是已经安装在本地机器上的版本)。
虽然这在大多数情况下是有意义的,但您可能希望使用(或共享)未发布的扩展版本进行测试,而不必设置调试环境。要安装未发布版本的扩展,您可以将扩展打包为VSIX,并手动将其安装到已经连接到正在运行的远程环境的VS Code窗口中。
遵循以下步骤:
- 如果这是一个已发布的扩展,您可能需要在设置中添加"extension . autoupdate ": false。
- 接下来,使用vce包将您的扩展打包为VSIX。
- 连接到代码空间、开发容器、SSH主机或WSL环境。
- 使用Install from VSIX…命令,可以在扩展视图更多操作(…)菜单中安装扩展到这个特定的窗口(不是本地窗口)。5.提示时重新加载。
提示:安装后,你可以使用Developer: Show Running Extensions命令查看VS Code是否在本地或远程运行扩展。