visual studio extensions command id for multiple project selection - visual-studio

I found IDM_VS_CTXT_PROJNODE for single project, and IDM_VS_CTXT_XPROJ_PROJITEM for multiple project but have to select one or more not project file. I want to create a command button like Build Selection.
EDIT:
vsct file:
<?xml version="1.0" encoding="utf-8"?>
<CommandTable xmlns="http://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<Extern href="stdidcmd.h" />
<Extern href="vsshlids.h" />
<Commands package="guidMyMenuPackage">
<Menus>
<Menu guid="guidMyMenuPackageCmdSet" id="MyMenu" type="Menu" priority="0x0700">
<Strings>
<ButtonText>MyMenu</ButtonText>
</Strings>
</Menu>
</Menus>
<Groups>
<Group guid="guidMyMenuPackageCmdSet" id="RootGroup" priority="0x0600" />
<Group guid="guidMyMenuPackageCmdSet" id="MyMenuGroup" priority="0x0601" />
</Groups>
<Buttons>
<Button guid="guidMyMenuPackageCmdSet" id="cmdidButton1" priority="0x0101" type="Button">
<Strings>
<ButtonText>Button1</ButtonText>
</Strings>
</Button>
<Button guid="guidMyMenuPackageCmdSet" id="cmdidButton2" priority="0x0102" type="Button">
<Strings>
<ButtonText>Button2</ButtonText>
</Strings>
</Button>
</Buttons>
</Commands>
<CommandPlacements>
<CommandPlacement guid="guidMyMenuPackageCmdSet" id="RootGroup" priority="0x1011">
<!--for single project file-->
<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_PROJNODE"/>
</CommandPlacement>
<CommandPlacement guid="guidMyMenuPackageCmdSet" id="MyMenu" priority="0x0001">
<Parent guid="guidMyMenuPackageCmdSet" id="RootGroup"/>
</CommandPlacement>
<CommandPlacement guid="guidMyMenuPackageCmdSet" id="MyMenuGroup" priority="0x0001">
<Parent guid="guidMyMenuPackageCmdSet" id="MyMenu"/>
</CommandPlacement>
<CommandPlacement guid="guidMyMenuPackageCmdSet" id="cmdidButton1" priority="0x0001">
<Parent guid="guidMyMenuPackageCmdSet" id="MyMenuGroup"/>
</CommandPlacement>
<CommandPlacement guid="guidMyMenuPackageCmdSet" id="cmdidButton2" priority="0x0002">
<Parent guid="guidMyMenuPackageCmdSet" id="MyMenuGroup"/>
</CommandPlacement>
</CommandPlacements>
<Symbols>
<GuidSymbol name="guidMyMenuPackage" value="{BDC1A8B0-8D78-43F9-A26F-234517DAF68E}" />
<GuidSymbol name="guidMyMenuPackageCmdSet" value="{FAACBD48-7657-4CFF-7BD4-39D77F9D1542}">
<IDSymbol name="RootGroup" value="0x1020"/>
<IDSymbol name="MyMenuGroup" value="0x1021"/>
<IDSymbol name="MyMenu" value="0x1022" />
<IDSymbol name="cmdidButton1" value="0x0101" />
<IDSymbol name="cmdidButton2" value="0x0102" />
</GuidSymbol>
</Symbols>
</CommandTable>

Related

ControlsFX Validation GUI Shift

in my project I am building a JavaFX GUI that looks like this:
Everything works as I imagine.
For the validation of the text fields I would like to use ControlsFX Validation.
When I add these three lines of code and press the button so that the FXML and controller are loaded, the buttons move:
ValidationSupport val = new ValidationSupport();
val.registerValidator(this.firstNameTextfield, Validator.createEmptyValidator("Muss gefüllt sein"));
val.registerValidator(this.lastNameTextfield, Validator.createEmptyValidator("Muss gefüllt sein"));
my GUI behaves completely different. Buttons wiggle back and forth when pressed, like this:
When you leave the button with the mouse it becomes normal again.
Once I delete these three lines of code, the GUI works normally.
Once this error occurs the first time, it does not repeat in the running program.
It always happens only at the first button press.
MainApplication:
public class MainApplication extends Application {
public static void main(String[] args) {
launch();
}
#Override
public void start(Stage stage) throws IOException {
FXMLLoader fxmlLoader = new FXMLLoader(this.getClass().getClassLoader().getResource("de/bachelorarbeit/gui" +
"/mainwindow/main-application-view.fxml"));
Parent root = fxmlLoader.load();
Scene scene = new Scene(root);
scene.setFill(Color.TRANSPARENT);
stage.setScene(scene);
stage.show();
}
}
MainController:
/**
* controller for main-application-view.fxml
*/
public class MainController implements Initializable {
/**
* gui element
*/
#FXML
private BorderPane borderPane;
/** the instances are saved to save inputs when switching scenes **/
/** instanc of the home **/
private Parent homeRoot;
/** instanc of the home **/
private Parent customerRoot;
/** instanc of the article **/
private Parent articleRoot;
/** instanc of the order **/
private Parent orderRoot;
private double x, y;
#Override
public void initialize(URL location, ResourceBundle resources) {
//set home in the center
this.callHomeUI();
}
/**
* method to load a ui component
* #param ui path of fxml to be loaded
* #return instanc of Parent
*/
private Parent loadUI(String ui) {
Parent root;
try {
FXMLLoader fxmlLoader = new FXMLLoader(this.getClass().getClassLoader().getResource(ui));
root = fxmlLoader.load();
} catch (IOException e) {
//TODO Logger
throw new RuntimeException(e);
}
return root;
}
/**
* method to set the home in the center
*/
#FXML
public void callHomeUI(){
if (this.homeRoot == null) {
this.homeRoot = this.loadUI("de/bachelorarbeit/gui/home/home-view.fxml");
}
this.borderPane.setCenter(this.homeRoot);
}
/**
* method to set the home in the customer
*/
#FXML
public void callCustomerUI() {
if (this.customerRoot == null) {
this.customerRoot = this.loadUI("de/bachelorarbeit/gui/customer/customer-view.fxml");
}
this.borderPane.setCenter(this.customerRoot);
}
/**
* method to close the window
*/
#FXML
public void close() {
DataBaseManager.shutDown();
Stage stage = (Stage) this.borderPane.getScene().getWindow();
stage.close();
}
}
CustomerController with the three lines of code:
/**
* controller for customer-view.fxml
*/
public class CustomerController extends CustomerAbstractController implements Initializable {
/** gui elements **/
#FXML
private TextField firstNameTextfield;
#FXML
private TextField lastNameTextfield;
#FXML
private TextField emailTextfield;
#FXML
private DatePicker dateOfBirthPicker;
#FXML
private TextField cityTextfield;
#FXML
private TextField postalCodeTextfield;
#FXML
private TextField streetTextfield;
#FXML
private TextField houseNumberTextfield;
#FXML
private TableView<Customer> customerTableView;
#FXML
private TextField firstNameSearchTextfield;
#FXML
private TextField lastNameSearchTextfield;
#FXML
private TextField emailSearchTextfield;
#Override
public void initialize(URL location, ResourceBundle resources) {
//set listener and build customer table for search
ValidationSupport val = new ValidationSupport();
val.registerValidator(this.firstNameTextfield, Validator.createEmptyValidator("Muss gefüllt sein"));
val.registerValidator(this.lastNameTextfield, Validator.createEmptyValidator("Muss gefüllt sein"));
val.registerValidator(this.emailTextfield, Validator.createEmptyValidator("Muss gefüllt sein"));
}
}
MainApplication FXML:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.Cursor?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.VBox?>
<BorderPane fx:id="borderPane" prefHeight="720.0" prefWidth="1280.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.bachelorarbeit.gui.mainwindow.MainController">
<left>
<VBox prefHeight="1080.0" prefWidth="149.0" style="-fx-background-color: #303030;" BorderPane.alignment="CENTER">
<children>
<VBox prefHeight="633.0" prefWidth="149.0">
<children>
<Button mnemonicParsing="false" onAction="#callHomeUI" prefHeight="40.0" prefWidth="200.0" style="-fx-background-color: transparent; -fx-text-fill: #f0f0f0; -fx-font-size: 15;" styleClass="sideButtons" stylesheets="#../../css/styles.css" text="Home">
<VBox.margin>
<Insets top="10.0" />
</VBox.margin>
<cursor>
<Cursor fx:constant="DEFAULT" />
</cursor>
</Button>
<Button mnemonicParsing="false" onAction="#callCustomerUI" prefHeight="40.0" prefWidth="200.0" style="-fx-background-color: transparent; -fx-text-fill: #f0f0f0; -fx-font-size: 15;" styleClass="sideButtons" stylesheets="#../../css/styles.css" text="Kunde">
<VBox.margin>
<Insets top="10.0" />
</VBox.margin>
<cursor>
<Cursor fx:constant="DEFAULT" />
</cursor>
</Button>
<Button mnemonicParsing="false" onAction="#callArticleUI" prefHeight="40.0" prefWidth="200.0" style="-fx-background-color: transparent; -fx-text-fill: #f0f0f0; -fx-font-size: 15;" styleClass="sideButtons" stylesheets="#../../css/styles.css" text="Artikel">
<VBox.margin>
<Insets top="10.0" />
</VBox.margin>
<cursor>
<Cursor fx:constant="DEFAULT" />
</cursor>
</Button>
<Button mnemonicParsing="false" onAction="#callOrderUI" prefHeight="40.0" prefWidth="200.0" style="-fx-background-color: transparent; -fx-text-fill: #f0f0f0; -fx-font-size: 15;" styleClass="sideButtons" stylesheets="#../../css/styles.css" text="Bestellung">
<VBox.margin>
<Insets top="10.0" />
</VBox.margin>
<cursor>
<Cursor fx:constant="DEFAULT" />
</cursor>
</Button>
</children>
</VBox>
<Button mnemonicParsing="false" onAction="#close" prefHeight="40.0" prefWidth="200.0" style="-fx-background-color: transparent; -fx-text-fill: #f0f0f0; -fx-font-size: 15;" styleClass="sideButtons" stylesheets="#../../css/styles.css" text="Schließen">
<VBox.margin>
<Insets top="10.0" />
</VBox.margin>
<cursor>
<Cursor fx:constant="DEFAULT" />
</cursor>
</Button>
</children>
</VBox>
</left>
</BorderPane>
Customer FXML:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.DatePicker?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.Separator?>
<?import javafx.scene.control.Tab?>
<?import javafx.scene.control.TabPane?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.RowConstraints?>
<TabPane prefHeight="720.0" prefWidth="1080.0" tabClosingPolicy="UNAVAILABLE" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.bachelorarbeit.gui.customer.CustomerController">
<tabs>
<Tab text="Kunde anlegen">
<content>
<AnchorPane prefHeight="200.0" prefWidth="200.0">
<children>
<GridPane prefHeight="691.0" prefWidth="771.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="313.857177734375" minWidth="10.0" prefWidth="122.5714111328125" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="556.2857055664062" minWidth="10.0" prefWidth="224.14288330078125" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="556.2857055664062" minWidth="10.0" prefWidth="142.85711669921875" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="556.2857055664062" minWidth="10.0" prefWidth="351.8571472167969" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="50.0" minHeight="50.0" prefHeight="50.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="50.0" minHeight="50.0" prefHeight="50.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="50.0" minHeight="50.0" prefHeight="50.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="50.0" minHeight="50.0" prefHeight="50.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="50.0" minHeight="50.0" prefHeight="50.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="50.0" minHeight="50.0" prefHeight="50.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="50.0" minHeight="50.0" prefHeight="50.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="50.0" minHeight="10.0" prefHeight="50.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="50.0" minHeight="50.0" prefHeight="50.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="286.4285888671875" minHeight="10.0" prefHeight="116.71429443359375" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label text="Bitte füllen Sie alle Angaben aus, um einen neuen Kunden anlegen zu können." GridPane.columnSpan="4" />
<Label text="Vorname:" GridPane.rowIndex="1" />
<Label text="Nachname:" GridPane.rowIndex="2" />
<Label text="E-Mail:" GridPane.rowIndex="3" />
<TextField fx:id="firstNameTextfield" GridPane.columnIndex="1" GridPane.rowIndex="1" />
<TextField fx:id="lastNameTextfield" GridPane.columnIndex="1" GridPane.rowIndex="2" />
<TextField fx:id="emailTextfield" GridPane.columnIndex="1" GridPane.rowIndex="3" />
<Label text="Geburtstag:" GridPane.rowIndex="4" />
<DatePicker fx:id="dateOfBirthPicker" prefHeight="25.0" prefWidth="250.0" GridPane.columnIndex="1" GridPane.rowIndex="4" />
<Label text="Stadt:" GridPane.rowIndex="5">
<GridPane.margin>
<Insets />
</GridPane.margin>
</Label>
<TextField fx:id="cityTextfield" GridPane.columnIndex="1" GridPane.rowIndex="5">
<GridPane.margin>
<Insets />
</GridPane.margin>
</TextField>
<Label text="Postleitzahl:" GridPane.columnIndex="2" GridPane.rowIndex="5">
<GridPane.margin>
<Insets left="20.0" />
</GridPane.margin>
</Label>
<TextField fx:id="postalCodeTextfield" maxWidth="100.0" GridPane.columnIndex="3" GridPane.rowIndex="5">
<GridPane.margin>
<Insets right="20.0" />
</GridPane.margin>
</TextField>
<Label text="Strasse:" GridPane.rowIndex="6" />
<TextField fx:id="streetTextfield" GridPane.columnIndex="1" GridPane.rowIndex="6" />
<Label text="Hausnummer:" GridPane.columnIndex="2" GridPane.rowIndex="6">
<GridPane.margin>
<Insets left="20.0" />
</GridPane.margin>
</Label>
<TextField fx:id="houseNumberTextfield" maxWidth="100.0" GridPane.columnIndex="3" GridPane.rowIndex="6" />
<Button mnemonicParsing="false" text="Anlegen" GridPane.rowIndex="8" />
</children>
<padding>
<Insets left="20.0" />
</padding>
</GridPane>
</children>
</AnchorPane>
</content>
</Tab>
<Tab text="Kunde bearbeiten / löschen">
<content>
<GridPane fx:id="bearbeitenGridPane" prefHeight="692.0" prefWidth="1080.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="82.0" minWidth="82.0" prefWidth="82.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="200.0" minWidth="200.0" prefWidth="200.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="85.0" minWidth="85.0" prefWidth="85.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="200.0" minWidth="200.0" prefWidth="200.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="85.0" minWidth="85.0" prefWidth="85.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="200.0" minWidth="200.0" prefWidth="200.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="50.0" minHeight="50.0" prefHeight="50.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="50.0" minHeight="50.0" prefHeight="50.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="20.0" minHeight="20.0" prefHeight="20.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="637.5714416503906" minHeight="10.0" prefHeight="590.4285583496094" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label text="An dieser Stelle können Kunden bearbeitet sowie gelöscht werden." GridPane.columnSpan="4">
<GridPane.margin>
<Insets left="20.0" />
</GridPane.margin>
</Label>
<TextField fx:id="firstNameSearchTextfield" GridPane.columnIndex="1" GridPane.rowIndex="1" />
<TextField fx:id="lastNameSearchTextfield" GridPane.columnIndex="3" GridPane.rowIndex="1" />
<TextField fx:id="emailSearchTextfield" GridPane.columnIndex="5" GridPane.rowIndex="1" />
<Label text="Vorname:" GridPane.halignment="RIGHT" GridPane.rowIndex="1">
<GridPane.margin>
<Insets left="20.0" />
</GridPane.margin>
<padding>
<Insets right="10.0" />
</padding>
</Label>
<Label text="Nachname:" GridPane.columnIndex="2" GridPane.halignment="RIGHT" GridPane.rowIndex="1">
<padding>
<Insets left="10.0" right="10.0" />
</padding>
</Label>
<Label text="E-Mail:" GridPane.columnIndex="4" GridPane.halignment="RIGHT" GridPane.rowIndex="1">
<padding>
<Insets left="10.0" right="10.0" />
</padding>
</Label>
<Button mnemonicParsing="false" stylesheets="#../../css/styles.css" text="Suchen" GridPane.columnIndex="6" GridPane.halignment="CENTER" GridPane.rowIndex="1">
<GridPane.margin>
<Insets />
</GridPane.margin>
</Button>
<Separator prefWidth="200.0" GridPane.columnSpan="7" GridPane.rowIndex="2" />
<TableView fx:id="customerTableView" stylesheets="#../../css/styles.css" GridPane.columnSpan="7" GridPane.rowIndex="3">
<GridPane.margin>
<Insets bottom="20.0" left="20.0" right="20.0" />
</GridPane.margin>
</TableView>
</children>
</GridPane>
</content>
</Tab>
</tabs>
</TabPane>
Home FXML:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.Separator?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.RowConstraints?>
<?import javafx.scene.text.Font?>
<AnchorPane prefHeight="720.0" prefWidth="1080.0" style="-fx-background-color: white;" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1">
<children>
<GridPane prefHeight="720.0" prefWidth="1080.0">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="195.42855834960938" minWidth="10.0" prefWidth="130.85711669921875" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="299.5714416503906" minWidth="10.0" prefWidth="268.14288330078125" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="130.0" minHeight="130.0" prefHeight="130.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="10.0" minHeight="10.0" prefHeight="10.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="50.0" minHeight="50.0" prefHeight="50.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="50.0" minHeight="50.0" prefHeight="50.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="50.0" minHeight="50.0" prefHeight="50.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="10.0" minHeight="10.0" prefHeight="10.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="50.0" minHeight="50.0" prefHeight="50.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="50.0" minHeight="50.0" prefHeight="50.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="10.0" minHeight="10.0" prefHeight="10.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="50.0" minHeight="50.0" prefHeight="50.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="50.0" minHeight="50.0" prefHeight="50.0" vgrow="SOMETIMES" />
<RowConstraints maxHeight="50.0" minHeight="50.0" prefHeight="50.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label text="Thema: " GridPane.columnSpan="4" GridPane.rowIndex="4">
<font>
<Font size="18.0" />
</font>
<GridPane.margin>
<Insets left="40.0" />
</GridPane.margin>
</Label>
<ImageView fitHeight="127.0" fitWidth="383.0" pickOnBounds="true" preserveRatio="true" GridPane.columnIndex="3" GridPane.halignment="CENTER">
<image>
<Image url="#../images/Ostfalia_LS_RGB_klein.jpg" />
</image>
<GridPane.margin>
<Insets top="20.0" />
</GridPane.margin>
</ImageView>
<Label text="Bachelorarbeit zur Erlangung" GridPane.columnSpan="4" GridPane.valignment="BOTTOM">
<font>
<Font name="System Bold" size="18.0" />
</font>
<GridPane.margin>
<Insets bottom="40.0" left="40.0" />
</GridPane.margin>
</Label>
<Label text="des akademischen Grades Bachelor of Science" GridPane.columnSpan="4" GridPane.valignment="BOTTOM">
<font>
<Font name="System Bold" size="18.0" />
</font>
<GridPane.margin>
<Insets bottom="10.0" left="40.0" />
</GridPane.margin>
</Label>
<Label text="Studiengang: " GridPane.columnSpan="4" GridPane.rowIndex="3">
<font>
<Font size="18.0" />
</font>
<GridPane.margin>
<Insets left="40.0" />
</GridPane.margin>
</Label>
<Label text="Hochschule: " GridPane.columnSpan="4" GridPane.rowIndex="2">
<font>
<Font size="18.0" />
</font>
<GridPane.margin>
<Insets left="40.0" />
</GridPane.margin>
</Label>
<Label text="Student:" GridPane.columnSpan="2" GridPane.rowIndex="6">
<font>
<Font size="18.0" />
</font>
<GridPane.margin>
<Insets left="40.0" />
</GridPane.margin>
</Label>
<Label text="XXX" GridPane.columnIndex="1" GridPane.columnSpan="3" GridPane.halignment="LEFT" GridPane.rowIndex="7" GridPane.valignment="TOP">
<font>
<Font size="18.0" />
</font>
<GridPane.margin>
<Insets />
</GridPane.margin>
</Label>
<Label text="Erstgutachter:" GridPane.columnSpan="2" GridPane.rowIndex="9">
<font>
<Font size="18.0" />
</font>
<GridPane.margin>
<Insets left="40.0" />
</GridPane.margin>
</Label>
<Label text="Zweitgutachter:" GridPane.columnSpan="2" GridPane.rowIndex="10">
<font>
<Font size="18.0" />
</font>
<GridPane.margin>
<Insets left="40.0" />
</GridPane.margin>
</Label>
<Label text="Abgabe:" GridPane.columnSpan="2" GridPane.rowIndex="11">
<font>
<Font size="18.0" />
</font>
<GridPane.margin>
<Insets left="40.0" />
</GridPane.margin>
</Label>
<Separator prefWidth="200.0" GridPane.columnSpan="4" GridPane.rowIndex="1">
<GridPane.margin>
<Insets left="20.0" right="20.0" />
</GridPane.margin>
</Separator>
<Separator prefWidth="200.0" GridPane.columnSpan="4" GridPane.rowIndex="5">
<GridPane.margin>
<Insets left="20.0" right="200.0" />
</GridPane.margin>
</Separator>
<Separator prefWidth="200.0" GridPane.columnSpan="4" GridPane.rowIndex="8">
<GridPane.margin>
<Insets left="20.0" right="200.0" />
</GridPane.margin>
</Separator>
<Label text="Hochschule für angewandte WissenschaftenHochschule Braunschweig/Wolfenbüttel" GridPane.columnIndex="1" GridPane.columnSpan="3" GridPane.rowIndex="2">
<font>
<Font size="18.0" />
</font>
</Label>
<Label text="Informatik Software Engineering" GridPane.columnIndex="1" GridPane.columnSpan="3" GridPane.rowIndex="3">
<font>
<Font size="18.0" />
</font>
</Label>
<Label text="Modellbasierte Entwicklung eines Order-To-Cash-Prozesses" GridPane.columnIndex="1" GridPane.columnSpan="3" GridPane.rowIndex="4">
<font>
<Font size="18.0" />
</font>
</Label>
<Label text="XXXX" GridPane.columnIndex="1" GridPane.columnSpan="3" GridPane.rowIndex="6">
<font>
<Font size="18.0" />
</font>
</Label>
<Label text="XX" GridPane.columnIndex="1" GridPane.columnSpan="3" GridPane.rowIndex="9">
<font>
<Font size="18.0" />
</font>
</Label>
<Label text="XX" GridPane.columnIndex="1" GridPane.columnSpan="3" GridPane.rowIndex="10">
<font>
<Font size="18.0" />
</font>
</Label>
<Label text="XX.07.2022" GridPane.columnIndex="1" GridPane.columnSpan="3" GridPane.rowIndex="11">
<font>
<Font size="18.0" />
</font>
</Label>
</children>
</GridPane>
</children>
</AnchorPane>
Does anyone have any idea why this happens?
Thanks in advance.
I'll post an answer, even though I have no answer.
I think your issue is a bug. I don't think it is a bug in your code.
It is likely a bug in ControlsFX, or it could be (much less likely) in the JavaFX CSS processor.
I was able to recreate your issue by taking your code and making modifications to allow it to run (e.g. adding imports, removing references to code that is not there, removing references to the missing CSS stylesheet, adding a module-info, adding an opens clause to allow controlsfx to access the scene, etc). To do this I used JavaFX 18 and JDK 18 on OS X (Intel). After that, it could run.
It did not reproduce the shifting button issue you mention.
However, it did produce warning messages in the console:
Jun 07, 2022 5:35:23 PM javafx.scene.CssStyleHelper calculateValue
WARNING: Could not resolve '-fx-text-background-color' while resolving lookups for '-fx-text-fill' from rule '*.label' in stylesheet jar:file:///Users/x/.m2/repository/org/openjfx/javafx-controls/18.0.1/javafx-controls-18.0.1-mac.jar!/com/sun/javafx/scene/control/skin/modena/modena.bss
Jun 07, 2022 5:35:23 PM javafx.scene.CssStyleHelper calculateValue
WARNING: Could not resolve '-fx-text-background-color' while resolving lookups for '-fx-text-fill' from rule '*.label' in stylesheet jar:file:///Users/x/.m2/repository/org/openjfx/javafx-controls/18.0.1/javafx-controls-18.0.1-mac.jar!/com/sun/javafx/scene/control/skin/modena/modena.bss
Jun 07, 2022 5:35:23 PM javafx.scene.CssStyleHelper calculateValue
WARNING: Caught 'java.lang.ClassCastException: class java.lang.String cannot be cast to class javafx.scene.paint.Color (java.lang.String is in module java.base of loader 'bootstrap'; javafx.scene.paint.Color is in module javafx.graphics#18.0.1 of loader 'app')' while converting value for '-fx-background-color' from rule '*.text-input' in stylesheet jar:file:///Users/x/.m2/repository/org/openjfx/javafx-controls/18.0.1/javafx-controls-18.0.1-mac.jar!/com/sun/javafx/scene/control/skin/modena/modena.bss
Jun 07, 2022 5:35:23 PM javafx.scene.CssStyleHelper calculateValue
WARNING: Caught 'java.lang.ClassCastException: class java.lang.String cannot be cast to class javafx.scene.paint.Color (java.lang.String is in module java.base of loader 'bootstrap'; javafx.scene.paint.Color is in module javafx.graphics#18.0.1 of loader 'app')' while converting value for '-fx-highlight-fill' from rule '*.text-input' in stylesheet jar:file:///Users/x/.m2/repository/org/openjfx/javafx-controls/18.0.1/javafx-controls-18.0.1-mac.jar!/com/sun/javafx/scene/control/skin/modena/modena.bss
Jun 07, 2022 5:35:23 PM javafx.scene.CssStyleHelper calculateValue
WARNING: Could not resolve '-fx-text-inner-color' while resolving lookups for '-fx-text-fill' from rule '*.text-input' in stylesheet jar:file:///Users/x/.m2/repository/org/openjfx/javafx-controls/18.0.1/javafx-controls-18.0.1-mac.jar!/com/sun/javafx/scene/control/skin/modena/modena.bss
Jun 07, 2022 5:35:23 PM javafx.scene.CssStyleHelper calculateValue
WARNING: Could not resolve '-fx-text-inner-color' while resolving lookups for '-fx-highlight-text-fill' from rule '*.text-input' in stylesheet jar:file:///Users/x/.m2/repository/org/openjfx/javafx-controls/18.0.1/javafx-controls-18.0.1-mac.jar!/com/sun/javafx/scene/control/skin/modena/modena.bss
Jun 07, 2022 5:35:23 PM javafx.scene.CssStyleHelper calculateValue
The above is just a snippet, hundreds of similar warnings were generated.
These indicate that the CSS system has been fundamentally broken because it is no longer resolving the mandatory looked-up colors it needs to render the scene correctly.
Nevertheless, it appeared to render OK to my screen. However, I wouldn't trust the application to continue working with so many serious warnings logged.
I removed all style values from your scene to see if they were causing some issue, but that didn't help.
I changed the validation code in the customer controller to:
ValidationSupport val = new ValidationSupport();
val.registerValidator(this.firstNameTextfield, Validator.createEmptyValidator("A"));
val.registerValidator(this.lastNameTextfield, Validator.createEmptyValidator("B"));
If you remove all but one of the validators (e.g. only register the validator "A" from the example I provided), then it works. It only fails when there are multiple validators (probably it needs to run a different code path to validate multiple fields).
I reverted the JavaFX version from 18 to 11 and it worked. So this issue is likely because of changes in later versions of JavaFX with which ControlsFX 11 is not compatible (I don't know what that would be). Because of that, I suggest that you file a bug report with ControlsFX (as previously suggested in the comments), you can link back to this question if you file an issue. If you file an issue, it will be more likely to be fixed if you provide a targeted minimal example when doing so (please read and understand the link again), as well as all version info, execution command text, build file, and console logs.
However, due to an unrelated, incompatibility of the earlier JavaFX version with later Mac OS X versions, when I switch to JavaFX 11, all text is garbled, so it is completely unusable, even though it no longer logs CSS processing errors due to adding the validation code.
Interestingly, the CSS warnings are only generated when the customer fxml is loaded into the center of the border pane that was loaded in your original main fxml. If you just set the customer fxml as the root of the scene, the error does not manifest (I don't know why this is). So you can probably work around this issue by a UI redesign (though it would be unfortunate to have to work around an issue like this in such a way).

VSCT menu items not showing

Visual Studio 2019 16.5.0 preview 1.
I'm trying to get my menu items to show up either in a group or on a different menu.
Currently the menu items show up in the View/Other Windows menu on visual studio if I point them to IDG_VS_WNDO_OTRWNDWS1, but if I try to point them to MyMenuGroup, they just don't appear. The code will run but the menu items never show up on the menu. If I try to point the buttons to IDM_VS_MENU_EXTENSIONS, it won't even compile, giving the error below:
Undefined 'Parent/#id' attribute 'IDM_VS_MENU_EXTENSIONS' in a <Button> element
Below is my code:
<Groups>
<Group guid="MyGroupMenuSet" id="MyMenuGroup" priority="0x0100">
<Parent guid="guidSHLMainMenu" id="IDG_VS_WNDO_OTRWNDWS1" />
</Group>
</Groups>
<Buttons>
<Button guid="My_ExtVS2019PackageCmdSet" id="cmdidMyWindowCommand" priority="0x0100" type="Button">
<!-- <Parent guid="guidSHLMainMenu" id="IDG_VS_WNDO_OTRWNDWS1" /> -->
<Parent guid="MyGroupMenuSet" id="MyMenuGroup" />
<Strings>
<ButtonText>My Main Window</ButtonText>
</Strings>
</Button>
<Button guid="My_ExtVS2019PackageCmdSet" id="cmdidMyOtherControlCommand" priority="0x0100" type="Button">
<!--<Parent guid="guidSHLMainMenu" id="IDG_VS_WNDO_OTRWNDWS1" />-->
<Parent guid="MyGroupMenuSet" id="MyMenuGroup" />
<Strings>
<ButtonText>My Other Window</ButtonText>
</Strings>
</Button>
</Buttons>
</Commands>
<Symbols>
<!-- This is the package guid. -->
<GuidSymbol name="My_ExtVS2019Package" value="{a28e16ed-f550-4cac-b087-f3728834a026}" />
<GuidSymbol value="{3d62bd83-4a3e-4e04-8ea8-800ea9316e90}" name="My_ExtVS2019PackageCmdSet">
<IDSymbol value="256" name="cmdidMyWindowCommand" />
<IDSymbol value="257" name="cmdidMyOtherControlCommand" />
</GuidSymbol>
<GuidSymbol value="{dd7dd38d-bf53-408e-baa4-c5c7c7774f19}" name="MyGroupMenuSet">
<IDSymbol value="4128" name="MyMenuGroup" />
<IDSymbol value="256" name="cmdidCommand1" />
</GuidSymbol>
</Symbols>
Any clue what's wrong with my code?
Currently the menu items show up in the View/Other Windows menu on
visual studio if I point them to IDG_VS_WNDO_OTRWNDWS1.
Button's parent should be a group type. And IDG_VS_WNDO_OTRWNDWS1 is one child group of IDG_VS_VIEW_DEV_WINDOWS, so it works as we expected.
But if I try to point them to MyMenuGroup, they just don't appear.
MyMenuGroup and IDG_VS_WNDO_OTRWNDWS1 also represent Group type. One group's parent should be one menu instead of a group, or it won't work. See my another issue here.
So if you want to use your custom group, you should use this structure in xx.vsct:
Button => MyMenuGroup(group) => one menu(menu) => IDG_VS_WNDO_OTRWNDWS1(group)
instead of: Button => MyMenuGroup(group) => IDG_VS_WNDO_OTRWNDWS1(group)
Workaround:
Change this part:
<Groups>
<Group guid="MyGroupMenuSet" id="MyMenuGroup" priority="0x0100">
<Parent guid="guidSHLMainMenu" id="IDG_VS_WNDO_OTRWNDWS1" />
</Group>
</Groups>
To:
<!--<Groups>
<Group guid="guidTestVSIXWindowPackageCmdSet" id="MyMenuGroup" priority="0x0600">
<Parent guid="guidSHLMainMenu" id="IDG_VS_WNDO_OTRWNDWS1"/>
</Group>
</Groups>-->
<Menus>
<Menu guid="guidTestVSIXWindowPackageCmdSet" id="MyMenu" priority="0x0100" type="Menu">
<Parent guid="guidSHLMainMenu" id="IDG_VS_WNDO_OTRWNDWS1"/>
<Strings>
<ButtonText>My Two Windows</ButtonText>
<CommandName>MyTwoWindows</CommandName>
</Strings>
</Menu>
</Menus>
<Groups>
<Group guid="guidTestVSIXWindowPackageCmdSet" id="MyMenuGroup" priority="0x0600">
<Parent guid="guidTestVSIXWindowPackageCmdSet" id="MyMenu"/>
</Group>
</Groups>
And don't forget to define the MyMenu in GuidSymbol :
<GuidSymbol value="{dd7dd38d-bf53-408e-baa4-c5c7c7774f19}" name="MyGroupMenuSet">
<IDSymbol value="4128" name="MyMenuGroup" />
<IDSymbol value="256" name="cmdidCommand1" />
<IDSymbol name="MyMenu" value="41" />
</GuidSymbol>
Then now VS can work to display your two windows in this way(View=>Other windows):
In addition: As for the Undefined IDM_VS_MENU_EXTENSIONS, I've post the feedback here. In my opinion, this could be one issue about the document or the build tools package, anyone interested in it can track the issue and get the latest info there.
Hope it helps:)

how to create a solution right click top-level menu with sub-level button?(visual studio extension)

Visual Studio Version: 2019
I'm follow adding a menu to the visual studio menu bar to create menus, it works, the menus will be display ubder Extensions menu. Now, I want to move these menus to solution context menu, so I changed Menu>Parent>id to IDM_VS_CTXT_SOLNNODE. But it doesn't working.
Before:
<?xml version="1.0" encoding="utf-8"?>
<CommandTable xmlns="http://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<Extern href="stdidcmd.h"/>
<Extern href="vsshlids.h"/>
<Commands package="guidVSIXProject1Package">
<Menus>
<Menu guid="guidVSIXProject1PackageCmdSet" id="TopLevelMenu" priority="0x700" type="Menu">
<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_SOLNNODE" />
<Strings>
<ButtonText>TestMenu</ButtonText>
<CommandName>TestMenu</CommandName>
</Strings>
</Menu>
</Menus>
<Groups>
<Group guid="guidVSIXProject1PackageCmdSet" id="MyMenuGroup" priority="0x0600">
<Parent guid="guidVSIXProject1PackageCmdSet" id="TopLevelMenu"/>
</Group>
</Groups>
<Buttons>
<Button guid="guidVSIXProject1PackageCmdSet" id="TestCommandId" priority="0x0100" type="Button">
<Parent guid="guidVSIXProject1PackageCmdSet" id="MyMenuGroup" />
<Icon guid="guidImages" id="bmpPic1" />
<Strings>
<ButtonText>Invoke TestCommand</ButtonText>
</Strings>
</Button>
</Buttons>
<Bitmaps>
<Bitmap guid="guidImages" href="Resources\TestCommand.png" usedList="bmpPic1, bmpPic2, bmpPicSearch, bmpPicX, bmpPicArrows, bmpPicStrikethrough"/>
</Bitmaps>
</Commands>
<Symbols>
<GuidSymbol name="guidVSIXProject1Package" value="{fdde7b56-2c13-4a0b-bb96-d0b1c712c674}" />
<GuidSymbol name="guidVSIXProject1PackageCmdSet" value="{23dc4a5e-5843-45cb-8b8b-c4a11184d73e}">
<IDSymbol name="MyMenuGroup" value="0x1020" />
<IDSymbol name="TestCommandId" value="0x0100" />
<IDSymbol name="TopLevelMenu" value="0x1021"/>
</GuidSymbol>
<GuidSymbol name="guidImages" value="{f1008c6c-6b78-4876-93d1-b84e9a83c010}" >
<IDSymbol name="bmpPic1" value="1" />
<IDSymbol name="bmpPic2" value="2" />
<IDSymbol name="bmpPicSearch" value="3" />
<IDSymbol name="bmpPicX" value="4" />
<IDSymbol name="bmpPicArrows" value="5" />
<IDSymbol name="bmpPicStrikethrough" value="6" />
</GuidSymbol>
</Symbols>
</CommandTable>
After:
<?xml version="1.0" encoding="utf-8"?>
<CommandTable xmlns="http://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<Extern href="stdidcmd.h"/>
<Extern href="vsshlids.h"/>
<Commands package="guidVSIXProject1Package">
<Menus>
<Menu guid="guidVSIXProject1PackageCmdSet" id="TopLevelMenu" priority="0x700" type="Menu">
<Parent guid="guidSHLMainMenu" id="IDG_VS_MM_TOOLSADDINS" /> <!--only change this id-->
<Strings>
<ButtonText>TestMenu</ButtonText>
<CommandName>TestMenu</CommandName>
</Strings>
</Menu>
</Menus>
<!--same with before-->
</CommandTable>
You should sets <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_SOLNNODE" /> in one group instead of one menu.
Change it from:
<Groups>
<Group guid="guidVSIXProject1PackageCmdSet" id="MyMenuGroup" priority="0x0600">
<Parent guid="guidVSIXProject1PackageCmdSet" id="TopLevelMenu"/>
</Group>
</Groups>
To:
<Groups>
<Group guid="guidVSIXProject2PackageCmdSet" id="MyMenuGroup" priority="0x0600">
<!--<Parent guid="guidVSIXProject2PackageCmdSet" id="TopLevelMenu"/>-->
<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_SOLNNODE"/>
</Group>
</Groups>
This will move your menu from Extensions top menu to Solution context(right-click solution).
But this also means you can't find the command from top-menu any more, if you want to make the command available both in Top-menu and Solution context, please consider using CommandPlacements.

VSIX/VSPackage: Solution Control Explorer context menu

I am having a lot of issues trying to understand how to get a submenu working in VisualStudio 2013's Solution Control Explorer, when creating a VSPackage project. I am able to add buttons, and that is great. However, I want to create the submenus such as the existing "Find" and "Advanced":
The code below is getting the two buttons in the menu list (as seen in the image/link above), but it does not show the submenu. I have tried to add buttons to the submenu, but it still does not show.
<Commands package="guidFirstPackagePkg">
<Menus>
<Menu guid="guidVSPackage3CmdSet" id="SubMenu" priority="0x0100" type="Menu">
<Parent guid="guidSourceControlExplorerMenuGroup" id="SourceControlExplorerMenuGroupId"/>
<Strings>
<ButtonText>Sub Menu</ButtonText>
<CommandName>Sub Menu</CommandName>
</Strings>
</Menu>
</Menus>
<!--Buttons section. -->
<Buttons>
<Button guid="guidVSPackage2CmdSet" id="cmdIdImport" priority="0x0100" type="Button">
<Parent guid="guidSourceControlExplorerMenuGroup" id="SourceControlExplorerMenuGroupId" />
<Strings>
<ButtonText>Import</ButtonText>
</Strings>
</Button>
<Button guid="guidVSPackage2CmdSet" id="cmdIdExport" priority="0x0100" type="Button">
<Parent guid="guidSourceControlExplorerMenuGroup" id="SourceControlExplorerMenuGroupId" />
<Strings>
<ButtonText>Export</ButtonText>
</Strings>
</Button>
</Buttons>
</Commands>
<Symbols>
<!-- This is the package guid. -->
<GuidSymbol name="guidFirstPackagePkg" value="{fd27b3da-39c0-486a-9900-652cb81b0744}" />
<GuidSymbol name="guidSourceControlExplorerMenuGroup" value="{ffe1131c-8ea1-4d05-9728-34ad4611bda9}">
<IDSymbol name="SourceControlExplorerMenuGroupId" value="0x1111" />
</GuidSymbol>
<GuidSymbol name="guidVSPackage2CmdSet" value="{1d975044-0a78-4e91-a6c2-2e841f4280e4}">
<IDSymbol name="cmdIdImport" value="0x0100" />
<IDSymbol name="cmdIdExport" value="0x0110" />
</GuidSymbol>
<GuidSymbol name="guidVSPackage3CmdSet" value="{C860DEF0-0A00-44BE-A8D9-393BACE1A44A}">
<IDSymbol name="SubMenu" value="0x1001"/>
</GuidSymbol>
</Symbols>
Any ideas of what I am doing wrong? Wrong linking, can I not use the same "SourceControlExplorerMenuGroupId" for menus, but only buttons?
I know a related post dealt with the addition of a button to the Solution Control Explorer, however, I was unable to replicated this for a Solution Control Explorer submenu:
Creating VSIX package for TFS Source control explorer context menu extension
Another reference I tried, but was not related to Solution Control Explorer:
Why isn't my vspackage's context menu showing
Your <Menus> code is fine.
Create a group with its parent guid and id matching your menu guid and id:
<Groups>
<Group guid="guidVSPackage3CmdSet" id="MyMenuGroup" priority="0x0600">
<Parent guid="guidVSPackage3CmdSet" id="SubMenu" />
</Group>
</Groups>
Then, just have your buttons be children of the group:
<Buttons>
<Button guid="guidVSPackage2CmdSet" id="cmdIdImport" priority="0x0100" type="Button">
<Parent guid="guidVSPackage3CmdSet" id="MyMenuGroup" />
<Strings>
<ButtonText>Import</ButtonText>
</Strings>
</Button>
<Button guid="guidVSPackage2CmdSet" id="cmdIdExport" priority="0x0100" type="Button">
<Parent guid="guidVSPackage3CmdSet" id="MyMenuGroup" />
<Strings>
<ButtonText>Export</ButtonText>
</Strings>
</Button>
</Buttons>

What is the "Organize Usings" menu ID in Visual Studio 2010?

I'm creating a Visual Studio 2010 extension using a Package template, not an Add-in.
I want to add a menu item to the "Organize Usings" menu group that appears when you right-click in a .cs file. To do this, I need the guid and the id of that menu group.
<Button guid="myCmdSet" id="myButton" priority="0x0100" type="Button">
<Parent guid="guidSHLMainMenu (I think?)" id="???" />
<Icon guid="guidImages" id="bmpPic1" />
<Strings>
<CommandName>myCommand</CommandName>
<ButtonText>Do Stuff</ButtonText>
</Strings>
</Button>
I have looked here and here and here. Basically all around MSDN. Are these published, and does anyone know what they are?
EDIT: I found the related menu via this method, but I still don't have a way to find the menu group GUID/ID, which is what I really want.
OMG, I've spend 3 hours on this :D Here's the solution:
<?xml version="1.0" encoding="utf-8"?>
<CommandTable xmlns="http://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<Extern href="stdidcmd.h"/>
<Extern href="vsshlids.h"/>
<Extern href="msobtnid.h"/>
<Commands package="guidVSPackage1Pkg">
<Buttons>
<Button guid="guidCSharpGrpId" id="mySuperCommand" priority="0x0200" type="Button">
<Parent guid="guidCSharpGrpId" id="IDG_CSHARP_CTX_ORGANIZE" />
<Icon guid="guidImages" id="bmpPic1" />
<Strings>
<CommandName>mySuperCommand</CommandName>
<ButtonText>My super command</ButtonText>
</Strings>
</Button>
</Buttons>
<Bitmaps>
<Bitmap guid="guidImages" href="Resources\Images_32bit.bmp" usedList="bmpPic1, bmpPic2, bmpPicSearch, bmpPicX, bmpPicArrows"/>
</Bitmaps>
</Commands>
<Symbols>
<!-- This is the package guid. -->
<GuidSymbol name="guidVSPackage1Pkg" value="{F066e284-dcab-11d2-b551-00c04f68d4db}" />
<GuidSymbol name="guidCSharpGrpId" value="{5d7e7f65-a63f-46ee-84f1-990b2cab23f9}">
<IDSymbol name="IDG_CSHARP_CTX_ORGANIZE" value="0x3618" />
<IDSymbol name="mySuperCommand" value="0x0100" />
</GuidSymbol>
<GuidSymbol name="guidImages" value="{cff24f4c-767f-48ee-aff4-6bdf8218cba0}" >
<IDSymbol name="bmpPic1" value="1" />
<IDSymbol name="bmpPic2" value="2" />
<IDSymbol name="bmpPicSearch" value="3" />
<IDSymbol name="bmpPicX" value="4" />
<IDSymbol name="bmpPicArrows" value="5" />
</GuidSymbol>
</Symbols>
</CommandTable>
You must place guidCSharpGrpId and IDG_CSHARP_CTX_ORGANIZE because they're not available in "standard" set of id's. By "standard" I'mean those placed in VisualStudioIntegration\Common\Inc directory within *.h files. They're hidden in cslangsvcui.dll library.
To get these ID's I've used VS Command Table PowerToy. You can download it from here:
http://archive.msdn.microsoft.com/VSCTPowerToy
Check this also as this thread:
http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/697245ac-1596-4d6a-b55c-f5b01b69a583
In case that this solution won't work for you because some guids, etc. I've put zipped project on my SkyDrive:
https://skydrive.live.com/#cid=6A19F3A9B7B8E017&id=6A19F3A9B7B8E017!16486
Hope this helps :)

Resources