Visual Studio 2008 插件/加载项开发 - 入门

2023-11-25

和---关联这个计算器问题,我将如何创建自己的 Visual Studio 2008 插件?

我查看了 MSDN 上的 Visual Studio 开发人员中心,但信息量巨大。项目类型繁多,我什至不知道从哪里开始。

我应该从哪里开始寻找如果我想写一些满足以下要求的东西:

  1. 一个在 Visual Studio 中像“服务”一样运行的插件,能够轮询 Visual Studio 以获取信息,并处理 Visual Studio 事件。
  2. 我想从 VS 访问的信息包括当前打开的项目、谁打开的项目以及其他基于解决方案/项目文件的信息。
  3. 我希望能够处理的事件包括打开/关闭/编辑/创建/删除解决方案/项目/单个文件。
  4. 我还希望能够在每个解决方案的基础上处理与 VS 的任何交互。因此,我想处理与文件的任何交互,甚至是代码编辑,而且还可以处理其他交互,例如与菜单的交互,或者只是 IDE 本身的交互。

除了这些之外,我还希望能够在某个地方存储数据。这通常在哪里完成?我可以将元数据添加到解决方案文件中吗?或者,将此信息保存到以某种方式附加到解决方案的小型本地数据库实例是否有意义?

我只需要朝着正确的方向推动这有可能吗?我应该关注 Visual Studio 开发人员中心的哪一部分?我应该检查哪些 API?

cheers!


加载项可以完成大部分工作。 VS2008 中有一个用于创建基本加载项的模板。

我有一个插件,您可以下载该插件,它可以连接到解决方案/项目加载事件等 - 它是免费的,并附带源代码(http://www.huagati.com/projectloader/download/huagatiprojectloader.zip)。这个特定的加载项会检测项目/解决方案何时加载并预加载引用的程序集,以解决可能导致 VS2008 崩溃的 CLR 错误。不管怎样,它的源代码展示了如何检测您正在寻找的一些事件。

除此之外,有关插件开发以及涉及的所有小怪癖和技巧的权威资源是 Carlos Quintero 的博客 (http://msmvps.com/blogs/carlosq/)以及他网站上的“howto”文章系列(http://www.mztools.com/resources_vsnet_addins.aspx ).

克雷格·斯基博的博客 (http://blogs.msdn.com/craigskibo/)还有一些有用的提示。

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

Visual Studio 2008 插件/加载项开发 - 入门 的相关文章

  • 实际 VS2017 Enterprise 中的 VS Code 小地图? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 VS2017 在我的例子中是企业版 是否有 Visual Studio Code 今年添加的迷你地图功能
  • Visual Studio 2015 中的 React 没有智能感知

    我没有看到任何 ReactJS 的智能感知 例如像这样的方法React createClass虽然我看到 references js文件位于根文件夹 这 references js文件有各种 React js 文件的帮助参考 我的react
  • 缺少嵌入互操作类型属性

    在一个 C 项目中 我收到以下警告 警告 CS1762 创建了对嵌入式互操作程序集 Interop SomeLibrary dll 的引用 因为间接引用了程序集 ALibraryOfMine dll 创建的该程序集 考虑更改任一程序集的 嵌
  • 防止控制台应用程序中的内存工作集最小化?

    我想防止控制台应用程序中的内存工作集最小化 在Windows应用程序中 我可以这样做覆盖 SC MINIMIZE 消息 http support microsoft com kb 293215 en us fr 1 但是 如何在控制台应用程
  • 无法访问 GitLab:SSL 证书已过期

    在 Visual Studio 中 我尝试从 GitLab 上的存储库中提取一些更改 但它给了我一个错误 Git 因致命错误而失败 无法访问https gitlab git SSL证书问题 证书已过期 如何生成新证书并将其添加到 VS 中
  • 模块化大型 Grails 应用程序的最佳实践?

    我正在开发的 Grails 应用程序变得相当大 最好将其重构为几个模块 这样我们就不必每次都重新部署整个事情 将 Grails 应用程序拆分为多个模块的最佳实践是什么 特别是 我想创建一个域类 相关服务的包 并将其作为模块在应用程序中使用
  • 如何编写 sbt 插件来通过代理启动应用程序

    我想在开源之前为我的项目创建一个 sbt 插件 该项目在应用程序运行开始时附加一个 Java 代理 以对其进行各种类型的分析 代理写出文本文件以供以后处理 我希望能够编写一个 sbt 插件 有一个替代方案run called runWith
  • 在 Visual Studio 中显示可能的和弦延续

    Visual Studio 带或不带插件 有许多和弦键 我所说的 和弦 是指连续按几次 比如 Format Document Ctrl D F Extract Method resharper Ctrl R Ctrl M 当我按下第一个组合
  • 多个“设置启动项目”配置

    我有一个大的解决方案 出于调试目的 我必须使用 Visual Studio 2012 的 设置启动项目 功能来启动许多项目 但是 我经常需要更改需要启动的项目 有时是项目 A B C 有时项目 B C D 等 有人知道这样的扩展吗 看看Sw
  • 如何获取 3G 调制解调器的 IP 地址?

    我的 GPRS 调制解调器有一张 SIM 卡 它可以连接Web Web 服务给它一个 IP 号码 我需要它 像那样 http www your ip address com http www your ip address com 我怎样才
  • 使用自定义 cordova 插件未找到类异常

    我正在开发一个打印应用程序 它使用自定义 API 通过 USB 访问打印机 因此我需要一个自定义 Cordova 插件 我开始开发它 这是一个非常好的挑战 但目前也非常令人沮丧 因为我不明白为什么我的插件不能正确使用 事情是 1 插件安装正
  • 通过开源 PCL 使用 API 查看 3D 点云

    我使用 ToF 飞行时间 相机来获取 XYZ 格式的深度数据 为了实现 3D 点云的可视化目的 我想使用开源 PCL 提供的 API 网址为http pointclouds org documentation tutorials pcl v
  • 命名空间中不存在类型或命名空间名称 - 但命名空间确实存在

    我已经工作了很长时间没有任何问题的项目突然开始抛出错误 例如 The type or namespace name xxx does not exist in the namespace yyy are you missing an ass
  • 用于生成 ISO 文件的 Maven 插件

    有没有可以生成ISO镜像的maven插件 我需要获取一些模块的输出 主要是包含 jar 的 zip 文件 并将它们组合成一个 ISO 映像 Thanks 现在有一个 ISO9660 maven 插件可以完成这项工作 https github
  • 用eclipse测试java程序的内存消耗[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Visual Studio 2015 EDMX 模型浏览器和图表丢失

    我最近更新到 Visual Studio 2015 打开我的解决方案并运行 直到我决定将一个实体添加到我的 edmx 中 因此 我双击 edmx 文件来打开图表 或者至少是模型浏览器 但它只打开一个 XML 页面 我检查了安装程序中任何丢失
  • 如何更改 Xamarin.Forms(便携式)应用程序中的 PCL 配置文件

    我只是想知道如何使用 Visual Studio 2015 Update 2 更改 Xamarin 中的 PCL 配置文件 在安装某些软件包时 我收到一条错误消息 该软件包与 PCL 配置文件 259 不兼容 先感谢您 右键单击 PCL 项
  • 将 LFS 与 Visual Studio 2017 结合使用

    我不想将 Visual Studio 2017 15 5 与使用 Git LFS 跟踪某些文件的 Git 存储库一起使用 我的机器上已经安装了 Git 2 15 其中包含 Git LFS 我安装的 Visual Studio 2017 仅包
  • 如何使用 VS2022 中的新控制台应用程序模板访问命令行参数

    我想知道如何访问命令行参数 因为这是在Program cs通过 Visual Studio 2022 中控制台应用程序的新模板创建文件 See https aka ms new console template for more infor
  • Visual Studio 2015 C# 找不到参考

    我在使用 Visual Studio 2015 和 C 时遇到了问题 在同一解决方案中添加对其他项目的引用时 Visual Studio 找不到所有类 例如 我创建了一个单元测试项目 我添加了对我创建的通信项目的引用 库中有 10 个类 但

随机推荐

  • Application.OnKey 无法正确重置

    I am trying to help another user in this forum reference The goal is to use the Enter key on the numeric keypad to trigg
  • Python、Matplotlib、绘制多线(数组)和动画

    我开始使用 Python 和 OOP 编程 但我在 Fortran 90 95 和 Matlab 编程方面拥有丰富的经验 我正在 tkinter 环境上使用动画开发一个小工具 该工具的目标是对多行进行动画处理 数组而不是数据向量 下面是我的
  • 如何读取 emscripten 编译库中用户指定的文件?

    我目前正在开发一个带有 emscripten 编译支持的 C 文件解析库 它从用户处获取文件路径 在其中读取二进制文件并解析它 据我所知 emscripten 不支持直接加载文件 而是使用虚拟文件系统 有没有办法将给定路径上的文件加载到虚拟
  • 如何使用 swift 隐藏 QLPreviewController 中的共享按钮?

    我使用下面的代码来使用 QLPreviewcontroller 在我的应用程序中显示一些文档 let ql QLPreviewController ql dataSource self ql navigationItem rightBarB
  • 如何使用配置文件提供程序插件从 Jenkins 管道内的配置文件读取属性

    我想用一个简单的属性配置文件参数化我的 Jenkins 管道 skip tests true 我已将其添加到 Jenkins 配置文件管理中 在我的管道中 我导入此文件并尝试使用 Jenkins 管道配置文件插件读取它 node my sw
  • 混合模式程序集未加载本机 C++ pdb 的符号

    我正在使用 C CLI 中的混合模式程序集 在混合模式组装中成功时 所有托管模式组装的 pdb 都会被加载 但即使本机 pdb 的信息显示在 模块 窗格中 即在 VS 调试 gt Windows gt 模块中 也不会加载本机 dll 和 p
  • 计算Javascript中两个日期之间的工作日(节假日除外)

    我有一个 javascript 函数 它计算两个日期之间的工作日 它可以工作 但问题是它不考虑假期 如何修改此函数 例如通过在异常数组中添加假期 在互联网上搜索了这个问题 但没有找到有关假期例外的信息 例如假期数组 var holidays
  • 附加模板字符串

    是否可以将模板字符串附加到 div 中 我正在尝试优化我的代码 目前我的代码必须创建元素 添加类 添加文本节点 然后将所有内容附加在一起 我想知道是否可以只创建一个模板字符串然后附加它 以提高效率 我不想用innerHTML 擦除当前div
  • 默认参数为泛型类型

    我有用 Swift 编写的协议及其实现 protocol P struct A P 协议用作某些功能的泛型类型 func foo
  • 如何确定是否由于共享冲突而引发 IOException?

    我有一个 C 应用程序 我想将文件复制到新位置 有时我需要覆盖现有文件 当发生这种情况时 我收到 System IO IOException 我想从共享冲突中恢复 但如何确定返回 IOException 是因为目标文件正在使用而不是其他原因
  • ggmap中的动态数据点标签定位

    我正在使用 R 中的 ggmap 包 并且对地理空间数据可视化相对较新 我有一个由十一个纬度和经度对组成的数据框 我想将其绘制在地图上 每个纬度和经度对都有一个标签 这是虚拟数据 lat lt c 47 597157 47 656322 4
  • 在发现“EntityFrameworkConfiguration”类型之前使用默认的 DbConfiguration 实例

    public class EntityFrameworkConfiguration DbConfiguration public EntityFrameworkConfiguration this SetModelCacheKey ctx
  • Google Pub/Sub 的 RetryPolicy 中配置的指数退避如何工作?

    The cloud google com go pubsub最近发布的库 在 v1 5 0 中 参见https github com googleapis google cloud go releases tag pubsub 2Fv1 5
  • 我可以重命名 numpy 记录数组中的字段吗

    我是 python 新手 所以这听起来可能很基础 我已经使用 csv2rec 导入了 csv 文件 第一行有标题 我想将标题更改为 x y z 这样做的最佳方法是什么 gt gt gt import matplotlib gt gt gt
  • Cython 中的内存视图排序

    如何在 Cython 中对内存视图进行就地排序 有没有内置函数可以做到这一点 现在我必须使用numpy数组代替并使用numpy的排序 这非常慢 为了跟进我的评论 这里有 3 个选项 numpy 和 C 和 C 标准库选项 from libc
  • 在seaborn中绘制回归时如何获得数值拟合结果

    If I use the seaborn library in Python to plot the result of a linear regression is there a way to find out the numerica
  • 未针对 Windows 配置 DefaultFirebaseOptions

    错误 flutter lib ui ui dart state cc 198 未处理的异常 不受支持的操作 尚未为 Windows 配置 DefaultFirebaseOptions 您可以通过再次运行 FlutterFire CLI 来重
  • 查找并替换字符串

    是否可以在页面加载之前查看页面的源代码 找到某个部分并将其替换为其他内容 我想使用 JavaScript 来完成此操作 以便我可以在 Chrome 扩展中使用它 所以像这样 找到 google com 替换为 yahoo com
  • 如何使用jquery联系叔叔

    div div div div div div 我在 me 我想选择我的叔叔 使用如下内容 me find uncle me next uncle me prev uncle How 你可以使用 parent and prev假设你的叔叔总
  • Visual Studio 2008 插件/加载项开发 - 入门

    和 关联这个计算器问题 我将如何创建自己的 Visual Studio 2008 插件 我查看了 MSDN 上的 Visual Studio 开发人员中心 但信息量巨大 项目类型繁多 我什至不知道从哪里开始 我应该从哪里开始寻找如果我想写一