我开始将vscode用于Python。我有一个简单的测试程序。我想在调试下运行它,并且需要设置运行的工作目录。
我如何/在哪里做?
Answers:
@ SpeedCoder5的评论应该是一个答案;
具体来说,您可以指定一个动态工作目录。(即当前打开的Python文件所在的目录),使用"cwd": "${fileDirname}"
如果您在Python: Current File (Integrated Terminal)
运行Python时使用的是该选项,则launch.json
文件可能看起来像下面的我的文件。
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File (Integrated Terminal)",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"cwd": "${fileDirname}"
},
//... other settings, but I modified the "Current File" setting above ...
}
[记住launch.json
文件控制着Visual Studio代码项目的运行/调试设置] [1];我的launch.json
文件是由VS Code自动生成的,位于我当前的“打开项目”目录中。我只是手动编辑了文件以进行添加,"cwd": "${fileDirname}"
如上所示。
请记住,该launch.json
文件可能特定于您的项目,也可能特定于目录,因此请确认您在编辑正确的文件 launch.json
(请参阅注释)
如果没有launch.json
文件,请尝试以下操作:
要创建launch.json文件,请在VS Code中打开项目文件夹(文件>打开文件夹),然后在“调试”视图顶部栏上选择“配置齿轮”图标。[1]:https://code.visualstudio.com/docs/editor/debugging#_launch-versus-attach-configurations
您需要做的就是在launch.json文件中配置cwd设置,如下所示:
{
"name": "Python",
"type": "python",
"pythonPath":"python",
....
"cwd": "<Path to the directory>"
....
}
有关此问题的更多信息,请参见VS Code官方网站。
"cwd": "${fileDirname}"
在开源文件的当前目录中运行
我将向在Node.js上使用TypeScript的人员发布此示例配置
在我的项目中,我的Node.js服务器TypeScript文件位于Application_ts文件夹中,而已编译的js文件在名为Application的文件夹中生成
因为当我们在调试模式下运行应用程序或正常启动它时,我们应该从包含js文件的Application文件夹开始,以便在下面的配置中从我的application_ts也存在并且可以正常运行的根文件夹运行debug
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Debug TypeScript in Node.js",
"program": "${workspaceRoot}\\Application\\app.js",
"cwd": "${workspaceRoot}\\Application",
"protocol": "inspector",
"outFiles": [],
"sourceMaps": true
},
{
"type": "node",
"request": "attach",
"name": "Attach to Process",
"port": 5858,
"outFiles": [],
"sourceMaps": true
}
]
}
您可以使用中的cwd
参数为调试程序设置当前工作目录launch.json
要将当前工作目录设置为您当时正在执行的任何文件:
文件>首选项>设置> Python>数据科学>在文件目录中执行
谢谢brch:VSCode中的Python:每次都将工作目录设置为python文件的路径