1

プロジェクト内のすべての html ファイルのコードを取得して編集しようとしています

すべての ProjectItems をループする方法を見つけました

IEnumerator Projects = _applicationObject.Solution.Projects.GetEnumerator();

while (Projects.MoveNext())
{
    IEnumerator Items = ((Project)Projects.Current).ProjectItems.GetEnumerator();
    Queue<ProjectItem> ProjectItems = new Queue<ProjectItem>();
    while (Items.MoveNext())
    {
        ProjectItem SubItem = (ProjectItem)Items.Current;
        try
        {
            if (SubItem.Document != null) DocumentIndex.Add(SubItem.Document);
        }
        catch (Exception Exception)
        {
            Console.WriteLine(Exception.Message);
            //ignore
        }
        ProjectItems.Enqueue(SubItem);
    }

    //follow the tree down
    while (ProjectItems.Count != 0)
    {
        ProjectItem ProjectItem = ProjectItems.Dequeue();
        if (ProjectItem.ProjectItems != null)
        {
            foreach (ProjectItem SubItem in ProjectItem.ProjectItems)
            {
                ProjectItems.Enqueue(SubItem);
                try
                {
                    try
                    {
                        SubItem.Open(SubItem.Kind);
                        DocumentIndex.Add(SubItem.Document);
                    }catch(Exception Ex){
                        Console.WriteLine(Ex.Message);
                    }
                }
                catch (Exception Exception)
                {
                    Console.WriteLine(Exception.Message);
                    //ignore
                }
            }
        }
    }
}

エディター ウィンドウで開かれていないファイルのコードにアクセスできなくなりました。

「開かれていない」projectItems のコードを取得して編集するにはどうすればよいですか?
ファイルがコード ファイルかどうかを検出する方法 (例: .cs、.html、.htm、.asp、....

4

1 に答える 1