MSDN > 論壇首頁 > Visual Studio Extensibility > Flavored Project: How to always add a custom project item to a certain folder
發問發問
 

已答覆Flavored Project: How to always add a custom project item to a certain folder

  • 2009年7月1日 下午 08:42Kenny Chinn 使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     
    Hello,
      In my flavored I have folders for each of my custom project items that I have created and when one of my custom project items are added to the project I want to them always be added to the correct folder. What is the best way to go about doing this? For example I have a item named "MyItem" so it should be added to the "MyItems" folder even if the user right clicks on the project node and adds the item from there.

    Thanks
    Kenny

解答

  • 2009年7月1日 下午 10:24Rusty Deschenes版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     已答覆
    Hi Kenny,

    One option would be to listen to item added (and potentially rename) events and when those happen do your filtering and if the item needs to be somewhere else leverage the cut and paste commands to move it to the folder where you want it to be.

    An alternative would be to overwrite all the code path that can cause items to be added (and this assume the the project you are flavoring doesn't ever add anything through internal method which you can't overwrite) and do the filtering at that point. A good starting point for that would be to control the automation objects.

    Rusty

所有回覆

  • 2009年7月1日 下午 10:24Rusty Deschenes版主使用者勳章使用者勳章使用者勳章使用者勳章使用者勳章
     已答覆
    Hi Kenny,

    One option would be to listen to item added (and potentially rename) events and when those happen do your filtering and if the item needs to be somewhere else leverage the cut and paste commands to move it to the folder where you want it to be.

    An alternative would be to overwrite all the code path that can cause items to be added (and this assume the the project you are flavoring doesn't ever add anything through internal method which you can't overwrite) and do the filtering at that point. A good starting point for that would be to control the automation objects.

    Rusty