Как запустить сценарий PowerShell из Visual Studio 2010 - PullRequest
16 голосов
/ 17 мая 2011

Если у меня есть файл .ps в Visual Studio, как мне запустить его в контексте проекта?

Ответы [ 4 ]

12 голосов
/ 27 июля 2013

Я сделал это, добавив пункт контекстного меню, связанный с внешним инструментом:

Добавить «Внешний инструмент».Перейдите в Инструменты> Внешние инструменты.Добавьте новый со следующими параметрами:

  • Название: Запуск с Powershell
  • Команда: powershell.exe
  • Аргументы: -ExecutionPolicy RemoteSigned -File "$ (ItemPath) "
  • Исходный каталог: $ (ItemDir)
  • Установите флажок« Использовать окно вывода »
  • Если вы планируете использовать сценарии, требующие аргументов, установите флажок« Запрашивать аргументы »

Обратите внимание на положение вашего инструмента в списке (1,2 и т. Д.). Нажмите OK.

  • Теперь перейдите в Инструменты> Настройка, вкладка Командывыберите Контекстное меню и выберите «Контекстные меню проекта и решения | Элемент».
  • Нажмите «Добавить команду ..».
  • Выберите категорию «Инструменты» и выберите «Внешняя команда X», где x - это позиция вашего инструмента в списке.
  • Нажмите ОК.
  • Переместите его в нужное место в меню и нажмите «Изменить выделение», чтобы дать ему понятное имя,
  • , добавьте сочетания клавиш и т. Д.
  • НажмитеЗакрыть.

Щелкните правой кнопкой мыши по файлу .ps1 в решении, исследуйте и наслаждайтесь.(ПРИМЕЧАНИЕ: я также сделал это для cmd.exe для запуска .bat файлов.)

4 голосов
/ 17 мая 2011

Не уверен, что именно вы подразумеваете под "из контекста проекта", но вы можете:

  1. Создать Process

    Process p = new Process();
    
  2. Затем задайте команду процесса:

    powershell.exe YourScriptName.ps1
    

Это работает, если вам просто нужно запустить скрипт.

4 голосов
/ 18 мая 2011

Вам также следует обратить внимание на StudioShell , который обеспечивает глубокую интеграцию DTE в пользовательский хост PowerShell.

4 голосов
/ 17 мая 2011

Лучший способ сделать это - установить расширение PowerGUI для Visual Studio 2010

Одной из особенностей этого расширения является встроенное окно инструментов powershell. Он имеет доступ к объектам автоматизации, таким как DTE через $EnvDTE и обеспечит хорошую среду для запуска сценария для проекта

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