Существует ли переменная пути фрагмента vscode, которая работает в Windows и Linux? - PullRequest
0 голосов
/ 25 октября 2018

Я хочу написать тест pester, который работает как в Linux, так и в Windows.Тест создает фрагменты vscode, и я хочу быть уверен, что он создает их в правильном месте.

Я хочу сделать свой тест как можно более универсальным и автоматически выполнять тестирование в нужном месте в соответствии с ОС.

Я знаю, что в Windows я мог бы использовать $ env: AppDAta, но эта переменная не существует в Linux.что я мог бы использовать вместо этого, который будет работать на обеих платформах.

Cheers!

1 Ответ

0 голосов
/ 25 октября 2018

Нельзя полагаться на переменные среды на разных платформах, но .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)

Также обратите внимание на это предложение для GitHub , в котором предлагается представлять эти папки более PowerShell-идиоматическим способом через новое пространство имен $sf: (для s pecial f старше), так что $sf:ApplicationData будет эквивалентно приведенной выше команде.

Если вы хотите, чтобы это было реализовано, пусть ваш голос будет услышан там.Даже простой «палец вверх» помогает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...