Как я могу запустить скрипт Powershell как noprofile в коде Visual Studio - PullRequest
2 голосов
/ 05 марта 2020

Как запустить скрипт Powershell как noprofile в коде Visual Studio, я могу запустить Powershell Ise с noprofile с помощью команды PowerShell_Ise -NoProfile . Но как мы можем сделать то же самое для сеанса poershell в коде Visual Studio.

Ответы [ 2 ]

1 голос
/ 05 марта 2020

Вы можете go в настройках расширения PowerShell и снять флажок в «PowerShell: Включить загрузку профиля», я думаю, это поможет. Также проверьте задание на запуск сценариев powershell с некоторыми параметрами обсуждение задачи

0 голосов
/ 06 марта 2020

В контексте кода Visual Studio:

  • По существу применяются 3 различных типа оболочек :

    • оболочка по умолчанию для интегрированного терминала (вкладка TERMINAL панели).

      • Опционально , оболочка автоматизации для использования для задач автоматизации (определена в tasks.json) вместо встроенной оболочки терминала по умолчанию.
    • оболочка по умолчанию для открытия внешнего терминала (> Open New External Terminal)

  • с расширением PowerShell установлено, применяется еще одна оболочка:

    • Указанный c исполняемый файл PowerShell для использования в Интегрированная консоль PowerShell , который обеспечивает тесную интеграцию с редактированием и поддержкой отладки кода PowerShell.

Эти оболочки:

  • могут быть настроены отдельно y
  • может отличаться поведением по умолчанию
  • только некоторые из них позволяют вам указать параметры запуска , например -NoProfile в вашем случае .

Следующая выдержка из файла Settings.json (> Preferences: Open Settings (JSON)) показывает соответствующие настройки для каждого (начиная с VSCode v1.42 / PowerShell Extension 2020.3.0):

{ 

  // ...

  // **General-purpose integrated-terminal shell**:
  // Mere file *names* work for executables that are in %PATH%; e.g., "cmd.exe"
  // If you need to specify a file *path*, use "\\" or "/" as the path separator.
  // On Unix-like platforms, replace ".windows" with ".osx" or ".linux", 
  // as appropriate.
  "terminal.integrated.shell.windows": "powershell.exe",
  // Startup parameters to pass to the specified shell.
  // On Unix-like platforms, replace ".windows" with ".osx" or ".linux", 
  // as appropriate.
  "terminal.integrated.shellArgs.windows": "-NoProfile",

  // **Automation-tasks shell**,
  // for the tasks defined in "tasks.json" and for debugging:
  // This overrides the default shell configured above.
  // Note: There is NO way to pass startup arguments.
  "terminal.integrated.automationShell.windows": "cmd.exe",

  // **External-terminal shell**:
  // The executable to use for opening an external terminal window
  // (> Open New External Terminal).
  // Note: There is NO way to pass startup arguments, 
  //       so you cannot suppress profile loading, for instance.
  "terminal.external.windowsExec": "powershell.exe",

  // **PowerShell Integrated Console**:
  // Profile loading is *disabled* by default; you can enable it here, but 
  // note that the PowerShell Integrated Console has its own, 
  // separate $PROFILE location, which differs from the one in a 
  // regular console window. If you want to load your regular profile, 
  // place the following statement in the $PROFILE file of 
  // the Integrated Console:
  //    . ($PROFILE -replace '\.VSCode', '.PowerShell')
  // (Open the profile file for editing by submitting the following command 
  // from the Integrated Console: 
  //    code $PROFILE
  // )
  "powershell.enableProfileLoading": false,

  // ...

}

Если вы хотите настроить интегрированную консоль PowerShell для использования другой редакции / версии PowerShell :

  • * Метод 1126 *. Когда на встроенной консоли PowerShell активна вкладка Terminal на панели VSCode (нижняя половина экрана), щелкните значок номера версии в правом нижнем углу (например, PowerShell version selector )

    • Выберите другую версию, если она имеется, с префиксом Switch to:
    • Если интересующая версия / издание не отображается, вы должны добавить ее путь к исполняемому файлу через ваш Settings.json файл (см. Следующий пункт).
  • Через settings.json (> Preferences: Open Settings (JSON)):

    * 1 106 *
  • Свойство powershell.powerShellAdditionalExePaths со значением массива позволяет добавлять полные исполняемые пути версий PowerShell, которые расширение не может найти автоматически - см. Пример ниже.

  • Свойство powershell.powerShellDefaultVersion определяет, какую версию использовать по умолчанию ; поскольку вы должны указать его с помощью отображаемого имени , которое включает автоматически выбранное отображаемое имя для автоматически обнаруженных версий, проще всего сделать выбор с помощью GUI, как показано выше.

{ 

  // ...

  // The paths to any PowerShell executables that the extension cannot auto-discover.
  // The "versionName" is a self-chosen name that is offered in the 
  // version-selector menu that pops up when you click on the version number 
  // near the right edge of the status bar when the 
  // PowerShell Integrated Console is active.
  // (The currently active version is displayed by its actual characteristics,
  //  not by its "versionName" property; e.g., 
  //  "PowerShell 7.0 (X64) Core Edition [7.0.0]")
  "powershell.powerShellAdditionalExePaths": [ 
    { 
      "versionName": "Latest Preview", 
      "exePath": "C:\\Users\\jdoe\\AppData\\Local\\Microsoft\\powershell\\pwsh.exe" 
    } 
  ],

  // The "versionName" property of the PowerShell executable to use by default.
  // Note: To switch to an executable that the extension found automatically,
  //       it is simplest to use the version-selector menu.
  "powershell.powerShellDefaultVersion": "Latest Preview",

  // ...

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