有人在Visual Studio中找到了PowerShell语法高亮或IntelliSense插件吗?

41

是否有人找到了适用于Visual Studio的插件,可以实现PowerShell语法高亮或智能感知?如果没有,是否有人知道为什么没有呢?我一直希望有其他人有充足的空闲时间来解决这个问题。我有希望,因为其他人已经成功地利用有限的文档为其他语言构建了自定义的智能感知提供程序,例如NHaml

编辑:澄清一下,我不是在寻找可用于开发PowerShell的IDE列表。我90%的时间都在使用Visual Studio。它已经非常擅长切割和处理代码。这就是我喜欢用来编辑所有文本和代码的IDE。但现在我工作中使用PowerShell脚本时缺乏PowerShell语法高亮真的很痛苦。


有关于未来版本的Visual Studio将基于PowerShell构建环境的讨论,但目前还没有整合。 - Steven Murawski
部分重复:http://stackoverflow.com/q/171514/5314 - Jay Bazuzi
1
我最近发现了一个新的扩展,可以在VS2012中为.ps1文件进行语法着色:TextHighlighterExtension2012。您可以使用Nuget将其添加为VS2012的扩展(工具->扩展和更新,选择在线并输入“TextHighlighterExtensions2012”)。或者您可以访问主页http://visualstudiogallery.msdn.microsoft.com/fd129629-a1a1-417c-ac80-c9ac7a67b968。这个扩展还显然做了一些有限的智能感知。我只安装了10分钟,所以还没有进行太多的探索。但是颜色起作用并且符合我的VS主题。太棒了! - Simon Gillbee
老问题,但好消息是 -- 如果你使用的是 Windows 10,你将自动获得语法高亮,并且 ISE 已经提供完整的 Intellisense 一段时间了。 - Casey
4个回答

17

更新2013-08-20

Adam Driscoll最近宣布PowerShell Tools for Visual Studio作为其前身PowerGUI Visual Studio Extension的继任者,详情请参见他的博客文章关于PowerGUI VSX的未来,其中他承认了由Simon Gillbee(请参见下面的先前更新)概述的前任的缺点,并描述了如何通过删除对PowerGUI的依赖来解决这些问题:

[...] 通过在Visual Studio中直接嵌入PowerGUI编辑器,它引起了大量问题,因为它实际上并不是真正的语言集成,而更像是一种黑客行为

[...] PowerGUI VSX v2将提供真正的PowerShell Visual Studio语言支持。 它使用Visual Studio编辑器和原始的PowerShell调试器、令牌化器和完成引擎。目前,要求PowerShell v3和Visual Studio 2012。这个要求可能会根据社区的支持和采用情况而改变。 [我加重了这部分]


更新2013-07-31

Simon Gillbee刚刚推荐了一种PowerShell语法高亮的替代方案,没有暴露出PowerGUI Visual Studio Extension的缺点,他之前总结过


初始答案

最近发布的PowerGUI Visual Studio Extension为Visual Studio增加了PowerShell IntelliSense支持。虽然它依赖于(免费的)PowerGUI图形用户界面和脚本编辑器,但我希望重用这个编辑器组件应该是一种成熟的迹象而不是障碍。(请参阅Kirk Munros的在Visual Studio中提供PowerShell支持!博客文章进行介绍。)

作为1.0版本,扩展仍然存在一些小问题,但Adam Driscoll似乎非常积极地解决这些问题——对于我来说,PowerShell语法高亮和IntelliSense支持已经非常出色!


有点可惜这个功能花了这么长时间才出现,但是请看,PowerShell 正在我的 Visual Studio 2010 IDE 中进行语法高亮。不幸的是,它缺少智能感知,并且是黑色/白色,而我的配置是所有白色/彩色在黑色上。虽然比纯前景色要好得多。 - Jon Davis
1
我认为这个扩展实际上是一步倒退。它用自己的编辑器替换了整个文本编辑器。因此,我的 Visual Studio 自定义、颜色、键盘快捷键、其他扩展(如 CodeRush 可以使用 Ctrl-Arrow 在驼峰式标识符中移动)等都无法工作。我使用 Visual Studio 是因为它是一个一流的文本编辑器,不要替换它,那简直太蠢了。 - Simon Gillbee
2
我最近发现了一款新的扩展程序,可以在VS2012中为.ps1文件进行语法着色:TextHighlighterExtension2012。您可以使用Nuget将其添加为VS2012的扩展(选择“工具”->“扩展和更新”,选择“在线”并输入“TextHighlighterExtensions2012”)。或者您可以访问主页http://visualstudiogallery.msdn.microsoft.com/fd129629-a1a1-417c-ac80-c9ac7a67b968。这个扩展似乎还可以做一些有限的智能提示。我只安装了10分钟,所以还没有进行太多的探索。但是颜色有效,并且符合我的VS主题。太好了! - Simon Gillbee
@SimonGillbee - 非常感谢您让我知道这个替代方案,我已经相应地更新了我的答案。 - Steffen Opel
我很高兴看到新的PowerShell工具适用于Visual Studio。我已经在我的新VS2012环境中安装了它,目前看起来很不错。感谢你的辛勤工作,Adam! - Simon Gillbee

13

3
这是一个不成熟的项目。已经编写了一些代码并且可以在某人的计算机上进行智能感知。但是它不能在其他人的计算机上使用。而且一个无法使用的解决方案根本不是解决方案。 - Jon Davis
8
我不明白为什么这被标记为答案。任何人都可以在互联网上发布一个占位页面,并给它一个看起来像答案的名字,但如果它不能执行所声称的功能,那么它就不是答案。请问您需要其他翻译吗? - Jon Davis

5

我还没有看到任何关于 PowerShell 脚本的 Visual Studio Intellisense 相关信息。

我建议你尝试一些其他工具,比如:

可以看下面这个屏幕录像:


(来源:aaronlerch.com)


1

PowerConsole扩展程序对于VS2010来说非常棒,看起来很有前途。不过我不确定它是否适用(或能够)编辑脚本。无论如何,值得一试。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接