zl程序教程

您现在的位置是:首页 >  其它

当前栏目

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 复制代码

private void OpenSolution(string solutionFullName, DTE2 _applicationObject)
{
try
{
((DTE2)_applicationObject).Solution.Open(solutionFullName);
}
catch (Exception ex)
{
throw;
}

取得当前解决方案中的所有方法:

(其中包含了对Project的操作、对FileCodeModel的操作,对codeElement的操作)

 

ExpandedBlockStart.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;