c# - 在 Visual Studio 中获取文件的内容而不从扩展中打开文件
问题描述
我正在尝试读取 Visual Studio 扩展中文件的内容。以下代码有效,但如果不是,则强制我打开文件(否则它会崩溃):
textDocument = (TextDocument)projectItem.Document.Object("TextDocument");
EditPoint editPoint = textDocument.StartPoint.CreateEditPoint();
string text = editPoint.GetText(textDocument.EndPoint);
我可以得到项目的路径,所以我想我可以对项目项目的位置做出有根据的猜测。但是,理想情况下,我想在不打开文件的情况下获取文件内容;或者,获取项目项的路径(然后我可以使用 System.IO 访问文件内容)。
我看过,但似乎无法找到任何提及这些的任何内容。谁能指出我正确的方向,好吗?
解决方案
ProjectItem
您可以通过读取 a 的属性来获取路径。
var path = YourProjectItem.Properties.Item("FullPath").Value.ToString()
拥有 后,path
您可以使用 阅读其内容System.IO
。
string content = File.ReadAllText(path);
如果文件有点大,并且由于大小而导致当前代码出现问题,则应该查看StreamReader
该类。
推荐阅读
- javascript - 国庆节排除在 JQuery 中不起作用
- azure-devops - TF400813: 在 Azure DevOps 管道中使用 System.AccessToken 时,用户 '' 无权访问此资源
- javascript - 我该如何修复这个轮播?
- javascript - 更新目标组件中的全局状态,而不重新渲染共享全局状态的组件
- sass - SASS/SCSS:@use 定义到全局命名空间的变量抛出“未定义变量”错误
- git - 在某些条件下使用钩子自动将一个分支合并到另一个基础上?
- encoding - 在 PLPGSQL/Orafce 中转换文本
- javascript - 如何在组件内添加计数动画?
- python - 使用 SQL Alchemy 提交对象后发生更改
- python-2.7 - Fipy 中的特殊网格划分(空心圆柱体的 3d 网格划分)