Visual studio 用于枚举源文件的加载项
我被要求开发一个加载项,它通过C#解决方案,从源文件中提取所有文档,并将它们导出到HTML文件。我们不能使用普通的文档生成器,因为导出需要使用特定的格式 我知道如何创建一个基本的加载项,但不知道如何枚举源文件 关于如何开始这个项目有什么想法/资源吗Visual studio 用于枚举源文件的加载项,visual-studio,add-in,visual-studio-addins,Visual Studio,Add In,Visual Studio Addins,我被要求开发一个加载项,它通过C#解决方案,从源文件中提取所有文档,并将它们导出到HTML文件。我们不能使用普通的文档生成器,因为导出需要使用特定的格式 我知道如何创建一个基本的加载项,但不知道如何枚举源文件 关于如何开始这个项目有什么想法/资源吗 谢谢。以下是我用来搜索以给定字符串结尾的文件的一些代码 该结构类似于Visual Studio中的解决方案资源管理器: Solution -> ProjectItems -> (Nested ProjectItems) -> Fil
谢谢。以下是我用来搜索以给定
字符串结尾的文件的一些代码
该结构类似于Visual Studio中的解决方案资源管理器:
Solution -> ProjectItems -> (Nested ProjectItems) -> FileNames
无论代码在哪里执行,都可以在解决方案中提取项目,然后在这些项目中提取项目项
var typeFileName = @"\MyClassName.cs";
// Search each Project in the Solution, exclude Unit Test Projects
foreach (Project item in _applicationObject.Solution.Projects.OfType<Project>().Where(p => !p.Name.EndsWith(".Tests")))
{
// Search each ProjectItem recursively
foreach (ProjectItem projectItem in item.ProjectItems)
{
RecursiveProjectItemSearch(projectItem, typeFileName);
}
}
var-typeFileName=@“\MyClassName.cs”;
//搜索解决方案中的每个项目,排除单元测试项目
foreach(在_applicationObject.Solution.Projects.OfType()中的项目项,其中(p=>!p.Name.EndsWith(“.Tests”))
{
//递归搜索每个项目项
foreach(项目中的项目项ProjectItem.ProjectItems)
{
递归ProjectItemSearch(projectItem,typeFileName);
}
}
asdasd
private void RecursiveProjectItemSearch(ProjectItem projectItem, string typeFileName)
{
for (short i = 0; i < projectItem.FileCount; i++)
{
var fileName = projectItem.FileNames[i];
if (fileName.EndsWith(typeFileName))
{
// In my case, I want to open the file that I'm searching for
_applicationObject.ItemOperations.OpenFile(fileName);
}
foreach(ProjectItem childProjectItem in projectItem.ProjectItems)
{
RecursiveProjectItemSearch(childProjectItem, typeFileName);
}
}
}
private void RecursiveProjectItemSearch(ProjectItem ProjectItem,字符串类型filename)
{
对于(短i=0;i
我不知道这是否是最理想的方法,但它应该能起作用。给定上述代码,您可以将其更改为执行File.Open()
并读取内容或类似内容