标签: vsx

MVC T4 MvcTextTemplateHost和自定义"控制器"T4模板

我正在创建自己的自定义T4模板,该模板与我的MVC Web应用程序中包含的ADO.NET实体框架模型(.edmx文件)集成.

以供参考

请简要了解以下两个网址.

  1. Scott Hanselman - " T4 Code Generation Visual Studio Best Kept Secret "
  2. Visual Web Developer团队博客 - ASP.NET MVC开发人员快速入门指南

简要说明我想要实现的目标

使用T4引擎使用基于ADO.NET实体框架模型的主键的Action方法生成MVC Controller类.

我现在拥有什么

  1. MVC T4模板文件(例如,Controller.tt,Create.tt等...)已作为我的MVC Web项目的一部分包含在内.
  2. 我在" Models "文件夹中有一个ADO.NET Entity Framework MyModel.edmx文件.

基于Controller名称(例如"ProductController"),我想从ADO.NET Entity Framework模型中检索"Product"类的[System.Type]信息.我希望能够以与MVC View T4文件(例如Edit.tt)相同的方式检索System.Type信息,如下所示.

MvcTextTemplateHost mvcHost = (MvcTextTemplateHost) (Host);
Type type = mvcHost.ViewDataType;
Run Code Online (Sandbox Code Playgroud)

最终目标

我想创建控制器方法代码生成,以通过反射从ADO.NET实体框架类读取主键信息和等
,并
生成基本的CRUD操作和方法签名的编辑,详情,增加操作等...

我被困在哪里

但是,正如您可以从ASP.NET MVC开发人员快速入门指南中看到的那样,我无法检索Controller T4模板的[System.Type],因为MvcTextTemplateHost类仅公开用于创建MVC视图的ViewDataType属性. …

asp.net-mvc t4 vsx entity-framework visual-studio

4
推荐指数
1
解决办法
4545
查看次数

创建Visual Studio工具窗口 - VsAddin或VsPackage

简单的问题 - 我找到了两种向Visual Studio(2008)添加工具窗口的方法:创建插件或创建包.

(Addin:http://www.codeproject.com/KB/dotnet/vstoolwindow.aspx)
(包:http://msdn.microsoft.com/en-us/library/bb165051.aspx)

什么是"正确的"方式?

vsx visual-studio-addins visual-studio

4
推荐指数
1
解决办法
2402
查看次数

在VS2010扩展中不允许在WPF ToolWindow中拖放

我这里有一个奇怪的问题.我使用向导创建了一个简单的插件,用于带有工具窗口的Visual Studio集成包/ VSIX项目.在该窗口中,我想从列表框中进行简单的拖放操作并放在同一窗口中.我在普通的WPF程序中做了同样的事情,但是当我在WS工具窗口中执行此操作时,它是不允许的.我开始拖放操作(由PreviewMouseLeftButtonDown事件启动)并调用DragDrop.DoDragDrop()方法,我立即得到stop-sign-cursor.不允许拖动.

有任何想法吗?安全限制或这些WPF控件托管在ToolWindowPane和旧的Visual Studio IDE COM中的事实的影响我猜...感谢任何帮助!

wpf vsx visual-studio-2010 vsip

4
推荐指数
1
解决办法
1014
查看次数

如何在C#中实现代码折叠

我正在开始研究COBOL/BASIC IDE(取代我们目前从记事本上略微提升的那个).它将在C#中制作.管理层真的对实现一些Visual Studio类型的功能感兴趣,而一个重要的是代码折叠.我看过MSDN,但我没有看到任何折叠线的好方法(或添加展开/折叠按钮).

我假设文本区域应该是RichTextBox.我在这里偏离轨道吗?我想可以使用某种经过修改的TreeView来完成,但这对我来说似乎有点不对劲.有没有办法做到这一点,我只是失踪了?

c# vsx folding

4
推荐指数
2
解决办法
3393
查看次数

从Visual Studio MEF编辑器扩展访问项目系统

我正在使用VS 2010 SDK RC编写Visual Studio编辑器扩展.我希望能够弄清楚当前项目的参考是什么.如何访问与当前编辑器对应的项目?

有关编辑器扩展文档似乎不包含有关如何访问Visual Studio的非编辑器部分的信息.我做了一些搜索,看起来在VS2008中你可以编写可以访问项目系统的加载项,但我正试图从MEF编辑器扩展中获得这个功能.

.net vsx mef visual-studio

4
推荐指数
1
解决办法
1335
查看次数

如何传递/转出参数作为反射? - 视觉工作室可扩展性c#

我有一个out参数.是否可以将其作为反射转移?你能举几个例子怎么做吗?

c# parameters vsx extensibility visual-studio

4
推荐指数
1
解决办法
3070
查看次数

如何更改 Visual Studio 扩展中菜单命令的图标?

我发布了一个名为Duplicate Selection的 Visual Studio 2010 扩展,它主要通过热键调用。不过,它的“编辑”菜单下还有一个菜单项。这一切都很好,但我想更改菜单项的图标。菜单项的图标应该在 .vsct 文件中定义:

<Commands package="guidDupSelectionPkg">
    <Groups>
        <Group guid="guidDupSelectionCmdSet" id="MyMenuGroup" priority="0x0600">
            <Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_EDIT"/>
        </Group>
    </Groups>
    <Buttons>
        <Button guid="guidDupSelectionCmdSet" id="cmdidDupSelection" priority="0x0100" type="Button">
            <Parent guid="guidDupSelectionCmdSet" id="MyMenuGroup" />
            <Icon guid="guidCmdIcon" id="bmpCmdIcon" />
            <CommandFlag>DynamicVisibility</CommandFlag>
            <CommandFlag>DontCache</CommandFlag>
            <CommandFlag>DefaultInvisible</CommandFlag>
            <Strings>
                <CommandName>cmdidDupSelection</CommandName>
                <ButtonText>Duplicate Selection</ButtonText>
            </Strings>
        </Button>
    </Buttons>
    <Bitmaps>
        <!--<Bitmap guid="guidImages" href="Resources\Images_32bit.bmp" usedList="bmpPic1, bmpPic2, bmpPicSearch, bmpPicX, bmpPicArrows"/>-->
        <Bitmap guid="guidCmdIcon" href="Resources\cmdicon.bmp" usedList="bmpCmdIcon" />
    </Bitmaps>
</Commands>
<KeyBindings>
    <KeyBinding guid="guidDupSelectionCmdSet" id="cmdidDupSelection" key1="D" mod1="Alt" editor="guidVSStd97"/>
</KeyBindings>
<Symbols>
    <GuidSymbol name="guidDupSelectionPkg" value="{e5f7e157-f686-46b7-a588-85b08cdaa5f0}" />
    <GuidSymbol name="guidDupSelectionCmdSet" value="{85dcd5f2-19a5-4ee2-a99b-4fac4dc5c4ca}">
        <IDSymbol name="MyMenuGroup" …
Run Code Online (Sandbox Code Playgroud)

vsx visual-studio-2010 vsix

4
推荐指数
1
解决办法
2513
查看次数

如何让IVsBuildableProjectCfg订阅构建事件?

我试图得到一个IVsBuildableProjectCfg对象的实例,但我不知道如何得到它.

我目前可以IVsHierarchy毫无问题地获得DTE项目和/或代表每个活动项目的对象.你如何获得IVsBuildableProjectCfg每个项目的实例?

理想情况下,我想挂钩每个项目的构建事件,以了解每个构建是否成功,以及挂钩到解决方案以查看整个构建是否被触发.

(我也尝试过使用DTE2.BuildEvents,但是当我运行调试器时,我的处理程序永远不会触发.)

谢谢!

vsx events build visual-studio-2010 vspackage

4
推荐指数
1
解决办法
965
查看次数

如何为 *.vsct 文件中的工具栏定义 SplitDropDown 或 MenuButton?

我按照定义工具窗口工具栏这个步行通过描述

将新按钮添加到工具栏,并将它们连接到我的包中的代码,没有问题并且工作正常(所以我不是在寻找有关如何添加简单按钮的信息)。我看到还有其他按钮类型,例如SplitDropDownMenuButton。两者都完全符合我的要求。但是我找不到任何关于如何以正确的方式定义子菜单的信息,我所有的实验都失败了。

这是我的按钮定义:

<Button guid="guidVsCmdSet" id="cmdIdSplitDowndown" priority="0x106" type="SplitDropDown">
  <Parent guid="guidVsCmdSet" id="VsToolbarGroup" />
  <Icon guid="guidImages" id="bmpPic2" />
  <CommandFlag>IconAndText</CommandFlag>
  <Strings>
    <CommandName>cmdIdSplitDropdown</CommandName>
    <ButtonText>Goto Next</ButtonText>
  </Strings>
</Button>
Run Code Online (Sandbox Code Playgroud)

我想添加一个SplitDropDown具有一些预定义/静态子项的按钮。我想按钮的视觉外观看起来像 Visual Studio 的“向后导航”按钮。这就是我正在努力实现的目标。

有谁知道一个SplitDropDown按钮的定义,有一个子菜单,会是什么样子?

sdk vsx vsix visual-studio-extensions visual-studio-2012

4
推荐指数
1
解决办法
1288
查看次数

从 Visual Studio 扩展中的 ProjectItem 获取 Roslyn SemanticModel

我正在编写一个 Visual Studio 2015 扩展,它查看用户右键单击的类的内容。

我已经得到了ProjectItem,但是你如何从中得到SemanticModel( 和) 呢?SyntaxTree

我需要查找文件中声明的某些类型的属性。我编写了一个代码分析器,它可以为您提供SemanticModel上下文,但我不知道如何在这里获取它。搜索没有发现任何有用的东西。我已经找到了如何SyntaxTree通过读取文件内容来解析 ,但对于SemanticModel. 理想情况下,我会连接到 VS 已经为该文件构建的模型。

c# vsx visual-studio roslyn visual-studio-2015

4
推荐指数
1
解决办法
967
查看次数