开发者

How can I get the PowerShell ISE to do syntax highlighting on files with a custom extension?

I'd like to start using a custom extension for some of my Powershell 开发者_开发知识库scripts, but when I drag them into the PowerShell ISE, they are treated as plaintext, and I don't get any syntax highlighting. Is there anything I can do to get the ISE to recognize my custom file extension as a PowerShell script?


Can't be done because, as of the current version, the ISE determines whether to turn syntax highlighting on or not based on the file name extension: this behavior can't be changed as the recognized extensions are (unfortunately) fixed in the code.

They are, of course:

  • .ps1
  • .psm1
  • .psd1

For those who are wondering, the ISE determines this within the IsPowerShellSourceCodeFile internal property of the Microsoft.PowerShell.Host.ISE.ISEFile type, exported by the Microsoft.PowerShell.GPowerShell assembly. And no, reflection does not allow to cheat it, as trying to inject one of the supported extensions into the Extension property causes the ISE to crash.


I'm going to say this is possible. The Powershell module here brings SQL highlighting to the Powershell ISE.


For me, the PS script file extension was inadvertently .ps, when I renamed it to have .ps1 extension, all the syntax highlighting revived. Hope this helps others.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜