Creating new item type

How would I create a custom item type I want to allow the creation of assembly (.asm) files in my project and I cant figure out how to do this, so I thought a custom type would work.

Thank you.



Answer this question

Creating new item type

  • fbiots

    Then all you need is to give your package a ProvideProjectItem attribute with the Guid of your ProjectFactory class and where to look for the templates.

  • ExtinctPencil

    Jonathan Davlin wrote:
    Then all you need is to give your package a ProvideProjectItem attribute with the Guid of your ProjectFactory class and where to look for the templates.

    How do I do this I don't quite understand what you're saying... is there a link where I can read on this


  • Julian V

    Well yes I can have .asm files in my project already by going to "Add Existing Item..." and I created a custom build rule to assemble with NASM (since I prefer it over MASM). So I just need a way to "Add new Item..." and create an ASM file... the project knows what to do from there.
  • Anthony M

    You just put the attribute on your package class, with a path to your template for an ASM file. If you wanted to add to the C# project type it would pass the GUID from here on your machine:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Projects\{FAE04EC0-301F-11d3-BF4B-00C04F79EFBC}

    If you are adding to your own flavored project or custom project, you would use its GUID instead. For each kind of project you want ASM files available to, you add another instance of this attribute.

    The atribute itself is just a registration attribute. Looking at the key above you will see the values it is setting that VS uses when it brings up the add item dialog, as well as all the project types that exist in VS (browsing the registry can teach you a lot about the VSIP sdk, as much as the samples, so learn it and love it). If you need super-custom processing, the directory could just contain a template that launches an item wizard, which itself can open vsz file based wizards, or whatever you want, really.



  • Bjorn EP Backlund

    You can either associate an Editor with it, as in the XMLDesigner and SampleDocViewer samples and the associated factories if you wish or you can simply create a vstemplate file and put it in the correct location for whichever project you wish to allow them to be added to.

    Obviously VS isn't going to know what to do with the file though. If you want to embed it as executable code, you should start with the IronPython example for the integration/editing you want. If you were working with C# or VB you could then the play with the build task file somehow, but I know diddly about the build mechanism for C++ projects (but you can already add ASM to them, right )

    I don't know, it just depends on why you want the files in the first place.



  • Creating new item type