如何将VS Code的工作目录更改为正在运行文件的目录

4

我一直在尝试设置VS Code的默认工作目录,当工作区未打开时,默认工作目录应该是正在执行的文件所在的目录。这是其他IDE(例如Python IDLE)的正常行为。 我需要这样做,这样我的学生就可以从他们拥有的任何文件夹运行程序,并且可以使用相对路径打开程序引用的文件。 他们始终将文件与运行文件放在同一个目录中(例如,他们想要在程序中打开的MP3)。

我已经阅读了许多文档,在VS Code和Stackoverflow上查找了很多小时,但都没有成功。

我知道将工作区设置为该文件夹将解决此问题,但对于我们来说并不可行,因为他们将一直从不同位置打开文件。

我尝试更改settings.json文件中的terminal.integrated.cwd以默认采用正在执行的文件所在的目录(与IDLE中类似),但没有成功。 我找不到需要包含在terminal.integrated.cwd中的字符串。 我尝试了以下字符串: “。”、“.”、“.\”、“”

我还尝试了这个:

"terminal.integrated.cwd": "${fileDirname}"

但是,当我运行以下代码片段以查看工作目录是否在 VS Code 重置后发生更改时:

import os
cwd = os.getcwd()
print("Current working directory: {0}".format(cwd))

它仍然显示我的工作目录为c:\users\my_user_name,而不是运行此代码的文件所在目录。

请问有人可以告诉我接下来该怎么办吗?谢谢。

4个回答

14

墨菲定律:在发布问题五分钟后(并且进行了数小时的研究),我发现了这个帖子,其中提供了一个完美运行的解决方案。 设置--> Python>终端>在文件目录中执行


0

我在VS Code的Python扩展设置中找到了它

Python › 终端:在文件目录中执行

  • 在终端中执行文件时,是否使用文件所在的目录,而不是当前打开的文件夹。

点击此处查看扩展设置


0

0

不要依赖IDE的设置,你可以编写代码让其与平台无关。

import pathlib
file = pathlib.Path(__file__).parent.resolve() / input("Enter image name: ")
image1 = cv2.imread(str(file))

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