为什么Visual Studio Code不断更改工作目录?

时间:2018-09-28 18:26:18

标签: python flask visual-studio-code vscode-settings

我正在尝试使用VS Code来完成“ Flask Web开发”这本书。我可以从命令行运行一个简单的hello world示例,但我想使用VS代码进行调试等。我修改了launch.json文件以构建Flask配置:

    "name": "Flask",
    "type": "python",
    "request": "launch",
    "module": "flask",
    "env": {
         "FLASK_APP": "flasker.py",
         "FLASK_ENV": "development",
         "FLASK_DEBUG": "0"
    },
   "args": [
       "run",
           "--no-debugger",
           "--no-reload"
       ],
       "jinja": true
    },

其中flasker.py。是我的世界类型应用程序的名称。每次我尝试运行或调试它时,VS都找不到该文件。我的目录结构是:

dev
    --pythonStuff
        --pythonClass
        --flask
              flasker.py

pythonClass是我最近学习的python类的目录/游乐场。 flask目录是我当前正在工作的目录。 在控制台中执行pwd总是会产生pythonClass。我将转到cd播放器,导出FLASK_APP = flasker.py和FLASK_DEBUG = 1,然后执行flask运行,一切都很好。但是,当我尝试运行调试器时,它仍然指向pythonClass,并且找不到flasker.py应用程序。我确实在pythonClass目录中找到一个.vscode目录,该目录具有launch.json和settings.json文件,但不确定如何/为什么在这里创建它。在这两个文件中,没有任何魔术。我已经搜索了我能想到的flask cwd / pwd PATH的每种组合。我知道这可能是一个简单的解决方法,但似乎无法解决。感谢任何指导。

1 个答案:

答案 0 :(得分:0)

launch.json attributes list应该包含(\bTags:\s+|(?<!^|$)\G)\s*,?\s*(\S+) (用于“大多数调试器”)

因此,尝试添加cwd属性以及所需的确切路径,以检查该属性是否得到遵守。
例如:

cwd

OP GeoffWillis添加in the comments

  

奇怪的是,即使在VScode控制台中执行“ pwd”操作时,即使我使用“ code”别名从“ flask”目录中启动VScode,它也始终默认为"cwd": "${workspaceFolder}",
  如前所述,我可以在控制台中~/pythonStuff/pythonClass到我的烧瓶目录,然后运行代码,但是需要调试器。
  我在新的Mac book pro上使用OSX 10.13.6,我先安装了VScode,然后又安装了Anaconda(包括VScode)。也许他们互相踩踏了吗?

我建议使用最小的cd,然后OP确认:

  

只需PATH到所需目录,然后键入“ cd”而不是仅“ code .”就可以解决问题。