Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>EpiHeader by QuixNew to Visual Studio Code? Get it now.
EpiHeader by Quix

EpiHeader by Quix

Nathan Kyo (QUIX)

| (0) | Free
Visual Studio Code extension designed to automate and simplify standard Epitech header insertion for C, headers, and Makefiles.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

EpiHeader by Quix

A 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

  • Strict Coding Style Compliance: Completely eliminates manual typing errors and syntax infractions on the mandatory Epitech header (Rule C-G1).
  • Automatic Trigger on Creation: Automatically inserts the header when creating or opening an empty supported file (.c, .h, Makefile).
  • Manual Trigger: Insert or update the header on demand via the Command Palette or configurable keyboard shortcut (Ctrl+Alt+H).
  • Dynamic Year Calculation: Automatically calculates and injects the current year into EPITECH PROJECT, <year>.
  • Status Bar Toggle: Easily enable or disable the extension with a single click on the bottom status bar item without opening configuration menus.
  • Smart Pre-filling:
    • Automatically pre-fills the file description line with the current file name and places the cursor right on it for immediate typing.
    • Clear <Name> project placeholder (or customizable via epiheader.projectName).
  • Automatic UNIX Line Endings (LF): Enforces UNIX line endings (\n) on insertion to prevent rule C-G6 infractions.
  • Companion Friendly: Works 100% standalone and pairs seamlessly with EpiCancel Marvin.

⌨️ Commands & Shortcuts

Command Shortcut Description
EpiHeader: Insert Header Ctrl+Alt+H (macOS: Cmd+Alt+H) Inserts or updates the Epitech header in the active file.
EpiHeader: Toggle On/Off Left-click on Status Bar Toggles EpiHeader globally ON or OFF.

📊 Status Bar Controls

An interactive button is integrated directly into the VS Code status bar (bottom right):

  • $(check) EpiHeader: ON: Extension is active and ready to insert headers.
  • $(circle-slash) EpiHeader: OFF: Extension is disabled.

A simple left click toggles the global state instantly without opening any configuration prompts.


⚙️ Configuration Settings (settings.json)

Customize the extension behavior in your user or workspace settings.json:

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.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft