使用 EnvDTE 自动缩进现有文件

本文关键字:文件 缩进 EnvDTE 使用 | 更新日期: 2023-09-27 18:32:04

我正在使用T4文本模板进行自动代码生成,但此代码的格式必须不正确,特别是因为TT文件。

我想使用 EnvDTE 来应用智能格式,但我找到的所有示例都需要在应用程序上打开文件。

有没有办法在不打开的情况下将智能格式应用于现有文件?

有人有例子吗?

使用 EnvDTE 自动缩进现有文件

这段代码对我有用:

 Window window = projectItem.Open();
 EnvDTE.TextDocument textDocument = window.Document.Object() as EnvDTE.TextDocument;
 textDocument.Selection.SelectAll();
 textDocument.Selection.SmartFormat();
 window.ProjectItem.Save();

必须打开文档,但这并不意味着该文档对用户可见。

给定一个 EnvDTE.ProjectItem,您可以 .使用所需的视图(代码)打开(查看)它,您将获得一个不可见的EnvDTE.Window(您需要设置.可见 = 真)。但是,您可以获得其.文档属性,然后强制转换其 .对象属性到 EnvDTE.TextDocument,然后得到 .起点和 .端点文本点,你.从他们那里创建编辑点以获取编辑点和您.它们之间的 SmartFormat()。