linux - 是否有适用于 Windows 和 Linux 的 vscode 片段路径变量?

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

我想写一个 pester 测试,它在 Linux 和 Windows 上都有效。该测试创建了 vscode 片段,我想确保它在正确的位置创建它们。

我想让我的测试尽可能通用,并根据操作系统在正确的地方自动测试。

我知道在 Windows 上我可以使用 $env:AppDAta 但该变量在 linux 上不存在。 我可以用什么来代替,它可以在两个平台上工作。

干杯!

最佳答案

您不能跨平台依赖环境变量,但 .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特别 folder)以更符合 PowerShell 习惯的方式公开这些文件夹,所以$sf:ApplicationData 相当于上面的命令。

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

关于linux - 是否有适用于 Windows 和 Linux 的 vscode 片段路径变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52978780/

相关文章:

linux - Nmap 找不到保存的文本文件

linux - 如何确保应用程序继续在 Linux 上运行

azure - Powershell更新手机字段

javascript - 无法使用 Visual Studio Code 和 Chrome 调试器扩展来调试 AngularJS 应用程序

linux - 为什么内核使用默认 block 驱动程序而不是我的驱动程序代码?

linux - 带 make 的管道不起作用

string - Powershell脚本-文件命名,日期时间和FTP

c# - PowerShell 中的“无法转换 "System.__ComObject"值 ...”错误

visual-studio-code - 是否可以在 VSCode 中让一个选项卡具有文件的垂直分割 View ,而其他选项卡只有一个文件?

typescript - 从 typescript 进行 mocha 测试调试的问题