VS2008 AddIn 操作DTE2
操作 vs2008
2023-09-14 08:59:39 时间
在VS2008扩展开发中,最重要的就是DTE对象。DTE对象提供了对扩展性模型中其他对象的访问。DTE是VS自动化模型中的顶级对象。
在按照http://www.cnblogs.com/yjf512/archive/2010/06/05/1752401.html中描述的创建VS AddIn插件后,能在Connect类中找到private DTE2 _applicationObject这个属性,对文件的各项操作就是从这个DTE2属性中开始:
以下方法可以在Exec方法中引用:
如何使用DTE2打开一个解决方案:
![ExpandedBlockStart.gif](http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
![复制代码](http://common.cnblogs.com/images/copycode.gif)
private void OpenSolution(string solutionFullName, DTE2 _applicationObject)
{
try
{
((DTE2)_applicationObject).Solution.Open(solutionFullName);
}
catch (Exception ex)
{
throw;
}
取得当前解决方案中的所有方法:
(其中包含了对Project的操作、对FileCodeModel的操作,对codeElement的操作)
![ExpandedBlockStart.gif](http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
![复制代码](http://common.cnblogs.com/images/copycode.gif)
private CodeFunction2[] GetAllFunctionInCurrentCode(DTE2 _applicationObject)
{
List CodeFunction2 codeFuncs = new List CodeFunction2 ();
int projectCount = _applicationObject.Solution.Projects.Count;
try
{
for (int i = 0; i projectCount; i++)
{
Project project = _applicationObject.Solution.Projects.Item(i + 1);
foreach (ProjectItem vsproject in project.ProjectItems)
{
if (vsproject.Name.Contains(".cs"))
{
FileCodeModel2 CM = (FileCodeModel2)vsproject.FileCodeModel;
foreach (CodeElement2 codeElement in CM.CodeElements)
{
if (codeElement.Kind == vsCMElement.vsCMElementNamespace)
{
CodeElement2 eleTemp = codeElement;
Queue CodeElement2 childElements = new Queue CodeElement2 ();
childElements.Enqueue(eleTemp);
while (childElements.Count != 0)
{
CodeElement2 topEle = childElements.Dequeue();
if (topEle.Kind == vsCMElement.vsCMElementFunction)
codeFuncs.Add((CodeFunction2)topEle);
if (topEle.Children != null)
{
foreach (CodeElement2 childrenItem in topEle.Children)
{
childElements.Enqueue(childrenItem);
}
}
}
}
}
}
}
}
}
catch (Exception ex)
{
throw;
}
return codeFuncs.ToArray();
初识VSTO Addin开发 原文:初识VSTO Addin开发 这篇博客将简单介绍一些VSTO Addin开发的知识。 1. VSTO是什么?我们可以用VSTO做什么? VSTO全称Visual Studio Tool for Office,是可以让我们针对现有的Office程序进行功能扩展。
VS2017 处理 Rdlc , microsoft report viewer 轻量级报表处理(WPF CS客户端版本) 原文:VS2017 处理 Rdlc , microsoft report viewer 轻量级报表处理(WPF CS客户端版本) VS 2017没有安装处理Rdlc的包,需要手动安装; 点击主菜单中Tools 下拉菜单中 扩展和升级: 点选左侧Online ,然后在右侧输入rdlc进行查...
QT4.8.5+qt-vs-addin-1.1.11+VS2010安装配置和QT工程的新建和加载 1.下载windows下的QT库 QT4.8.5 for vs2010: http://download.qt-project.org/official_releases/qt/4.8/4.8.5/qt-win-opensource-4.
ArcGIS中的AddIn开发示例 AddIn开发的插件效率高、操作简单、容易管理、方便共享。它还可以和Python结合(后面的博文中应该会涉及到),非常强大。下面简单描述一下ArcGIS中的AddIn开发过程: 1.在安装ArcGIS、AO和VS的环境下,新建项目ArcMap Add-in;
相关文章
- PHP Laravel5实现的RBAC权限管理操作示例
- babel 常用操作
- [转] C#操作Excel文件
- jQuery操作表格背景色迭代和鼠标移动事件(CSS中使用expression)
- 【Android 插件化】VirtualApp 源码分析 ( 目前的 API 现状 | 安装应用源码分析 | 安装按钮执行的操作 | 返回到 HomeActivity 执行的操作 )
- awk多文件操作
- JDBC操作数据库,第一:jsp插入mysql数据库,坎坷摸索分享
- Linux TC显示/操作流量控制设置
- Emacs之删除整列操作(五十一)
- FPGA-流水线操作
- 【SPSS】两配对样本T检验分析详细操作教程(附案例实战)
- Git 分支操作【解决分支冲突问题】
- OpenCV如何读取和显示图像文件?操作流程详解