是否有在Windows和Linux中均可使用的vscode代码段路径变量?

时间:2018-10-24 22:30:02

标签: linux powershell visual-studio-code powershell-core

我想编写一个瘟疫测试,该测试在Linux和Windows上均适用。该测试创建了vscode代码段,我想确保它在正确的位置创建它们。

我想使测试尽可能通用,并根据操作系统在合适的位置自动进行测试。

我知道在Windows上我可以使用$ env:AppDAta,但是该变量在Linux上不存在。 我可以用什么代替,这在两个平台上都可以。

干杯!

1 个答案:

答案 0 :(得分:1)

您不能依赖跨平台的环境变量,但是.NET Core确实通过其[Environment]::GetFolderPath()方法以跨平台的方式提供了已知/特殊文件夹。

不是所有在摘要中定义的位置都可在所有平台上使用,但是ApplicationData是:

[Environment]::GetFolderPath('ApplicationData')

对于用户名jdoe,以上代码会产生以下路径:

  • Windows:C:\Users\jdoe\AppData\Roaming(等效于:$env:APPDATA
  • Linux:/home/jdoe/.config(等效于:$HOME/.config
  • macOS:/Users/jdoe/.config(等效于:$HOME/.config

还请注意this proposal on GitHub,该建议建议通过新的命名空间$sf:(对于 s 特别是 f older),因此$sf:ApplicationData与上述命令等效。

如果您希望看到它的实现,请在那里发表声音。即使是简单的“竖起大拇指”也有帮助。