
This is an enhanced fork of the original 42 Header extension by kube.
42 Header Plus (Enhanced) adds campus selection, customizable keybindings, comprehensive testing, and modern CI/CD workflows while maintaining full compatibility with the original extension.
This extension provides the 42 header integration in VS Code with enhanced features.
# **************************************************************************** #
# #
# ::: :::::::: #
# vscode-42header :+: :+: :+: #
# +:+ +:+ +:+ #
# By: kube <hello@kube.io> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2013/11/18 13:37:42 by kube #+# #+# #
# Updated: 2016/09/18 13:11:04 by kube ### ########.fr #
# #
# **************************************************************************** #
Install
Launch Quick Open with ⌘+P and enter
ext install MarioLJFerreira.42header-plus
Or search for "42 Header Plus (Enhanced)" in the VSCode Extensions marketplace.
Usage
- macOS : ⌘ + ⌥ + H
- Linux / Windows : Ctrl + Alt + H.
Header is automatically updated on save.
Configuration
Default values for username and email are imported from environment variables.
To override these values, specify these properties in User Settings :
{
"42header.username": string,
"42header.email": string,
"42header.campus": string // Select your 42 campus for automatic email domain
}
Campus Selection (New in v0.42.8)
You can now select your 42 campus from a dropdown list, and the extension will automatically generate your email as username@student.{campus}
.
Supported campuses include:
- 🇵🇹 Portugal:
42lisboa.com
, 42porto.com
- 🇫🇷 France:
42.fr
, 42lyon.fr
, 42mulhouse.fr
, 42perpignan.fr
- 🇪🇸 Spain:
42barcelona.com
, 42madrid.com
, 42malaga.com
, 42urduliz.com
- 🇩🇪 Germany:
42berlin.de
, 42heilbronn.de
, 42wolfsburg.de
- 🇮🇹 Italy:
42firenze.it
, 42roma.it
- 🇳🇱 Netherlands:
codam.nl
- 🇲🇦 Morocco:
1337.ma
- And 25+ more campuses worldwide!
To configure:
- Open VSCode Settings (Ctrl/Cmd + ,)
- Search for "42header"
- Select your campus from the dropdown
Note: Setting 42header.email
manually will override the campus-based email.
Customize Keybinding (New in v0.42.8)
You can easily change the keyboard shortcut:
- Open Command Palette (F1)
- Type "42 Header: Change Keybinding"
- Set your preferred shortcut
Development
Running Tests
This project includes comprehensive unit and integration tests.
# Install dependencies
npm install
# Run all tests
npm test
# Run only unit tests
npm run test:unit
# Build the extension
npm run build
# Lint the code
npm run lint
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Before submitting a PR:
- Ensure all tests pass
- Add tests for new features
- Update documentation
- Follow the code style
CI/CD
This project uses GitHub Actions for continuous integration:
- ✅ Automated testing on Linux, Windows, and macOS
- ✅ Node.js 18.x and 20.x compatibility
- ✅ Security audits
- ✅ Linting and type checking
Issues
In case of a bug, or missing feature, please:
License
MIT