EpiHeader by QuixA lightweight, powerful Visual Studio Code extension designed for Epitech students and developers, automating the insertion of standard, coding-style compliant headers in C source files, header files, and Makefiles. 🚀 Key Features
⌨️ Commands & Shortcuts
📊 Status Bar ControlsAn interactive button is integrated directly into the VS Code status bar (bottom right):
A simple left click toggles the global state instantly without opening any configuration prompts. ⚙️ Configuration Settings (
|
| Setting Key | Type | Default | Description |
|---|---|---|---|
epiheader.enable |
boolean |
true |
Enable or disable EpiHeader globally. |
epiheader.autoInsertOnCreate |
boolean |
true |
Automatically insert header when creating or opening an empty supported file. |
epiheader.autoFillMetadata |
boolean |
true |
Automatically detect and fill the current file name in the header description. |
epiheader.projectName |
string |
"" |
Specify a fixed project name instead of the default placeholder <Name>. |
epiheader.useWorkspaceFolderAsProject |
boolean |
false |
Automatically use the root workspace folder name for the project instead of <Name>. |
epiheader.supportedExtensions |
array |
[".c", ".h", "Makefile"] |
List of supported file extensions and file names. |
epiheader.makefileHeaderPrefix |
string |
"##" |
Prefix for intermediate lines in Makefiles ("##" standard or "###" strict PDF). |
📋 Generated Header Examples
C Source & Header Files (.c, .h)
/*
** EPITECH PROJECT, 2026
** <Name>
** File description:
** main.c
*/
Makefiles (Makefile)
##
## EPITECH PROJECT, 2026
## <Name>
## File description:
## Makefile
##
In strict compliance with Epitech coding standards, the header is always followed by an empty line before code or preprocessor directives.
📦 Project Architecture
EpiHeader/
├── package.json # Extension manifest, commands, keybindings, and settings
├── tsconfig.json # TypeScript configuration
├── README.md # Documentation
└── src/
├── extension.ts # Command registrations and editor lifecycle hooks
├── header.ts # Header template generator and validation logic
├── statusBar.ts # Interactive status bar item manager
└── test/ # Automated unit tests
└── unitTest.ts
🛠️ Building & Testing
# Install dependencies
npm install
# Compile TypeScript
npm run compile
# Run automated unit tests
npm test
# Package to .vsix
npm run package
📄 License
This extension is licensed under the MIT License.