Работает ли Visual Studio Code с PowerShell в палитре команд?

С Код Visual Studio (а не традиционные среды Visual Studio IDE), можете ли вы запустить PowerShell в палитре команд? Я спрашиваю, потому что я обычно использую его в полной IDE.

Я не видел, чтобы PowerShell упоминал в документации, кроме основной подсветки синтаксиса. Я пробовал это без успеха. Не поддерживается ли это, или это дополнительная функция, которую я могу настроить каким-то образом?

Примечание: для тех, кто голосует за ответ PowerGUI, это неверно, поскольку он ссылается на неправильный выпуск Visual Studio для этого вопроса. Это полезно, если вы используете полную IDE, но не новый редактор с именем: Code.

Ответ 1

"Интегрированный терминал" теперь интегрирован в код Visual Studio. Это терминал PowerShell в Windows. (Вероятно, BASH в Linux/MacOS). Терминал появляется на панели внизу редактора кода, а не в командном палете.

Клавиатура Ярлык для открытия терминала: CTRL + `

Источники:

Я подтвердил в версии 1.19.2. Не уверен, когда функция была впервые интегрирована.

Ответ 2

Это была первая проблема, которую я хотел решить в VSCode. Я не нашел способ введите команды PowerShell, но я нашел способ создания и запуска задач PowerShell.

В палитре команд и выберите "Задачи: настройка запуска задачи". Это будет покажите вам json файл, сконфигурированный для задания по умолчанию.

Я заменил содержимое этим

{
    "version": "0.1.0",
    "command": "PowerShell.exe",
    "isShellCommand": true,
    "args": [
        "-NoProfile",
        "Invoke-Build.ps1"
    ],
    "tasks": [
        {
            "taskName": "Build",
            "isBuildCommand": true,
            "showOutput": "always"
        },
        {
            "taskName": "Test",
            "isTestCommand": true,
            "showOutput": "always"
        },
        {
            "taskName": "Build, Test",
            "showOutput": "always"
        }
    ]
}

В результате в палитре команд я могу выбрать и запустить мои предопределенные задачи (сборка, тестирование и комбинированное построение, тестирование). Я могу добавить другие задачи и, возможно, привязать их к некоторым горячим клавишам. Это не совсем то, что я хотел бы иметь в VSCode для PowerShell, но для предварительного просмотра это хоть что-то.

P.S. Это только мой первый эксперимент, который несколько сработал. Это не идеально, скорее. Для этого json файла есть много параметров конфигурации, которые я еще не пробовал.

Ответ 3

С версией 0.10.1 кода Visual Studio вы можете запускать и отлаживать PowerShell. Вот пример launch.json, который я использую:

{
    "version": "0.2.0",
     "configurations": [ 
        { 
            "name": "PowerShell", 
            "type": "PowerShell", 
            "program": "MyScript.ps1",
            "args": "-Verbose"
        } 
    ] 
}

К сожалению, я не могу заставить args работать (подробнее см.: https://github.com/PowerShell/vscode-powershell/issues/24). Другая проблема заключается в том, что Read-Host не работает с VS Code (подробнее см. https://github.com/PowerShell/vscode-powershell/issues/29). Определенно некоторые грубые края.

Ответ 4

Здесь вы можете настроить задачу Powershell для выполнения текущего открытого .ps1 файла без зависимости от Invoke-Build:

{
    "version": "0.1.0",
    "command": "PowerShell.exe",
    "isShellCommand": true,
    "args": [
        "${file}"
    ],
    "tasks": [
        {
            "taskName": "Build",
            "isBuildCommand": true,
            "showOutput": "always"
        },
        {
            "taskName": "Test",
            "isTestCommand": true,
            "showOutput": "always"
        },
        {
            "taskName": "Build, Test",
            "showOutput": "always"
        }
    ]
}

Примечание. Это лишь небольшая модификация римского ответа (мое редактирование ответа было отклонено).

Ответ 6

По крайней мере, в V1.4 (июль 2016 года) это было сделано намного проще.

Соответствующую документацию можно найти здесь: https://code.visualstudio.com/docs/editor/integrated-terminal

По существу все, что вы делаете, это добавление записи в файл settings.json для пользовательских настроек.

Добавьте следующее значение:

// 64-bit PowerShell if available, otherwise 32-bit
"terminal.integrated.shell.windows":"C:\\Windows\\sysnative\\WindowsPowerShell\\v1.0\\powershell.exe"

IMG: показывает файл настроек пользователя user.json и успешную интегрированную консоль, отображающую приглашение PowerShell:

IMG: Shows the User Settings settings.json file and the successful Integrated Console showing the PowerShell prompt

Ответ 7

Существует гораздо более простой способ запуска PowerShell, без необходимости настройки:

  • Установите Расширение прогона кода
  • Откройте файл кода PowerShell в текстовом редакторе, затем используйте ярлык Ctrl+Alt+N или нажмите F1, а затем выберите/введите Run Code или щелкните правой кнопкой мыши текстовый редактор, а затем нажмите Run Code в контекстном меню, код будет запущен, и вывод будет отображаться в окне вывода.

Кроме того, вы можете выбрать часть кода PowerShell и запустить фрагмент кода. Очень удобно!

Ответ 8

Откройте представление Отладка, в панели просмотра выберите Отладка из меню Вид или нажмите Ctrl + Shift + D.

В раскрывающемся списке Launch Configuration (показано на следующем снимке экрана) выберите Добавить конфигурацию...

введите описание изображения здесь

В редакторе откроется конфигурация launch.json, введите PowerShell и выберите нужные конфигурации отладки, как показано на следующем скриншоте.

введите описание изображения здесь

Сохраните файл launch.json и выберите нужную конфигурацию отладки в раскрывающемся меню Launch Configuration:

введите описание изображения здесь

Теперь вы можете отлаживать сценарии PowerShell через VSCode.

The Scripting Guys написал всеобъемлющую 2-страничную запись в блоге по этой теме, как и все остальное, что они пишут, и стоит прочитать, если вы новичок в VSCode и PowerShell.

https://blogs.technet.microsoft.com/heyscriptingguy/2017/02/06/debugging-powershell-script-in-visual-studio-code-part-1/

https://blogs.technet.microsoft.com/heyscriptingguy/2017/02/13/debugging-powershell-script-in-visual-studio-code-part-2/

EDIT: Я знаю, что этот вопрос несколько лет, но я столкнулся с ним, прежде чем я нашел любую актуальную информацию о том, как настроить отладку PowerShell в VSCode

Ответ 9

PowerGUI инструмент обеспечивает приятный интерфейс для Visual Studio. Цель этого расширения - включить разработку PowerShell в Visual Studio.

Вот как это выглядит -

enter image description here

Наряду с IntelliSense, PowerGUI Visual Studio Extension предоставляет следующие функции и многое другое, чтобы упростить работу с PowerShell.

Файлы и типы файлов PowerShell:. Вы можете создавать/редактировать файлы кодов PowerShell и собирать их в проекты с несколькими файлами. Фрагменты кода PowerShell: функция кода может использоваться для кода PowerShell.

Окно консоли PowerShell: Эта функция предоставляет среду консоли PowerShell в среде Visual Studio IDE. Это позволяет запускать команды или просматривать выходные данные скриптов. На рисунке B показано окно консоли, открытое в среде IDE.

Отладка PowerShell:. Именно поэтому я установил расширение; он обеспечивает способ отладки скриптов в Visual Studio. Это прямой способ найти синтаксические или логические проблемы в script.

Выделение синтаксиса и анализ script:. Это больше возможностей Visual Studio, доступных для разработки PowerShell.

enter image description here

Для установки расширения PowerGUI Visual Studio необходимо установить PowerGUI с предупреждением о том, что установлена ​​правильная версия каждого продукта.

Загрузить здесь

enter image description here

Он также предоставляет возможность отладки, которая является лучшей частью, которую мне нравится как разработчик.

enter image description here

Спасибо!