为自定义设计器编写 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 扩展 的相关文章

随机推荐

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

    我在 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