

[VS code
で相対パスを指定し、プログラムを実行する方法](https://ja.stackoverflow.com/questions/65618/vs-
code-%E3%81%A7%E7%9B%B8%E5%AF%BE%E3%83%91%E3%82%B9%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97-%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95)

以前こちらで、Visual Studio Code でpythonを相対パスを用いてデバッグをするために、
**実行時のカレントディレクトリをそのプログラムファイルのあるディレクトリに設定** しました。  
具体的には、 **「launch.json」 の構成に「"cwd": "${fileDirname}"」を加え** ました。

これでVScodeで相対パスを用いてデバッグはできるようになったのですが、デバッグする際に下に出てくるパネル（「問題」「出力」「ターミナル」「デバッグコンソール」とあるパネルです）の「問題」というタブで、パスが正しくないというエラーがでます。  
どうやら、 **この「問題」では未だにカレントディレクトリがルートディレクトリに設定されているため** に起こっているようです。

launch.jsonで cwdを書き換えたように、デバッグパネルの「問題」でも、
**カレントディレクトリをそのプログラムファイルのあるディレクトリに変更する方法** はないでしょうか？

よろしくお願いいたします。

[ **追記** ]  
わかりにくくて申し訳ありません。詳しく説明します。

ディレクトリ・ファイルが以下の通りだとします。  
**root_folder----folder00----folder01----test01.py  
\----folder02----test02.py**

**test01.pyでtest.02.pyをimport** するときを想定します。

・test01.py  
import sys  
**sys.path.append('..')** #親ディレクトリ(folder00)のファイルをインポートするための設定  
**from folder02 import test02**  
(以下略)

デフォルト設定(「launch.json」の構成を変更する前 )の時、VScodeでtest01.pyをデバッグを実行すると、下に出てくる
**デバッグパネルの「問題」のところにエラーが出て動作しません** 。  
そのエラーは「unresolved import 'folder02'」です。  
これの原因は、 **デフォルトの設定では、カレントディレクトリがルートディレクトリ(この例ではroot_folder)に設定されている** ためでした。  
つまり、test01.pyを「sys.path.append('folder00')」にしないと動作しません。

パスが実行するファイルからの相対パスでも動作できるように( つまり、「sys.path.append('..')」でも動作できるように )したいと考え、
**実行するファイルのあるディレクトリをカレントディレクトリに設定するために、「launch.json」の構成に「"cwd":
"${fileDirname}"」を一行書き加えました** 。

そうすることで、 **test01.pyをデバッグ実行しても動作するようになり** ました。  
ここまでは良いのですが、 **デバッグパネルの「問題」の「unresolved import 'folder02'」というエラーが消えません** 。

考えてみたのですが、この **デバックパネルの「問題」は、カレントディレクトリがルートディレクトリのまま** のようです。  
この「問題」に出ているエラーを消したいです。  
**そのために「問題」でのカレントディレクトリを、実行するファイルのあるディレクトリに変更する** にはどうしたら良いでしょうか？

ご教授ください。よろしくお願いいたします。


CC BY-SA 4.0
2020-04-15T14:03:19.393
65653
2020-04-15T18:14:36.057
2020-04-15T18:14:36.057
39633
39633
question
python visual-studio vscode
VS code の launch.json に "cwd": "${fileDirname}" を追加した後の問題