Cygwin绝对路径给出C:// cygdrive / c,而相对路径可以正常工作

将VScode CLI (code)与相对路径一起使用对于cygwin可以正常工作: string1 temp temp1 string2 temp1 temp2 string3 temp2 temp3 . . . . . . stringn temp(n-1) temp(n+1)

但是使用绝对路径可以给我一些以code ../source开头的内容:

C://cygdrive/c/...给了我code ~/source

此路径不存在,所以我创建了一个新文件。

如何使cygwin在绝对路径下工作?

PATH中的

VScode如下:C://cygdrive/c/Users/user/source

l239984503 回答:Cygwin绝对路径给出C:// cygdrive / c,而相对路径可以正常工作

Windows上的

VScode可能不期望也不正确解释POSIX样式的路径。从Cygwin的角度来看,/cygdrive/c/...是绝对路径(默认情况下,Cygwin将Windows驱动器号安装在/cygwin/下)。

但是对于VScode(或其他本机Windows应用程序)而言,这看起来并不像是绝对路径,因此它将C:\something\...附加到它之前使其成为绝对路径。

与大多数与在Cygwin上使用本机Windows应用程序有关的路径问题一样,您应该使用cygpath实用程序将路径转换为一个VScode可以理解的路径。例如。

$ code "$(cygpath -w -a ~/source)"

请参见Using Cygwin effectively with Windows

,

问题似乎是VScode(Windows端)得到C:\cygdrive\c\Users\user\source并试图解决它。这导致找不到文件,因此我们在该路径中创建了一个新文件。

我在Windows上通过在C:\cygdrive\c\C:\之间创建符号链接来解决了这个问题。

  1. 我在C上创建了一个名为cygdrive的空文件夹。
  2. 我以管理员身份打开 cmd
  3. 我执行命令mklink /D "C:\cygdrive\c\" "C:\"

并且VScode按预期运行。

本文链接:https://www.f2er.com/3030174.html

大家都在问