首页 > 解决方案 > 在 Visual Studio 中获取文件的内容而不从扩展中打开文件

问题描述

我正在尝试读取 Visual Studio 扩展中文件的内容。以下代码有效,但如果不是,则强制我打开文件(否则它会崩溃):

textDocument = (TextDocument)projectItem.Document.Object("TextDocument");    
EditPoint editPoint = textDocument.StartPoint.CreateEditPoint();
string text =  editPoint.GetText(textDocument.EndPoint);

我可以得到项目的路径,所以我想我可以对项目项目的位置做出有根据的猜测。但是,理想情况下,我想在不打开文件的情况下获取文件内容;或者,获取项目项的路径(然后我可以使用 System.IO 访问文件内容)。

我看过,但似乎无法找到任何提及这些的任何内容。谁能指出我正确的方向,好吗?

标签: c#visual-studiovisual-studio-extensions

解决方案


ProjectItem您可以通过读取 a 的属性来获取路径。

var path = YourProjectItem.Properties.Item("FullPath").Value.ToString()

拥有 后,path您可以使用 阅读其内容System.IO

string content = File.ReadAllText(path);

如果文件有点大,并且由于大小而导致当前代码出现问题,则应该查看StreamReader该类。


推荐阅读