Подтвердить что ты не робот

Как я могу заставить PowerShell ISE делать подсветку синтаксиса в файлах с помощью пользовательского расширения?

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

4b9b3361

Ответ 1

Невозможно выполнить, поскольку на текущей версии ISE определяет, следует ли включать подсветку синтаксиса или нет на основе расширения имени файла: это поведение не может быть изменено как признанные расширения (к сожалению) исправлены в коде.

Они, конечно:

  • .ps1
  • .psm1
  • .psd1

Для тех, кто задается вопросом, ISE определяет это внутри внутреннего свойства IsPowerShellSourceCodeFile типа Microsoft.PowerShell.Host.ISE.ISEFile, экспортируемого с помощью сборки Microsoft.PowerShell.GPowerShell. И нет, отражение не позволяет обмануть его, поскольку попытка вставить одно из поддерживаемых расширений в свойство Extension приводит к сбою ISE.

Ответ 2

Я собираюсь сказать, что это возможно. Модуль Powershell здесь предоставляет подсветку SQL для ISE Powershell.