【问题标题】:Syntax Highlighting for .tt files?.tt 文件的语法突出显示?
【发布时间】:2011-07-29 12:56:44
【问题描述】:

有没有办法告诉 Visual Studio 2010 为 .tt 文件启用语法高亮?我确实有一个设置扩展的指令:

<#@ output extension=".ascx" #>

因此,我希望 Visual Studio 将该文件视为 ascx 文件以用于语法高亮。

【问题讨论】:

标签: .net visual-studio visual-studio-2010 t4


【解决方案1】:

如果您不想安装插件或更改文件扩展名,只需在 Visual Studio 选项中更改 .tt 文件的“编辑体验”即可。

转到Tools &gt; Options... &gt; Text Editor &gt; File Extensions,然后添加tt 文件扩展名。您可以将其绑定到您想要的任何目标语言。模板代码周围的突出显示可能有点混乱,您必须手动更改目标语言,但它不需要任何新软件就可以很好地工作。不过要小心,因为 Intellisense 的大纲和自动格式化可能会被模板代码弄糊涂。

【讨论】:

    【解决方案2】:

    ForTea ReSharper 插件

    https://github.com/jetbrains/fortea
    https://plugins.jetbrains.com/plugin/13469-fortea/

    • 经典 T4 模板的执行
    • 生成 C# 代码(也称为模板预处理)
    • 对 T4 指令的全面智能支持
    • 内嵌块中的 C# 全面智能支持:查找用法、重构、上下文操作等。
    • 对包含的广泛智能支持
    • 支持通过快速修复添加汇编和导入指令
    • 许多其他 IDE 功能:文件结构、扩展选择、重构等

    要安装 ForTea,请使用 ReSharper 菜单中的 Extension Manager。

    否则一些旧的。 Julie Lerman(英孚图书作家等)我记得她在几年前谈到过。

    【讨论】:

    • 必须保证这一点。整个早上都在使用它,它击败了我通过 VS 的扩展找到的任何完全免费的。
    【解决方案3】:

    我刚刚下载了Devart T4 Editor。它似乎工作正常,并允许您自定义语法颜色,并提供智能感知。目前,它适用于从 2008 年到 2017 年的所有 Visual Studio 版本。

    到目前为止,我唯一的抱怨是它没有突出显示 C# 运算符(例如 &lt;&gt;+ 等)或数字的选项。

    【讨论】:

    • 更新:此版本支持 VS 2008-2019(VS 2017 和 2019 使用相同的安装程序文件),但尚不支持 VS 2022。
    【解决方案4】:

    (注意这与 VS2013 而非 VS2010 有关,但我希望它适用于两者)

    更改模板文件的扩展名!

    您的模板文件不需要具有 .tt 扩展名(它们只需要将自定义工具设为“TextTemplatingFilePreprocessor”或“TextTemplatingFileGenerator”),因此您可以将扩展名更改为最合适的扩展名。

    我现在正在模板化一些 javascript,所以我有一些带有 .js 扩展名的 T4 模板。

    突出显示对于 js 位非常有效,但对于 C# 位和顶部的声明(到处都是红色曲线)显然看起来有点垃圾。我可以忍受!

    【讨论】:

      【解决方案5】:

      除了上面提到的有形编辑器之外,还有 Clarius 的 Visual T4。 您可以在Visual Studio Gallery 上找到两者,看看您更喜欢哪一个。

      【讨论】:

      • 您对这两种工具的体验如何,优点/缺点?对您的回答很有价值。
      • 实际上,自从我发布了这个,还有第三个 T4 编辑器,由 DevArt。
      【解决方案6】:

      试试Tangible T4 Editor 扩展。有一个免费版本可供您试用,但如果您经常使用它们,则值得获得 pro 许可证。

      【讨论】:

      • 但是如果你用的是VS的深色主题真的很丑……大部分线条的背景是灰色的,字体颜色是白色的,所以你很可能什么都看不到。或者告诉我是否有办法将 L4 语法高亮背景也更改为深色主题?
      • @JagodaSokół 工具 > 选项 > 有形 T4 编辑器 > 编辑器 > 将“T4 背景颜色”设置为 30、30、30
      • 想知道这里是否有人找到适用于 Visual Studio Community 2017 的副本。
      • Tangible T4 Editor 似乎没有带有 HTML 输出的模板的 HTML 部分。这很令人失望——看来我必须在 T4 模板中的 C# 或 HTML 语法高亮之间做出选择。
      【解决方案7】:

      不,2010(或之前)版本的 Visual Studio 中没有。 T4 模板不会调用模板目标的语言服务来突出显示。

      唯一已知的执行这种子语言突出显示的编辑器是 ASPX 文件编辑器。这样做需要语言服务和 ASPX 编辑器代码库之间的非常有趣的舞蹈。它当然可以扩展到其他框架,如 T4 模板,但据我所知,它还没有完成。

      【讨论】:

      • 投了反对票,因为虽然没有开箱即用的方法,但有办法启用它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-17
      • 1970-01-01
      • 1970-01-01
      • 2020-10-10
      • 1970-01-01
      相关资源
      最近更新 更多