一直用sublime text,最近想转到vscode,刚用发现一个问题(感觉我的问题放在这有点低级,但是我没别的地方去了,原谅我):
首先是同一个文件夹下,sublime text可以使用相对路径,而vscode使用相对路径却报错:FileNotFoundError: [Errno 2] No such file or directory: 'gaos.txt' 。之后vscode使用绝对路径又正常。希望有了解的大佬帮看看,我实在不想每次都敲绝对路径。。
sublime:
vscode:
<p>老哥不知道你解决没有,我折腾了两天,终于偶然发现了解决办法。上面那个老哥说的没错,确实是按 .vscode文件夹为相对路径的。下面的步骤就是在新的工作区对应的文件夹里生成一个新的 .vscode文件夹和launch.json的方法,不生成新的话只能按原来的 .vscode文件夹判断,运行文件和原 .vscode文件夹不在一个文件夹时用相对路径就会繁琐一些。不过生成新的 .vscode文件夹后还得配合左下角“选择并启动调试配置”,选上相应的工作区,才能根据新的 .vscode文件夹来判断相对路径,编程的时候才能使用最简单的相对路径。具体如下:</p>
1. 把要运行的程序文件所在的那个文件夹设为工作区。
2. 运行一个在此工作区的小程序,然后点左下角“选择并启动调试配置”
3.之后在窗口上端会弹出个菜单,下拉至底,选择添加配置(此工作区名)...此工作区名,我这里是py4e
4. 然后会选一个运行的环境,你用什么语言选哪个。
5. 再选左下角“选择并启动调试配置”,这时在上方弹出的菜单中就有这个工作区对应的选项了,我照着之前工作区的样子选的python: current file(此工作区)这个选项。
这之后就能使用相对路径了。切换工作区的话,也要相应的更改“选择并启动调试配置”。不然的话,vscode就会一直按这个地方所指的工作区来找相对路径。
回复晚了,确实我发现也只能通过每个项目单独建立工作区这样的方式才能引用相对路径,麻烦也不是很麻烦,但就是感觉要多走一步,不像sublime那样类似全局变量,不管在哪个文件夹下,无脑ctrl+b就能运行,大概是现在人都比较懒吧,哈哈哈
<p>好像是以os.getcwd()为相对路径的,用vscode的话以你的目录结构应该改成'vscode/test/gaos.txt',你试试看了</p>
谢谢回复,在vscode中好像不能默认当前文件路径,只能通过工作区配置,没有过c++这可能和vs studio的方式差不多吧
<p>接顶楼。编辑launch.json,在configuration中使用参数"cwd": "${fileDirname}",这样在debug时可以切换到当前文件所在的目录,使用相对路径。</p>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。