为自定义设计器编写 Visual Studio 扩展

2024-01-10

所以,我有一些我想尝试的东西。我的想法是拥有一个作为 Visual Studio 扩展的视觉设计器,我希望能够拖出事件处理程序并连接行为,任何曾经玩过《魔兽争霸 III》脚本编辑器的人都会很清楚我的意思。我想做。这种事情可以在 Visual Studio 扩展工具中轻松处理吗?如果是这样,我应该从哪里开始学习如何做到这一点?


使用 Visual Studio 扩展性工具绝对可以实现。您需要创建一个 VS 包。您可以使用几种不同的机制(宏、加载项和包)来扩展 Visual Studio,但包是迄今为止最强大的。更具体地说,您应该研究创建“自定义编辑器/设计器” http://msdn.microsoft.com/en-us/library/bb166329.aspx.

如果您尚未下载 Visual Studio 2010 SDK,则需要下载。有一个很棒的向导用于创建新的 VS 包,它甚至会生成一个示例“自定义编辑器”,您可以将其用作自定义设计器的起点。我建议通读向导生成的代码,直到您真正理解它为止。有一个lot正在发生的事情,所以可能需要一段时间。如果你想要一本书来入门,我找到的几乎唯一一本书是专业的 Visual Studio 扩展性 https://rads.stackoverflow.com/amzn/click/com/0470230843,但是互联网上还有其他很好的资源。我用过的几个是MSDN http://msdn.microsoft.com/en-us/vstudio/vextend.aspx and DiveDeeper 的 VSX 博客 http://dotneteers.net/blogs/divedeeper/default.aspx。可能最好的开始方法是阅读来自 VSX 团队的代码示例 http://code.msdn.microsoft.com/vsx,他们甚至还有大约 10-15 个与自定义编辑器相关的示例!

祝你好运!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为自定义设计器编写 Visual Studio 扩展 的相关文章

  • DLL 中的 XP 风格组合框

    我需要使用 C 和 WIN32 API 无 MFC 在 DLL 中创建 XP 风格的组合框 我设法在 DLL 中创建控件 不是以 XP 风格 我设法在带有清单的 exe 中创建 XP 样式组合框 但它在 DLL 中不起作用 为了让您的 DL
  • csproj 文件 Visual Studio 中的重复文件

    不知何故 我在解决方案中看到重复的文件 我深入研究后发现 不知何故 某些文件有两个条目 csproj文件 这就是为什么显示的两个文件实际上是一个文件 我必须找到所有文件 csproj文件 有没有什么简单的方法可以删除这些条目csproj 还
  • 为什么必须使用“out”而不是ref?

    我写了一些关于 ref out 声明的代码块 我认为 ref 最有用 好的 为什么我需要用完 我每次都可以使用always ref namespace out ref class Program static void Main strin
  • aspx/ascx 文件中的 Visual Studio TODO 注释是否可以出现在任务列表中?

    我们使用 Visual Studio 2008 开发 asp net Web 表单 为了获得多语言支持 我们翻译所有文本 然而 在设计时 我们通常只是输入英文文本 然后再返回翻译 否则会中断工作流程 我在选项中添加了 ToTranslate
  • Visual Studio 生成后事件 MT.exe 命令失败,代码为 9009

    您好 我正在构建后事件中运行以下命令 C Program Files Microsoft SDKs Windows v7 0A bin mt exe manifest ProjectDir TargetName exe manifest u
  • VS 2017 - 调试时非常慢(滞后)

    当我调试我的解决方案时 vs 2017 非常滞后且缓慢 就像它必须在后台运行一些繁重的操作一样 所以它每5秒就停止 响应 2秒 这很烦人 有什么建议么 编辑 尝试过的建议 浏览器链接已关闭 已停止客户反馈 经过一些额外的调查后我发现了这个t
  • 传统 n 层设计中具有多个项目的 Git 存储库的最佳实践

    我正在从集中式 SCM 系统切换到 GIT 好吧 我承认是哪一个 它是 Visual SourceSafe 因此 除了克服 Git 命令和工作流程的学习曲线之外 我目前面临的最大问题是如何将我们当前的存储库迁移到 Git 对于单个存储库或多
  • 从赋值运算符函数调用复制构造函数

    我有一个指向动态分配数组的类 因此我创建了复制构造函数和赋值运算符函数 由于复制构造函数和赋值运算符函数执行相同的工作 因此我从赋值运算符函数调用复制构造函数 但得到 error C2082 redefinition of formal p
  • 在哪里可以找到漂亮的 Dark ReSharper(颜色标识符 = 打开)主题?

    我还没有遇到过任何像样的深色 Visual Studio 2008 颜色主题 支持锐锐 http www jetbrains com resharper s 颜色标识符打开 有出版过的吗 我创建了一个深色主题 它使用 Resharper 提
  • CMake、Exe找不到DLL

    所以我尝试在 Windows 上使用 cmake 设置一个项目 这就是我的项目结构 游戏引擎 git build include source testing CMakeLists txt 这个想法是 source 目录包含 GameEng
  • 为什么 Visual Studio 格式文档工具将标题标签放在两行上?

    所以如果我有一个像这样的 HTML 标题 h2 A Heading h2 我跑Edit gt Format Document它最终看起来像这样 h2 A Heading h2 为什么是这样 它不会对其他块元素执行此操作 但会对其他内联元素执
  • 在 Visual Studio 2019 中组织 C# 使用?

    我分配了一个用于删除和排序用途的键盘快捷键 但是我想知道是否可以在保存或格式化文档时组织用途 I m using Power Commands https marketplace visualstudio com items itemNam
  • Microsoft.Build.Evaluation.Project 在 VS 中添加项目的文件夹和文件强制刷新

    我正在创建一个应用程序 它将向 Visual Studio 中加载的现有项目添加一些文件和文件夹 这可行 但它总是会弹出一条消息 告诉用户 我 刷新项目以显示新文件 使用实体框架并添加迁移时 它会将文件添加到当前加载的项目中 并且不会询问用
  • 如何在 Visual Studio 2008 中设置 SSRS ConsumeContainerWhitespace 属性?

    我正在尝试设置ConsumeContainerWhitespace使用 Visual Studio 2008 中的报表设计器 但我在 GUI 中找不到该属性 由于我找不到它 我想知道这是否是 VS 2010 的新功能 是否可以在 VS 20
  • 什么是数据断点?

    我刚刚才知道有data断点 过去 5 年我一直使用 Visual Studio 从事 C 工作 但从未使用过数据断点 有人可以阐明什么是数据断点 何时使用它们以及how与 VS 一起使用它们 根据我的理解 当我们想要检查变量值的更改时 我们
  • 为什么某些 dll 静态链接存根库(导入库)如此大?

    我在链接到 pcl 点云库 时注意到 一些 dll 存根库的大小超过 10MB 而 dll 本身的大小还不到该大小的一半 这些是发布版本 难道存根库不应该只包含最少的信息以便可以访问 dll 信息吗 怎么会比他们引用的dll文件大呢 对我来
  • 如何在解决方案根目录添加“src”文件夹

    这听起来像是一个愚蠢的问题 但 Visual Studio 似乎不允许我做这个我一直在 github 上看到的简单组织 我从新的空解决方案开始 然后我想添加一个 src 文件夹 其中将包含多个项目 如果我右键单击并选择 添加文件夹 VS 将
  • 如何自动将VS2003类转换为部分Designer.cs文件?

    我正在将项目从 Visual Studio 2003 升级到 2008 并希望自动生成XXX Designer cs文件并更新相应的XXX cs原版的 有什么自动的方法吗 UPDATE 我指的是WinForms 当然 我知道旧样式有效 但我
  • 如何在没有 Visual Studio 的情况下将新文件添加到 .csproj 文件

    如何添加新文件到 csproj从命令提示符 我认为没有任何工具可以响应命令行上的 add project 命令来执行此操作 但我认为您可以幸运地创建一个程序 脚本来直接操作 csproj 文件的 XML 内容 csproj 文件的结构如下所
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同

随机推荐

  • 处理文件名中的特殊字符时批量重命名问题

    我在 c files 中有数百个 mp3 文件 里面有所有可以想象到的文件名 例如 milad mp3 表现良好 嘿你 mp3 文件名中有空格 systemofadown mp3 长文件名 howdy 1 mp3 文件名中的括号 以及最后三
  • 将空图添加到构面,并与另一个构面组合

    Using this SO solution https stackoverflow com questions 30372368 adding empty graphs to facet wrap in ggplot2 I created
  • 可复制的 Coldfusion SQL 异常

    每当 CF 抛出错误时 我都会收到一封包含所有异常信息的电子邮件 每次涉及数据库错误时 我都会得到 SQL WHERE 和 QueryError 信息 这很好 SQL SELECT FooID FROM FooTable WHERE Foo
  • 从会话 Codeigniter 中回显用户

    我是 codeigniter 的新手 我已经实现了一个简单的登录系统 我想在我的视图页面上打印存储在会话中的用户名 这是我的控制器 class LoginController extends CI Controller function i
  • 通过触摸跳转 Unity C#

    我在 Unity C 上编写游戏 这是简单的跑步者 我有 Platformer2DUserControl 脚本 就这个 using UnityEngine using UnitySampleAssets CrossPlatformInput
  • 什么是编程语言? [复制]

    这个问题在这里已经有答案了 可能的重复 什么是计算机编程语言 https stackoverflow com questions 1325686 what is a computer programming language 不完全是 我一
  • 静态 Linkedhashmap 还是 Sharedpreference?

    Android 应用程序具有两种在活动之间传递数据的解决方案 请不要意图额外 public class A public static LinkedHashMap
  • 如何在jquery中右键单击添加dbclick()

    您好 我想在右键单击时使用 dblclick 因为谷歌地图必须放大和缩小 有什么办法可以做到这一点吗 我已经编写了 dblclick 但现在它只需要左键单击即可工作 有关如何执行此操作的任何指示 这是我的代码 div demo1 dblcl
  • Swift 仅针对某些错误类型组合重试

    我有一个自定义管道 我想对一些可恢复的错误代码进行 3 次重试 并且我想为可恢复的错误添加一些短暂的延迟 有人知道我该怎么做吗 func createRequest for message Message gt AnyPublisher
  • 编译期间未包含在目标中的 .h 文件会发生什么情况?

    我有一个 Common h 文件 其中存储了在我的项目中重复使用的所有字符串 namespace Common static const std string mystring IamAwesum 因此 在任何需要特定字符串的文件中 我都包
  • 哪些 std::async 实现使用线程池?

    使用的优点之一std async而不是手动创建std thread对象应该是std async可以在幕后使用线程池来避免超额订阅问题 但是哪些实现可以做到这一点呢 我的理解是微软的实现确实如此 但是其他的呢 async实施 Gnu 的 li
  • 使用 MapReduce 实施 PageRank

    我正在尝试解决使用 MapReduce 实现 PageRank 的理论问题 我有以下具有三个节点的简单场景 A B C 邻接矩阵在这里 A B C B A 例如 B 的 PageRank 等于 1 d N d PR A C A N numb
  • Matlab 中打印函数的 Ghostscript 错误

    我正在尝试使用 Matlab 保存图像print功能 myImage magic 500 myFigure figure visible off r 1 set myFigure PaperUnits inches PaperPositio
  • 业务对象、验证和异常

    我一直在阅读一些有关异常及其使用的问题和答案 似乎有一种强烈的观点认为 仅应针对异常 未处理的情况提出异常 因此 这让我想知道验证如何与业务对象一起工作 假设我有一个业务对象 其中包含对象属性的 getter setter 假设我需要验证该
  • 我正在尝试创建一个情节性的旭日图,但收到错误消息:“dtype:对象,”不是叶子。

    我正在尝试创建一个旭日图 其中不同的行具有不同的长度 并收到错误消息 dtype 对象 不是叶子 我读过这篇文章 请注意 None 条目的父项必须是叶子 即它不能有除 None 之外的其他子项 否则会引发 ValueError 在情节页面上
  • gulp-filter 过滤掉所有文件

    我正在努力将我的工作流程转移到 Gulp 到目前为止我很喜欢它 然而 我似乎误解了 gulp filter 插件的工作原理 我有以下任务 gulp task assets function var stylesFilter gulpFilt
  • YAML 中的管道符号有什么用?

    我是 yaml 新手 我对用于多行的管道符号 有疑问 YAML 是否有类似于下面的语法 test 6 在下面的两个 YAML 文件中 第一个有效 第二个无效 我不知道是什么原因造成的 第一个文件 Name testing val1 seco
  • 将一个 TForm 嵌入另一个 TForm 时如何避免出现问题?

    我经常嵌入一个TForm后代成为另一个TForm后代是这样的 var Form1 TForm1 Form2 TForm2 begin Form2 Parent Form1 Form2 BorderStyle bsNone Form2 Ali
  • AS400 角色扮演模拟器

    我有一个迫切的需求 从java调用一个RPG程序 正如本文中所建议的从 Java 访问 iSeries 上的 RPG https stackoverflow com questions 184864 accessing rpg on ise
  • 为自定义设计器编写 Visual Studio 扩展

    所以 我有一些我想尝试的东西 我的想法是拥有一个作为 Visual Studio 扩展的视觉设计器 我希望能够拖出事件处理程序并连接行为 任何曾经玩过 魔兽争霸 III 脚本编辑器的人都会很清楚我的意思 我想做 这种事情可以在 Visual