phpstorm.bat 函数的 cygpath 失败

cygpath to phpstorm.bat function fails

我正在使用 cygwin 从命令行启动 PhpStorm。一切正常,但为了做到这一点,我必须先 运行

crntproj=$(cygpath -w $PWD)

然后是运行

phpstorm.bat $crntproj

我更喜欢能够简单地 运行 phpstorm.bat $PWD 除非那行不通。

所以我写了一个 bash 函数如下,并添加到我的 bashrc:

function winpath {
path=$(cygpath -m $PWD)
echo $path
}

奇怪的是这个 returns 似乎是正确的文件夹 但是当我 运行 phpstorm.bat winpath PhpStorm 试图打开 C:/user/project/winpath 时,这当然不存在。

我现在已经尝试了 -w 的 windows 和 -m 的混合。那没有区别。我还在路径末尾连接了一个正斜杠,以告诉 PhpStorm 它是一个文件夹而不是一个文件。这也没有解决问题。

任何人都可以解释我错过了什么吗?

我认为这可以通过在 ~/.bash_profile 文件中设置环境变量然后重新启动 cygwin 终端来解决 window.

将此行添加到您的 .bash_profile 文件中:

export crntproj=$(cygpath -w $PWD)

我现在无法测试,但目标是在每次启动 bash 终端时设置环境变量。

好的,所以将以下内容放入 .bash_profile 中,它现在可以正常工作了

function winpath {
path=$(cygpath -m $PWD)
echo $path
}

现在 运行 phpstorm.bat $(winpath)

为了方便起见,我什至做了几个别名

alias pstorm='phpstorm.bat'
alias pstorm-openProj='pstorm $(winpath)'

所以现在我可以 运行 pstorm-openProj 在项目文件夹中