Я могу добавлять сторонние инструменты вручную с помощью внешних инструментов, которые доступны в интегрированной среде разработки Visual Studio. Но мое требование заключается в том, чтобы добавить больше инструментов, выполнив скрипт powershell. Это возможно?
Как добавить кучу внешних инструментов в Visual Studio IDE с помощью команды Powershell?
Ответы (2)
Да, вы можете использовать StudioShell для работы с объектом DTE Visual Studio. См. здесь и здесь несколько примеров.
person
Bas Bossink
schedule
13.09.2012
Вы также можете сделать это, используя экспортированный файл xml, или просто создать в своем сценарии powershell, как это делается здесь
Основной смысл этого:
param($installPath, $toolsPath, $package, $project)
# Determine fully qualified path to a temp file
$fileName = [System.IO.Path]::GetTempPath() + [System.Guid]::NewGuid().ToString() + ".vssettings";
# Create User Settings file:
'<UserSettings>
<ApplicationIdentity version="9.0"/>
<ToolsOptions/>
<Category name="Environment_Group" RegisteredName="Environment_Group">
<Category name="Environment_ExternalTools" Category="{E8FAE9E8-FBA2-4474-B134-AB0FFCFB291D}" Package="{DA9FB551-C724-11d0-AE1F-00A0C90FFFC3}" RegisteredName="Environment_ExternalTools" PackageName="Visual Studio Environment Package">
<PropertyValue name="Launch Powershell.Command">powershell.exe</PropertyValue>
<PropertyValue name="Launch Powershell.Arguments">"& ''$(ProjectDir)\Myscript.ps1''"</PropertyValue>
<PropertyValue name="Launch Powershell.InitialDirectory">"$(ProjectDir)"</PropertyValue>
<PropertyValue name="Launch Powershell.SourceKeyName"/>
<PropertyValue name="Launch Powershell.UseOutputWindow">true</PropertyValue>
<PropertyValue name="Launch Powershell.PromptForArguments">false</PropertyValue>
<PropertyValue name="Launch Powershell.CloseOnExit">true</PropertyValue>
<PropertyValue name="Launch Powershell.IsGUIapp">false</PropertyValue>
<PropertyValue name="Launch Powershell.SaveAllDocs">true</PropertyValue>
<PropertyValue name="Launch Powershell.UseTaskList">false</PropertyValue>
<PropertyValue name="Launch Powershell.Unicode">false</PropertyValue>
<PropertyValue name="Launch Powershell.Package">{00000000-0000-0000-0000-000000000000}</PropertyValue>
<PropertyValue name="Launch Powershell.NameID">0</PropertyValue>
<PropertyValue name="ToolNames">Launch Powershell</PropertyValue>
</Category>
</Category>
</UserSettings>' >> $fileName
# Perform the import of the custom tool
$project.DTE.ExecuteCommand("Tools.ImportandExportSettings", "/import:""$fileName""");
"--Remove file"
Remove-Item -path $fileName
ПРИМЕЧАНИЕ. Чтобы использовать Visual Studio DTE, необходимо использовать стороннее расширение, например PSCX (расширение сообщества PowerShell).
person
HeedfulCrayon
schedule
13.03.2018
Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится. – Из обзора
- person Jason Aller; 14.03.2018
@JasonAller Добавлен основной контент сценария
- person HeedfulCrayon; 14.03.2018