使用VSCode,如何将Python文件作为模块运行?

8

我正在尝试找到一种将当前文件作为模块参数的方法。我在任何地方都找不到它,所以我尝试在stackoverflow上寻求帮助。

{
    "name": "Python: Synapse",
    "type": "python",
    "request": "launch",
    "module": "projFolder.targetModule",
    "console": "integratedTerminal"
}

手动指定模块参数,像上面的例子一样是可行的。但是如果想为每个文件都这样做,我就需要自动化它。我尝试过使用${file},但它只提供了文件路径而不是模块。所以它并不起作用。如何将当前文件作为模块启动?


3
这是您正在寻找的内容吗:https://dev59.com/RbXna4cB1Zd3GeqPNJJi - rioV8
1
是的,谢谢。这个答案解决了我的问题。 - Inyoung Kim 김인영
可能是在VSCode中调试Python模块的问题的重复。 - Inyoung Kim 김인영
1个回答

10

提示:答案来自https://dev59.com/RbXna4cB1Zd3GeqPNJJi#57416114,但我稍作修改

将类似以下内容添加到您的launch.json中,但如果您想运行多个模块(在不同的位置),唯一的方法是使用多配置或使用插件(见下文)

    "configurations": [
        {
            "name": "Python: Module",
            "type": "python",
            "request": "launch",
            "module": "yourmodule.${fileBasenameNoExtension}",
            "stopOnEntry": true
        },

你可以使用扩展 Command Variable 来获取这个带有点分隔符的相对目录。
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Python: Module CmdVar",
      "type": "python",
      "request": "launch",
      "console": "integratedTerminal",
      "module": "${command:extension.commandvariable.file.relativeDirDots}.${fileBasenameNoExtension}",
    }
  ]
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接