【发布时间】:2014-01-14 18:30:41
【问题描述】:
我的大部分构建过程都是 PowerShell 脚本和函数的集合,所有这些都在 .ps1 文件中定义。我只是在我的桌面上有一个该文件的快捷方式,它会启动 PowerShell 并初始化所有内容。
现在,我认为如果我可以在 Visual Studio 2013 环境中在中运行该 shell,将会很方便。这样,当我想要构建、发布内容到 IIS、执行数据库配置等时,我不需要不断切换窗口。应该很容易吧?
我发现的第一件事是PowerConsole,它是 Visual Studio 的一个扩展,它允许用户从 VS 中访问 Power Shell。但是,它仅适用于 Visual Studio 2010。According to the author,NuGet 团队基本上分叉了他的代码,现在它是 NuGet 控制台的一部分。所以,我的下一个想法是只使用 NuGet 控制台。这有几个问题:
- 它被称为“包管理器控制台”并隐藏在某个菜单中。我想要一些易于理解的东西,并清楚它是我的产品的构建环境。
- 虽然您可以运行 PowerShell 命令,例如
dir,但它的行为并不像 PowerShell。例如,您无法更改提示,即使您覆盖了prompt函数。 - 似乎没有办法覆盖配置文件。当我运行我的
BuildShell.ps1文件时,文件中的任何函数都没有注册,似乎没有任何变化。
总的来说,这似乎是一种将自定义构建环境集成到 Visual Studio 中的巧妙方法。所以,下一步是创建我自己的扩展。毕竟,这就是 NuGet 的全部内容,对吧?
问题:
如何为 Visual Studio 2013 创建类似 NuGet 的扩展? MSDN 有很多Visual Studio 2013 Extension samples,但它们似乎是针对扩展编辑器(例如 reSharper 可能做的)而不是创建新的命令窗口。我正在寻找可以帮助我入门的东西,或者我可以查看的开源程序。谢谢!
【问题讨论】:
标签: visual-studio powershell visual-studio-2013 visual-studio-extensions