Ну, мне нужно немного руководства здесь, потому что, я не знаю, выбираю ли я легкий / правильный путь для достижения того, что я буду делать.
Позвольте мне немного объяснитьконтекста того, что я пытаюсь:
Я пытаюсь использовать собственный проект, чтобы избежать избыточных данных, создаваемых подмодулями git (при использовании зависимостей (я не имею в виду пакеты NuGet, я имею в видузависимости с открытым исходным кодом)), сохраняя эти проекты / зависимости в общей папке, а затем ссылаясь на любой проект, который мне нужен (кто-то предложил мне, что это плохой дизайн, потому что новые разработчики хотят внести свой вклад в мои проекты с открытым исходным кодомпонадобится мой проект (тот, о котором я говорю), чтобы убедиться, что они могут изменять и вносить в него свой вклад).
По этой причине я понял, что единственный способ избежать этогопутем создания проекта VSIX (чтобы избежать кроссплатформенных проблем), чтобы убедиться в исправлении зависимостей разветвленных проектов.
Но я хочу, чтобы это было легко, потому чтоЯ никогда не делал расширение VSIX.Итак, исследования, которые я обнаружил в этой теме (это относится к тому, как изменить Solution Explorer context menu
с помощью Tools > External Tools
меню и Tools > Customize...
, что мне и нужно).
Проблема возникает здесь.То, что это нужно сделать вручную, и я хочу этого избежать.
Автоматизация - это небольшая головная боль, потому что я не знаю с чего начать.
Сначала я создал свой собственный "Внешний"Инструмент «Привязка» (используя Sublime Text в качестве примера), затем с помощью «Подсистемы Ubuntu в Windows» и благодаря этому ответу я искал с помощью команды ag
ключевые слова, которые использовал:
Затем ag
привел меня в файл ~\AppData\Local\Microsoft\VisualStudio\<version>_<hash>\Settings\CurrentSettings.vsettings
, и я нашел следующие строки:
<Category name="Environment_ExternalTools" Category="{E8FAE9E8-FBA2-4474-B134-AB0FFCFB291D}" Package="{DA9FB551-C724-11d0-AE1F-00A0C90FFFC3}" RegisteredName="Environment_ExternalTools" PackageName="Visual Studio Environment Package">
<ExternalTools>
<UserCreatedTool>
<Arguments>$(ItemPath)</Arguments>
<CloseOnExit>true</CloseOnExit>
<Command>subl</Command>
<Index>3</Index>
<InitialDirectory>$(ItemDir)</InitialDirectory>
<IsGUIapp>false</IsGUIapp>
<NameID>0</NameID>
<Package>{00000000-0000-0000-0000-000000000000}</Package>
<PromptForArguments>false</PromptForArguments>
<SaveAllDocs>true</SaveAllDocs>
<Title>Sublime Text</Title>
<Unicode>false</Unicode>
<UseOutputWindow>true</UseOutputWindow>
<UseTaskList>false</UseTaskList>
</UserCreatedTool>
</ExternalTools>
</Category>
Затем я сделал третий шагиз первой темы, которую я связал, и я проверил различия, созданные при сохранении, и это то, что VS сохраняет в свои настройки при использовании окна «Инструменты> Настроить ...»:
<UserCustomizations>
<add Cmd="{5EFC7975-14BC-11CF-9B2B-00AA00573819}:00000279" CmdPri="00308001" Group="{000AF700-CF09-4582-9E1C-2603403AB647}:00004115" GroupPri="00050000" Menu="{D309F791-903F-11D0-9EFC-00A0C911004F}:00000402"/>
<modify Cmd="{000AF700-CF09-4582-9E1C-2603403AB647}:00000407" CmdPri="00000000" Group="{000AF700-CF09-4582-9E1C-2603403AB647}:00004014" GroupPri="00050000" Menu="{D309F791-903F-11D0-9EFC-00A0C911004F}:00000402" BeginGroup="false"/>
<modify Cmd="{000AF700-CF09-4582-9E1C-2603403AB647}:00004225" CmdPri="00300000" Group="{000AF700-CF09-4582-9E1C-2603403AB647}:00004115" GroupPri="00050000" Menu="{D309F791-903F-11D0-9EFC-00A0C911004F}:00000402" BeginGroup="true"/>
<modify Cmd="{5EFC7975-14BC-11CF-9B2B-00AA00573819}:00000279" CmdPri="00308001" Group="{000AF700-CF09-4582-9E1C-2603403AB647}:00004115" GroupPri="00050000" Menu="{D309F791-903F-11D0-9EFC-00A0C911004F}:00000402" BeginGroup="true"/>
<modify Cmd="{B92A417B-195E-41E4-9391-64F7D025020D}:00000100" CmdPri="01000000" Group="{B92A417B-195E-41E4-9391-64F7D025020D}:00001020" GroupPri="00010000" Menu="{D309F791-903F-11D0-9EFC-00A0C911004F}:00000430" BeginGroup="false"/>
</UserCustomizations>
I 'Я застрял в этой части, потому что я не нахожу никакого идентификатора GUID между этими двумя разделами XML.
Итак, я не знаю с чего начать, потому что я не нашел никакой документации для add
или modify
тег, ни Cmd
, CmdPri
, GroupPri
или Menu
атрибутов.
И почемуPackage
значение GUID тега из UserCreatedTool
раздела пусто?
Я пытаюсь выполнить обратный инжиниринг этого, чтобы попытаться разобрать его, а затем изменить его.Но я не могу понять половину происходящего.
Кроме того, я не знаю, есть ли какой-нибудь доступный парсер для решения этой задачи.
Любое руководство для этогобыть оцененным.