Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让PowerShell ISE在具有自定义扩展名的文件上进行语法高亮显示?_Powershell_Powershell Ise - Fatal编程技术网

如何让PowerShell ISE在具有自定义扩展名的文件上进行语法高亮显示?

如何让PowerShell ISE在具有自定义扩展名的文件上进行语法高亮显示?,powershell,powershell-ise,Powershell,Powershell Ise,我想开始为我的一些Powershell脚本使用自定义扩展,但当我将它们拖到Powershell ISE中时,它们被视为纯文本,并且没有任何语法突出显示。我可以做些什么来让ISE将我的自定义文件扩展名识别为PowerShell脚本吗?无法完成,因为在当前版本中,ISE根据文件扩展名确定是否打开语法高亮显示:无法更改此行为,因为识别的扩展名是(不幸的是)代码中已修复 当然,它们是: .ps1 .psm1 .psd1 对于那些想知道的人,ISE在由Microsoft.PowerShell.GPow

我想开始为我的一些Powershell脚本使用自定义扩展,但当我将它们拖到Powershell ISE中时,它们被视为纯文本,并且没有任何语法突出显示。我可以做些什么来让ISE将我的自定义文件扩展名识别为PowerShell脚本吗?

无法完成,因为在当前版本中,ISE根据文件扩展名确定是否打开语法高亮显示:无法更改此行为,因为识别的扩展名是(不幸的是)代码中已修复

当然,它们是:

  • .ps1
  • .psm1
  • .psd1

对于那些想知道的人,ISE在由
Microsoft.PowerShell.GPowerShell
程序集导出的
Microsoft.PowerShell.Host.ISE.ISEFile
类型的
IsPowerShellSourceCodeFile
内部属性中确定这一点。不,反射不允许欺骗它,因为它试图注入一个受支持的扩展名
扩展名
属性中的扩展名会导致ISE崩溃。

我想说这是可能的。Powershell模块会将SQL高亮显示带到Powershell ISE。

对我来说,PS脚本文件扩展名是在我将其重命名为具有
.ps1
扩展名时无意中使用的g复活了。希望这对其他人有帮助。

我也想知道这一点。但我感觉我们必须等待MS来解决这个问题。旁注:在我所有的语法高亮显示都是绿色后发现了这个问题,但这是因为我使用了“单色绿色”主题。这个建议似乎已经在接受的答案中陈述。