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 <[email protected]> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2013/11/18 13:37:42 by kube #+# #+# #
# Updated: 2016/09/18 13:11:04 by kube ### ########.fr #
# #
# **************************************************************************** #Launch Quick Open with ⌘+P and enter
ext install MarioLJFerreira.42header-plus
Or search for "42 Header Plus (Enhanced)" in the VSCode Extensions marketplace.
- macOS : ⌘ + ⌥ + H
- Linux / Windows : Ctrl + Alt + H.
Header is automatically updated on save.
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
}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.
You can easily change the keyboard shortcut:
- Open Command Palette (F1)
- Type "42 Header: Change Keybinding"
- Set your preferred shortcut
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 lintWe 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
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
In case of a bug, or missing feature, please:
- Check existing issues
- Create a new issue with our templates
- Submit a Pull Request
MIT
