Cygwin绝对路径给出C://cygdrive/C,而相对路径工作正常
使用带有相对路径的VScode CLI(代码)可以很好地处理cygwin:Cygwin绝对路径给出C://cygdrive/C,而相对路径工作正常,cygwin,Cygwin,使用带有相对路径的VScode CLI(代码)可以很好地处理cygwin: code../source 但是使用绝对路径,它给了我一些以C://cygdrive/C/…开头的东西: code~/source给了我C://cygdrive/C/Users/user/source 此路径不存在,因此我创建了一个新文件 如何使cygwin使用绝对路径 路径中的VScode如下所示:/cygdrive/c/Users/user/AppData/Local/Programs/Microsoft VS-co
code../source
但是使用绝对路径,它给了我一些以C://cygdrive/C/…
开头的东西:
code~/source
给了我C://cygdrive/C/Users/user/source
此路径不存在,因此我创建了一个新文件
如何使cygwin使用绝对路径
路径中的VScode如下所示:
/cygdrive/c/Users/user/AppData/Local/Programs/Microsoft VS-code/bin:
Windows上的VScode可能不期望也不能正确解释POSIX样式的路径/cygdrive/c/..
是Cygwin透视图中的绝对路径(默认情况下,Cygwin在/Cygwin/
下装载Windows驱动器号)
但对于VScode(或其他本机Windows应用程序),这看起来不像是一个绝对路径,因此它将在它前面加上C:\something\…
,使其成为绝对路径
与在Cygwin上使用本机Windows应用程序相关的大多数路径问题一样,您应该使用cygpath
实用程序将路径转换为VScode可以理解的路径。例如
$ code "$(cygpath -w -a ~/source)"
请参阅。问题似乎是VScode(windows端)获取
C:\cygdrive\C\Users\user\source
,并尝试解决它。这导致找不到文件,因此我们在该路径中创建一个新文件
我在windows端通过在C:\cygdrive\C\
和C:\
之间创建一个符号链接解决了这个问题
C
上创建了一个名为cygdrive
的空文件夹mklink/D“C:\cygdrive\C\”“C:\”
VScode按预期运行。这个解决方案也可以,但它没有那么灵活,因为我需要这样的函数来处理每个需要使用绝对路径的命令。您可以创建bash别名或其他东西。在某些应用程序中,即使没有,它也能正常工作,但这是偶然的。正如你在我提供的链接中所看到的,这就是方法。不会有什么神奇的解决办法。