How get ID of TeamExplorer Builds - c#

I make Hello world of VSIX extension.
I created VSIX Project and added Custom Command.
I want add this control to Team Explorer -> Build.
In TFSTreeViewPackage.vsct I have:
<Groups>
<Group guid="guidTFSTreeViewPackageCmdSet" id="MyMenuGroup" priority="0x0600">
<Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS"/>
</Group>
</Groups>
What id I should put, after where my control will place in build windows?

You can use this extension to find where existing commands are placed.
For example, how to find where Team Explorer -> Build -> Build Definition -> Add to favorite.
Use the inspect mode to find the command. once you find it, copy the guid and the id of the containing item:
If the guid synmbol and the id symbol not found, you will need to add them:
<GuidSymbol name="guidBigBuildCmdSet" value="{34586048-8400-472e-bbbf-3ae30af8046e}">
<IDSymbol name="menuBuildsPageDefinition" value="0x109" />
</GuidSymbol>
And change your group to:
<Groups>
<Group guid="guidTFSTreeViewPackageCmdSet" id="MyMenuGroup" priority="0x0600">
<Parent guid="guidBigBuildCmdSet" id="menuBuildsPageDefinition"/>
</Group>
</Groups>

Related

Outlook VSTO - moving my group next to "New Mail" group

I have made an addin (New Flux Ad Mail) for Outlook and would like to move it's position next to the "New" group - see picture.
Currently, I have this in my xml:
<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
<ribbon startFromScratch="false">
<tabs>
<tab idMso="TabMail">
<group id="fluxAdMail" label="Flux Ad Mail">
<button id="btnNewFluxMail" label="New Flux Ad Mail" onAction="click" size="large" imageMso="NewMail"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
I noticed that there's something in the <group> section called insertAfterMso and I'm wondering if that's what I need to use set the position of my group. However, I have a hard time finding any information regarding this or what the different name/id is for the controls
Any help would be appreciated
You are on the right avenue - the insertAfterMso attribute specifies the identifier for the built-in control after which to position this control. You can can find the list of built-in control IDs at https://github.com/OfficeDev/office-fluent-ui-command-identifiers . Use the GroupMailNew idMso value for the insertAfterMso attribute in case of Explorer windows.
If you only need to find control names, you can discover them within Office applications by hovering over commands in the Customize Ribbon tab of the Options dialog and looking at the tooltip:

EPPlus - Update Custom Ribbon Elements

I have a excel file which contains several items in a custom ribbon. I've added these custom elements with Microsoft's "Custom UI Editor for Microsoft Office", my customization looks something like the following:
<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<ribbon>
<tabs>
<tab id="XXX" label="XXX" insertAfterMso="TabInsert">
<group id="YYY" label="YYY">
<button id="btnXXX"
label="XXXX"
imageMso="PivotTableNewStyle"
size="large"
onAction="ZZZZ"
screentip="XXX"
supertip="XXX" />
</group>
</tab>
</tabs>
</ribbon>
</customUI>
I would like to modify(Add remove elements, change elements) this header with EPPlus, is this possible? If so how would it be done?
I have not found a way to do this in EPPlus, but I have found a way to edit it with the "DocumentFormat.OpenXml" library. Specifically to access that portion of the file I use the following code:
((SpreadsheetDocument)document.WorkbookPart.OpenXmlPackage).RibbonAndBackstageCustomizationsPart
I'm still not sure if it can be done in EPPlus. Maybe in a future version...

Visual Studio Extensions: Adding element to the Code Editor ContextMenu

I'm trying to add a new element to the Visual Studio 2017 Context Menu. I managed to add an element to the TOOLS menu with the following code:
<Button guid="guidRandomCommandPackageCmdSet" id="RandomCommandId" priority="0x0100" type="Button">
<Parent guid="guidSHLMainMenu" id="IDG_VS_TOOLS_EXT_TOOLS" />
<Icon guid="exclamationIcon" id="exclamationIcon1" />
<Strings>
<ButtonText>Random Text</ButtonText>
</Strings>
</Button>
which is registered in
<GuidSymbol name="guidRandomCommandPackageCmdSet" value="{47122772-c66f-48f3-b10b-dbbb66da120d}">
.
.
<IDSymbol name="RandomCommandId" value="0x0100" />
</GuidSymbol>
I tried to follow a similar fashion, so I defined a new Button in Buttons:
<Button guid="guidRandomCommandPackageCmdSet" id="ToDoList" priority="0x0100" type="Button">
<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_CODEWIN"/>
<Icon guid="exclamationIcon" id="exclamationIcon1" />
<Strings>
<ButtonText>Add TODO list</ButtonText>
</Strings>
</Button>with the ID symbol
with the ID registerd in GuidSymbols
<IDSymbol name="ToDoList" value="0x106" />
But the button does not show up in the context menu, when I run the project. I tried to follow the suggestions of VSIX: Adding a Menu Item to the Visual Studio Editor Context Menu but none of the suggestions seems to work for me.
I never tried to create a VS add-on before, so I welcome any suggestions. Is it possible that the method changed in VS 2017?
Eventually, I managed to get it working. It seems that while for MENU items that show up either as a separate menu or belonging to a menu like TOOLS, it is enough to have only a Button with the parent set to the appropriate constant menu element string as defined at GUIDs and IDs of Visual Studio Menus.
For ContextMenu elements, however, I needed to have an element in Groups:
<Group guid="guidRandomCommandPackageCmdSet" id="MyMenuGroup" priority="0x0600">
<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_CODEWIN" />
</Group>
This has the ContextMenu as its Parent. Then, I created a CustomCommand that auto-generates a Button with it and I modified this Button to have the Group element as itsParent:
`
Add TODO list
This is the result with the added button hovered over:

Is it possible to remove parts from the Ribbon, in VSTO Excel C# Document-Level Customizations?

Is it possible to remove parts from the Ribbon, in VSTO Excel C# Document-Level Customizations?
For example, I want to disable the Data Tools group in the Ribbon.
Sure, you should be able to do
Create a new Excel Workbook project
Right click on solution - Add item = Ribbon XML
follow the steps in the newly generated class
edit the generated Ribbon.xml file like this
<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
<ribbon>
<tabs>
<tab idMso="TabData" visible="false">
</tab>
</tabs>
</ribbon>
</customUI>
When I run the project I can't see the Data tab in my Excel

Add Menu Item in File Menu in Powerpoint

I am developing a Power Point Add-in (Using C#) in which I have to add a Custom Menu Entry in the "File" Menu.
I followed all the steps in http://msdn.microsoft.com/en-us/library/bb608602(v=vs.100).aspx
but my menu is not showing up in Powerpoint.
Do I need to anything extra here ?
You must check i would my add-in to lad the host
Link of full sample : http://csharpmentor.blogspot.fr/2009/05/how-to-create-powerpoint-add-in-in-cnet.html
#Nilzor, I found the Solution, It is called Backstage view
We need to add the in the XML to make it work
<?xml version="1.0" encoding="utf-8"?>
<customUI onLoad="Ribbon_Load" xmlns="http://schemas.microsoft.com/office/2009/07/customui">
<backstage>
<tab id="MyBackstageTab"
label="My Tab"
getVisible="MyBackstageTab_GetVisible">
</tab>
</backstage>
</customUI>

Categories