如何解决如何在 Visual Studio Code 中使用相同的键开始调试 R 或 Python 代码?
试图避免 XY 问题,这是我在非常高层次上的问题:我在 VS Code 工作区中使用 R 和 Python 代码文件,我经常需要调试其中一个。目前我保存了不同的调试启动配置,我需要手动在它们之间切换 - 这很痛苦。我想用 F5 来
我看到很多技术方法可以做到这一点,但所有方法都有其障碍(其中一些可能只是糟糕的文档):
- 使用动态调试配置创建我自己的扩展,该配置确定活动编辑器的类型并启动正确的调试配置。 (需要付出很多努力。)
- 使用
"compound"
启动配置,同时启动 R 和 Python 启动配置,并停止除一个之外的所有配置。这可以通过对每个使用"prelaunchTask"
来完成,但非零返回代码会创建我不喜欢的错误消息。 - 使用依赖于编辑器的键映射 (
"when": "editorLangId == 'python'"
),但是要启动哪个调试命令以及如何传递启动配置?有vscode.startDebug
接受参数 (https://github.com/microsoft/vscode/issues/4615),但我无法对其进行键绑定。然后是workbench.action.debug.start
似乎忽略了参数。然后还有vscode.commands.executeCommand
,我也无法对其进行键绑定。 - 使用多命令扩展将键绑定到诸如“设置调试配置,然后按 F5”之类的内容。但是怎么做呢? 等等等等
解决方法
经过一番折腾,这里有一个遵循想法 2 的解决方案:
settings.json
(启动配置可以放入 launch.json
):
{
"debug.onTaskErrors": "abort","launch": {
"compounds": [
{
"name": "Python/R: Current File","configurations": [
"Python: Current File","R: Current File",],},"configurations": [
{
"name": "Python: Current File","type": "python","preLaunchTask": "check_ext py","request": "launch",// ...
},{
"name": "R: Current File","type": "R-Debugger","preLaunchTask": "check_ext R",// ...
}
],}
tasks.json
:
{
"version": "2.0.0","tasks": [
{
"label": "check_ext py","type": "shell","command": "echo ${fileExtname} | grep -i ^.py$",{
"label": "check_ext R","command": "echo ${fileExtname} | grep -i '^.R$'",}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。