{"id":24774053,"url":"https://github.com/tim-maes/t4editor","last_synced_at":"2025-10-11T21:04:35.031Z","repository":{"id":45338963,"uuid":"411652319","full_name":"Tim-Maes/T4Editor","owner":"Tim-Maes","description":"Enhance your T4 experience in Visual Studio. ","archived":false,"fork":false,"pushed_at":"2024-01-04T13:18:20.000Z","size":144,"stargazers_count":23,"open_issues_count":8,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-05-02T04:57:45.888Z","etag":null,"topics":["csharp","editor","mef","t4","text-templating","vsix","vsix-extension","vsix-extensions"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tim-Maes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"github":["Tim-Maes"],"custom":["https://www.buymeacoffee.com/GRq3xSA"]}},"created_at":"2021-09-29T11:48:31.000Z","updated_at":"2024-02-25T18:00:42.000Z","dependencies_parsed_at":"2024-01-04T14:26:35.644Z","dependency_job_id":"62381ca7-c04c-43a8-aa07-3bea2ca11e8d","html_url":"https://github.com/Tim-Maes/T4Editor","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tim-Maes%2FT4Editor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tim-Maes%2FT4Editor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tim-Maes%2FT4Editor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tim-Maes%2FT4Editor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tim-Maes","download_url":"https://codeload.github.com/Tim-Maes/T4Editor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236136615,"owners_count":19100627,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","editor","mef","t4","text-templating","vsix","vsix-extension","vsix-extensions"],"created_at":"2025-01-29T05:34:01.140Z","updated_at":"2025-10-11T21:04:35.009Z","avatar_url":"https://github.com/Tim-Maes.png","language":"C#","funding_links":["https://github.com/sponsors/Tim-Maes","https://www.buymeacoffee.com/GRq3xSA"],"categories":[],"sub_categories":[],"readme":"# T4Editor\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"T4Editor\\T4Editor.jpg\" alt=\"T4Editor Logo\" width=\"128\" height=\"128\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eA powerful Visual Studio extension for enhanced T4 template editing\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n|Build Status| Downloads |\n|------------|------------|\n|![Build Status](https://dev.azure.com/Epsicode/T4Editor/_apis/build/status/Tim-Maes.T4Editor%20(1)?branchName=master)|![Downloads](https://img.shields.io/visual-studio-marketplace/d/TimMaes.t4editor)|\n\n\u003c/div\u003e\n\nT4Editor brings professional-grade syntax highlighting, IntelliSense, and advanced editing features to T4 (Text Template Transformation Toolkit) files in Visual Studio. Whether you're working with code generation, automated documentation, or template-based development, T4Editor transforms your T4 editing experience.\n\n## Key Features\n\n### **Advanced Syntax Highlighting**\n\n- **Smart T4 Block Recognition**: Distinct colors for all T4 block types\n \n- **Control Blocks** (`\u003c#...#\u003e`) - For C# statements and control flow\n- **Class Feature Blocks** (`\u003c#+...#\u003e`) - For methods, properties, and class-level features  \n- **Expression Blocks** (`\u003c#=...#\u003e`) - For value output expressions\n- **Directive Blocks** (`\u003c#@...#\u003e`) - For template directives and imports\n- **Output Blocks** - Static text content outside T4 tags\n- **T4 Tags** - The delimiters themselves (`\u003c#`, `#\u003e`, etc.)\n\n### **Intelligent IntelliSense**\n\n- **Context-Aware Code Completion**: Smart suggestions for T4 syntax elements\n- **Predefined T4 Constructs**: Quick insertion of common patterns\n  - Control block templates\n  - Class feature block scaffolding\n  - Expression block helpers\n  - Import and include directive snippets\n\n### **Advanced Editor Features**\n\n- **Smart Brace Matching**: Highlights matching braces, brackets, parentheses, and quotes\n- **Code Outlining**: Collapsible regions for T4 blocks to manage large templates\n- **Block Navigation**: Easily navigate between related T4 constructs\n- **Error Detection**: Identifies unclosed T4 blocks and syntax issues\n\n### **Visual Studio Integration**\n\n- **Theme Awareness**: Automatically adapts to Visual Studio's light and dark themes\n- **Customizable Colors**: Full control over syntax highlighting colors\n- **Settings Panel**: Easy-to-use configuration interface\n- **File Support**: Works with `.tt`, `.t4`, and `.ttinclude` files\n\n### **High Performance**\n\n- **Token-Based Parsing**: Modern linear parsing approach replaces complex RegEx patterns\n- **Optimized for Large Files**: Efficient parsing for templates over 50KB with minimal performance impact\n- **Smart Caching**: Intelligent result caching for improved responsiveness\n- **Incremental Processing**: Only processes visible areas in large files\n- **Error-Tolerant**: Gracefully handles malformed content without UI freezing\n- **Future-Ready**: Designed to support C# language features within T4 blocks\n\n## Installation\n\n### Visual Studio Marketplace\n\n1. Open Visual Studio\n2. Go to **Extensions** -\u003e **Manage Extensions**\n3. Search for \"T4Editor\"\n4. Click **Download** and restart Visual Studio\n\n## Supported Versions\n\n| Visual Studio Edition | Version Support |\n|----------------------|----------------|\n| **Community** | 2019 (16.0+), 2022 (17.0+) |\n| **Professional** | 2019 (16.0+), 2022 (17.0+) |\n| **Enterprise** | 2019 (16.0+), 2022 (17.0+) |\n\n## Supported File Types\n\n- **`.tt`** - T4 Text Templates\n- **`.t4`** - T4 Templates (alternative extension)\n- **`.ttinclude`** - T4 Include Files\n\n## Configuration\n\n### Accessing Settings\n\n- **Method 1**: Go to **Tools** -\u003e **T4Editor Settings**\n- **Method 2**: Right-click in a T4 file -\u003e **T4Editor Settings**\n\n### Customization Options\n\n- **Syntax Colors**: Customize colors for each T4 block type\n- **Theme Integration**: Automatic theme detection and color adjustment\n- **Performance Settings**: Adjust parsing thresholds for large files\n- **Parser Selection**: Choose between token-based and legacy parsing (advanced users)\n\n### IntelliSense in Action\n\nWhen you type `\u003c#`, T4Editor provides intelligent suggestions:\n- `\u003c#...#\u003e` - Control Block\n- `\u003c#+...#\u003e` - Class Feature Block  \n- `\u003c#=...#\u003e` - Expression Block\n- `\u003c#@ import #\u003e` - Import Directive\n- `\u003c#@ include #\u003e` - Include Directive\n\n## Demo\n\n![T4DEmo](https://github.com/user-attachments/assets/bd9eb112-a638-4ef9-acbe-9fad93c5ca47)\n\n## Contributing\n\n### Development Setup\n\n1. **Clone the repository**git clone https://github.com/Tim-Maes/T4Editor.git\n2. **Prerequisites**\n   - Visual Studio 2019/2022 with VSIX development workload\n   - .NET Framework 4.7.2\n\n3. **Build and Test**\n   - Open T4Editor.sln in Visual Studio\n   - Build solution (Ctrl+Shift+B)\n   - Press F5 to run in experimental instance\n\n## Troubleshooting\n### Getting Help\n- [Create an issue](https://github.com/Tim-Maes/T4Editor/issues) on GitHub\n- Check existing issues for solutions\n- Contact the maintainer for support\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.txt](LICENSE.txt) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftim-maes%2Ft4editor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftim-maes%2Ft4editor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftim-maes%2Ft4editor/lists"}