Modern, premium, and fully customizable file headers for Visual Studio Code.
Installation β’ Features β’ Examples β’ Configuration β’ Usage β’ Troubleshooting β’ Contributing
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X/Cmd+Shift+X) - Search for "dnettoRaw Header"
- Click Install
code --install-extension dnettoRaw.dr-header- Download the
.vsixfile from GitHub Releases - In VS Code:
Extensionsβ...βInstall from VSIX - Select the downloaded file
- π¨ Modern Design: Premium "open-ended" header style for modern languages (
//) - π Dynamic ASCII Art: Built-in logos (Linux, VS Code, Default) and custom ASCII art support
- π§ Smart Fields: Automatic detection of filename, project name, version, Git user, and timestamps
- β‘ Surgical Updates: Updates only necessary lines on save, preserving your ASCII art
- π File-based Configuration: Override settings with local files (
author,projectname,version,logo) - π€ Auto-Injection: Automatically inserts headers into new files (configurable)
- π― Fully Customizable: Define your own templates, logos, and layouts
- π Multi-Language Support: 40+ supported languages with proper comment syntax
- π§ Flexible Delimiters: Custom delimiters for unsupported languages
////////////////////////////////////////////////////////////////////////////////
// ##### filename: main.rs
// ############ Project : my-awesome-app
// ### ###
// ## ## ## ## Created: 2026/04/23 02:00:00 by dnettoRaw
// ## ## Updated: 2026/04/23 02:30:00 by dnettoRaw
// Since : 1.0.0
//
// ## ## ## ## obs: Premium header management
// ### ###### ###
// ##### ####
//
// License: MIT https://dnetto.dev
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// #######
// ### ### F: index.ts
// ## ## ## ## P: my-project
// ## ##
// C: 2026/04/23 02:00:00 by dnettoRaw
// ## ## ## ## U: 2026/04/23 02:30:00 by dnettoRaw
// ########### S: 1.0.0
////////////////////////////////////////////////////////////////////////////////# #####
# ############
# ### ###
# ## ## ## ##
# ## ##
#
# ## ## ## ##
# ### ###### ###
# ##### ##### /////////////////////////////////////////////////////////////////////////////
# ##### filename: app.py
# ############ Project : django-app
# ### ###
# ## ## ## ## Created: 2026/04/23 02:00:00 by dnettoRaw
# ## ## Updated: 2026/04/23 02:30:00 by dnettoRaw
# Since : 1.0.0
#
# ## ## ## ## obs: Django REST API
# ### ###### ###
# ##### ####
#
# License: MIT https://dnetto.dev
# /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// ##### filename: Main.java
// ############ Project : spring-boot-app
// ### ###
// ## ## ## ## Created: 2026/04/23 02:00:00 by dnettoRaw
// ## ## Updated: 2026/04/23 02:30:00 by dnettoRaw
// Since : 1.0.0
//
// ## ## ## ## obs: Spring Boot Application
// ### ###### ###
// ##### ####
//
// License: MIT https://dnetto.dev
////////////////////////////////////////////////////////////////////////////////<!-- ///////////////////////////////////////////////////////////////////////////// -->
<!-- ##### filename: index.html -->
<!-- ############ Project : react-app -->
<!-- ### ### -->
<!-- ## ## ## ## Created: 2026/04/23 02:00:00 by dnettoRaw -->
<!-- ## ## Updated: 2026/04/23 02:30:00 by dnettoRaw -->
<!-- Since : 1.0.0 -->
<!-- -->
<!-- ## ## ## ## obs: React Single Page Application -->
<!-- ### ###### ### -->
<!-- ##### #### -->
<!-- -->
<!-- License: MIT https://dnetto.dev -->
<!-- ///////////////////////////////////////////////////////////////////////////// -->{
"header.username": "Your Name",
"header.email": "your.email@example.com",
"header.url": "https://your-website.com",
"header.license": "MIT"
}{
"header.logoType": "default",
"header.logo": " CUSTOM ASCII ART\n YOUR BRAND HERE\n LOGO TEXT"
}{
"header.autoInsert": true,
"header.customDelimiters": {
"customlang": ["/* ", " */"]
},
"header.template": "/* $FILENAME - $PROJECT\n * Created: $CREATEDAT by $CREATED\n */",
"header.littleTemplate": "// $FILENAME - $CREATEDAT"
}Create these files in your project root for automatic detection:
John Doe
My Awesome Project
2.1.0
MIT
_____
/ \
| LOGO |
\_____/
|
/ \
{
"header.template": "/* $FILENAME - $CREATEDAT by $CREATED */"
}{
"header.template": "/*\n * Copyright (c) 2024 Company Name\n * $FILENAME\n * Created: $CREATEDAT by $CREATED\n * Updated: $UPDATEDAT by $UPDATED\n */"
}{
"header.template": "/*\n * $PROJECT v$VERSION\n * $FILENAME\n * Author: $AUTHOR\n * Created: $CREATEDAT\n * License: $LICENSE\n */"
}| Variable | Description | Example |
|---|---|---|
$FILENAME |
Current file name | main.ts |
$PROJECT |
Project name | my-app |
$VERSION |
Current version | 1.2.3 |
$SINCE |
Creation version | 1.0.0 |
$AUTHOR |
Full author (Name ) | John Doe <john@example.com> |
$CREATED |
Creator name | John Doe |
$UPDATED |
Last updater name | Jane Smith |
$CREATEDAT |
Creation date | 2026/04/23 14:30:00 |
$UPDATEDAT |
Last update date | 2026/04/23 15:45:00 |
$LICENSE |
License type | MIT |
$URL |
Project URL | https://github.com/user/repo |
$OBS1-3 |
Observation fields | Custom notes |
$LOGO0-10 |
Full logo lines | ASCII art lines |
$LLOGO0-6 |
Little logo lines | Compact ASCII art |
- Insert Full Header:
Ctrl+Alt+H(Windows/Linux) orCmd+Option+H(macOS) - Insert Little Header:
Ctrl+Alt+J(Windows/Linux) orCmd+Option+J(macOS) - Insert Logo Only:
Ctrl+Alt+L(Windows/Linux) orCmd+Option+L(macOS)
- Press
Ctrl+Shift+P(orCmd+Shift+Pon macOS) - Type "header" to see available commands:
Header: Insert headerHeader: Insert little headerHeader: Insert only logo headerHeader: Update all headers
The extension automatically updates headers when you save files:
- Updates the
Updated:timestamp - Updates the filename (if changed)
- Preserves creation info and ASCII art
To update all headers in your workspace:
- Open Command Palette (
Ctrl+Shift+P) - Run
Header: Update all headers
The extension supports 40+ languages with proper comment syntax:
- Web: JavaScript, TypeScript, CoffeeScript, HTML, CSS, SCSS, Vue, Svelte
- Backend: Python, Java, C, C++, C#, Go, Rust, PHP, Ruby, Swift
- Functional: Haskell, Clojure, Elixir, Erlang, F#, OCaml
- Systems: Objective-C, Lua, Perl, R, Shell scripts
- Data: SQL, YAML, Terraform, Dockerfile
- Markup: HTML, XML, Markdown, Jade, LaTeX
- Config: INI, JSON, TOML, Makefile
For unsupported languages, define custom delimiters:
{
"header.customDelimiters": {
"mylang": ["# ", " #"],
"blocklang": ["/* ", " */"]
}
}The extension automatically detects:
- Author name from
git config user.name - Email from
git config user.email - Falls back to system username if Git not configured
Automatically reads:
nameβ Project nameversionβ Current versionauthorβ Author information
export USER="Your Name"
export URL="https://your-site.com"Configuration values are resolved in this order:
- File-based (workspace root files)
- VS Code settings
- Git configuration
- Environment variables
- System defaults
Problem: Headers aren't being inserted in new files.
Solutions:
- Check if the language is supported:
ExtensionsβdnettoRaw HeaderβSupported Languages - Enable auto-insert:
"header.autoInsert": true - Verify file isn't excluded in VS Code settings
Problem: Wrong author name or email in headers.
Solutions:
- Set in VS Code settings:
"header.username"and"header.email" - Create
authorfile in workspace root - Configure Git:
git config user.name "Your Name"
Problem: Custom logo isn't showing.
Solutions:
- Check logo file exists in workspace root
- Ensure logo is max 30 columns Γ 11 lines
- Verify
header.logoTypeis set correctly
Problem: Template variables show as literal text.
Solutions:
- Check variable names (case-sensitive)
- Ensure required files exist (e.g.,
versionfor$VERSION) - Restart VS Code after configuration changes
Problem: Extension slows down VS Code.
Solutions:
- Disable auto-update:
"header.autoInsert": false - Use simpler templates
- Exclude large files/folders in VS Code settings
Q: Can I use this with existing projects? A: Yes! The extension works with any project. Existing headers will be updated surgically.
Q: Does it support my favorite language? A: Check the supported languages list. For unsupported languages, use custom delimiters.
Q: Can I disable the ASCII art?
A: Yes, set "header.logoType": "none" to remove ASCII art entirely.
Q: How do I change the date format?
A: The date format is fixed as YYYY/MM/DD HH:mm:ss for consistency.
Q: Can I use this in CI/CD pipelines? A: Yes, but headers are inserted interactively. For automated header insertion, consider other tools.
Q: Does it work with remote workspaces? A: Yes, all features work with remote development (WSL, SSH, Codespaces).
Q: Can I use it with large codebases? A: Yes, the extension is optimized for performance. Auto-updates only trigger on save and are very fast.
Q: What happens to existing headers? A: Existing headers are updated surgically - only timestamps and filenames change, preserving your custom content.
- VS Code: 1.40.0 or later
- Node.js: 12.0.0 or later (for development)
- Memory: Minimal impact (< 10MB additional RAM)
- Use simpler templates for better performance
- Disable auto-insert for large projects if needed
- The extension only activates on supported file types
- β Windows, macOS, Linux
- β VS Code, VS Code Insiders
- β Remote development (WSL, SSH, Codespaces)
- β All supported languages work identically across platforms
We welcome contributions! Here's how to get started:
git clone https://github.com/dnettoRaw/vscode-header.git
cd vscode-header
npm install
npm run compilenpm test # Run all tests
npm run lint # Check code quality
npm run compile # Build the extension- Open in VS Code:
Extensionsβ...βInstall from VSIX - Select
vscode-header-*.vsixfrom the project root
src/
βββ extension.ts # Main extension logic
βββ header.ts # Header generation and parsing
βββ delimiters.ts # Language delimiter definitions
βββ test/ # Test suite
- Follow TypeScript best practices
- Add tests for new features
- Update documentation
- Use conventional commits
- Enhanced test coverage (26 test cases)
- Improved linting and code quality
- Fixed header parsing edge cases
- Better error handling
- Added custom delimiter support
- Improved logo rendering
- Enhanced file-based configuration
- Added little header support
- Improved auto-update functionality
- Better language detection
- Initial public release
- Basic header insertion
- Git integration
- ASCII art support
This project is licensed under the MIT License - see the LICENSE file for details.
Made with β€οΈ by dnettoRaw
GitHub β’
VS Code Marketplace β’
Website
