Microsoft 开发人员网络 > 论坛主页 > 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日 20: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日 22: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日 22: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