Я хотел бы начать использовать пользовательское расширение для некоторых из моих сценариев Powershell, но когда я перетаскиваю их в ISE PowerShell, они рассматриваются как открытый текст, и я не получаю подсветки синтаксиса. Есть ли что-нибудь, что я могу сделать, чтобы ISE распознала мое пользовательское расширение файла как PowerShell script?
Как я могу заставить PowerShell ISE делать подсветку синтаксиса в файлах с помощью пользовательского расширения?
Ответ 1
Невозможно выполнить, поскольку на текущей версии ISE определяет, следует ли включать подсветку синтаксиса или нет на основе расширения имени файла: это поведение не может быть изменено как признанные расширения (к сожалению) исправлены в коде.
Они, конечно:
- .ps1
- .psm1
- .psd1
Для тех, кто задается вопросом, ISE определяет это внутри внутреннего свойства IsPowerShellSourceCodeFile
типа Microsoft.PowerShell.Host.ISE.ISEFile
, экспортируемого с помощью сборки Microsoft.PowerShell.GPowerShell
. И нет, отражение не позволяет обмануть его, поскольку попытка вставить одно из поддерживаемых расширений в свойство Extension
приводит к сбою ISE.
Ответ 2
Я собираюсь сказать, что это возможно. Модуль Powershell здесь предоставляет подсветку SQL для ISE Powershell.