开发一个guidance package的步骤如下:

  • 定义 recipes ,包括定义参数(arguments), 向导页面(wizards) 和 所执行的操作(actions)
  • 定义 Visual Studio 模板文件(Template)。
  • 设计 actions 。
  • 书写参数类型编辑器和转换器,即editors 和 converters 。
  • 定义 T4 模板 (如果一个 action 需要使用 T4 template 生成代码) 。
  • 测试 package。
  • 绑定 package 安装文件。

一个guidance package 包含下面的部分或者全部的文件:

  • Guidance package 配置文件(是一个XML文档,必须)
  • Visual Studio 模板文件(可使用VS自动生成,然后对生成的模板再做稍微更改即可)
  • T4 模板(以.T4结尾,用于生成代码)
  • 一些DLL文件,包括 actions, type editors, value providers和type converters (建议使用单一的DLL)

 

以下是一份Guidance package 配置文件,其中有注释:

 

<?xml version="1.0" encoding="utf-8" ?>
<GuidancePackage xmlns="http://schemas.microsoft.com/pag/gax-core"
    Name
="这里是Guidance package的名字" 
    Caption
="这里是标题"
    Description
="这里是描述"
    Guid
="51FCD4D0-B90C-4f11-B868-E9D71D8B7746" 
        BindingRecipe
="BindingRecipe"
    SchemaVersion
="1.0">
    
<Recipes>
        
<Recipe Name="这里是Recipe 名" Bound="是否有限制可以是true或false" Recurrent="执行后是否重新呈现,可以是true或者false">
            
<Caption>这里是Recipe 标题</Caption>
            
<Description>这里是Recipe 的描述.</Description>
            
<HostData>
                
<Icon ID="1046"/>
                
<CommandBar Name="这里是该Recipe 可以绑定的位置,可供选择的有Solution,Solution Folder,Solution Add,Solution Folder Add,Project,Project Add,Folder,Item,Web Project,Web Item,Web Folder"/>
            
</HostData>         

<GatheringServiceData>
            
<Wizard xmlns="http://schemas.microsoft.com/pag/gax-wizards" SchemaVersion="1.0">
                
<Pages>
                    
<Page>
                        
<Title>这里是Page的标题</Title>
                        
<LinkTitle>这里是收集参数的向导页面的左侧显示的标题</LinkTitle>
                        
<Fields>
                            
<Field ValueName="参数名" Label="显示名"  
                                InvalidValueMessage
="无效输入时显示的信息.">
                                
<Tooltip>提示信息</Tooltip>
                            
</Field>                           

                        
</Fields>
                    
</Page>

                
</Pages>
            
</Wizard>
        
</GatheringServiceData>

<Actions>
                
<Action 
                    
Name="Action名" 
                    Type
="HoLPackage.Actions.HelloWorldAction, HoLPackage" />
            
</Actions>
        
</Recipe>

</Recipes>
</GuidancePackage>
posted on 2007-06-02 13:35  圣炎¢天乐  阅读(878)  评论(1编辑  收藏  举报