Cygwin 绝对路径给出 C://cygdrive/c 而相对路径工作正常
Cygwin absolute path give C://cygdrive/c while relative path works fine
使用带有相对路径的 VScode CLI (code) 可以很好地与 cygwin 配合使用:
code ../source
但是使用绝对路径它给了我一些以 C://cygdrive/c/...
:
开头的东西
code ~/source
给我 C://cygdrive/c/Users/user/source
.
这个路径不存在,所以我新建一个文件。
如何让 cygwin 使用绝对路径?
PATH 中的 VScode 如下所示:/cygdrive/c/Users/user/AppData/Local/Programs/Microsoft VS Code/bin:
VScode on Windows 可能不期望也不会正确解释 POSIX 风格的路径。 /cygdrive/c/...
是 Cygwin 角度的绝对路径(默认情况下,Cygwin 将您的 Windows 驱动器号安装在 /cygwin/
下)。
但是对于 VScode(或其他本机 Windows 应用程序)来说,这看起来不像是绝对路径,因此它会在其前面添加 C:\something\...
以使其成为绝对路径。
与在 Cygwin 上使用本机 Windows 应用程序相关的大多数路径问题一样,您应该使用 cygpath
实用程序将您的路径转换为 VScode 可以理解的路径。例如。
$ code "$(cygpath -w -a ~/source)"
问题似乎是 VScode(windows 方)得到 C:\cygdrive\c\Users\user\source
并试图解决它。这会导致找不到文件,因此我们在该路径中创建一个新文件。
我通过在 C:\cygdrive\c\
和 C:\
之间创建符号 link 在 windows 方面解决了这个问题。
- 我在
C
上创建了一个名为 cygdrive
的空文件夹。
- 我以管理员身份打开 cmd。
- 我执行命令
mklink /D "C:\cygdrive\c\" "C:\"
.
和 VScode 按预期运行。
使用带有相对路径的 VScode CLI (code) 可以很好地与 cygwin 配合使用:
code ../source
但是使用绝对路径它给了我一些以 C://cygdrive/c/...
:
code ~/source
给我 C://cygdrive/c/Users/user/source
.
这个路径不存在,所以我新建一个文件。
如何让 cygwin 使用绝对路径?
PATH 中的VScode 如下所示:/cygdrive/c/Users/user/AppData/Local/Programs/Microsoft VS Code/bin:
VScode on Windows 可能不期望也不会正确解释 POSIX 风格的路径。 /cygdrive/c/...
是 Cygwin 角度的绝对路径(默认情况下,Cygwin 将您的 Windows 驱动器号安装在 /cygwin/
下)。
但是对于 VScode(或其他本机 Windows 应用程序)来说,这看起来不像是绝对路径,因此它会在其前面添加 C:\something\...
以使其成为绝对路径。
与在 Cygwin 上使用本机 Windows 应用程序相关的大多数路径问题一样,您应该使用 cygpath
实用程序将您的路径转换为 VScode 可以理解的路径。例如。
$ code "$(cygpath -w -a ~/source)"
问题似乎是 VScode(windows 方)得到 C:\cygdrive\c\Users\user\source
并试图解决它。这会导致找不到文件,因此我们在该路径中创建一个新文件。
我通过在 C:\cygdrive\c\
和 C:\
之间创建符号 link 在 windows 方面解决了这个问题。
- 我在
C
上创建了一个名为cygdrive
的空文件夹。 - 我以管理员身份打开 cmd。
- 我执行命令
mklink /D "C:\cygdrive\c\" "C:\"
.
和 VScode 按预期运行。