Copyright Notice Generator
December 27, 2025 ยท View on GitHub
Automatically add customizable copyright notices to your code files across multiple programming languages. Perfect for ensuring proper intellectual property protection in your projects.
โจ What's New in v1.1.12
- ๐ญ Copyright Profiles: New profiles system allowing different copyright templates for open source, commercial, and internal development projects
โจ What's New in v1.1.11
- ๐ Apply to All Files: New command "Apply Copyright Notice to All Files in Project" processes all eligible files in your workspace at once in the background
โจ What's New in v1.1.10
- ๐ Fixed Python Timestamp Updates: "Last Updated" timestamps now properly update in Python files using
#style comments.
โจ What's New in v1.1.9
- ๐ UTC Timezone Support: New
useUtcconfiguration option for UTC timestamps instead of local timezone. - ๐ Enhanced Timestamp Parsing: Improved parsing supports both UTC and local timezone timestamps.
โจ What's New in v1.1.8
- ๐๏ธ Go Language Support: Full support for Go files with proper comment formatting using
/** */style comments. - ๐ ISO 8601-2:2019 Timestamp Format: Updated default timestamp format to comply with ISO 8601-2:2019 standard (YYYY-MM-DDTHH:mm:ss).
โจ What's New in v1.1.6
- ๐ Enhanced Python Support: Copyright notices are now always inserted at the very beginning of Python files, even before docstrings and shebangs, ensuring proper module structure.
โจ What's New in v1.1.5
- ๐ Silent Background Operation: Works invisibly without interrupting your workflow
- โก Smart Debouncing: Intelligent delay management adapts to file activity levels
- ๐ฏ Advanced Detection: Improved copyright pattern recognition with confidence scoring
- ๐ Folder Restrictions: Control where copyright notices are applied
- ๐ก๏ธ Comprehensive Exclusions: Auto-excludes common build/dependency folders
- ๐ Performance Optimized: Smart caching and configurable delays for smooth operation
- ๐ง Configurable Timing: Customize delays and behavior to match your workflow
- ๐ Enhanced Diagnostics: Built-in testing and analysis tools
- ๐ Automatic Comment Conversion: Templates automatically adapt comment styles (JavaScript
/** */โ Python#โ Shell#) - ๐ Expanded Language Support: Enhanced Python and shell script templates with detailed metadata

Key Features
- โจ Automatic Background Insertion: Silently adds copyright notices to new files in the background
- ๐ Manual Command: Apply notice on demand with the Command Palette
- ๐ Apply to All Files: Process all eligible files in your project at once with background progress reporting
- ๐ง Profile Diagnostics: Built-in diagnostic tools for troubleshooting profile selection issues
- ๐ญ Copyright Profiles: Switch between different copyright templates (open source, commercial, internal development)
- ๐ Emoji Removal: Remove all emojis from files with a single command
- ๐ Multi-language Support: Works with all programming languages
- ๐ Automatic Comment Conversion: Templates automatically adapt to language-specific comment styles
- ๐ Customizable Templates: Use your own copyright text with dynamic year insertion
- ๐ Timestamp Support: Include creation date and time in your notices
- ๐ Update Time Tracking: Automatically updates the "last modified" timestamp
- ๐ Smart Detection: Avoids duplicate notices with advanced pattern recognition
- ๐งฉ File Extension Filtering: Target specific file types
- ๐ Folder Restrictions: Control where copyright notices are applied
- ๐ก๏ธ Smart Exclusions: Auto-excludes common build/dependency folders (node_modules, .git, dist, etc.)
- ๐ง Intelligent Debouncing: Adapts delay based on file activity for optimal performance
- ๐ Silent Mode: Works invisibly in the background without notifications
- โก Performance Optimized: Smart caching and configurable delays for smooth operation
- ๐ Advanced Diagnostics: Comprehensive analysis and detailed reporting
How It Works
Background Operation
The extension works silently in the background, automatically adding copyright notices to new files without interrupting your workflow. When you open a file without a copyright notice, it gets added seamlessly after a configurable delay.
Smart Detection
Uses advanced pattern recognition to detect existing copyright notices, avoiding duplicates and handling various comment formats across different programming languages.
Automatic Comment Style Conversion
The extension automatically adapts your copyright template to match the appropriate comment style for each programming language:
- JavaScript/TypeScript/C/C++/Go: Uses
/** */multiline comments - Python/Shell Scripts: Automatically converts
/** */templates to#comments - Custom Templates: Works with any template format - the extension detects the language and converts accordingly
This means you can use the same JavaScript-style template across all your projects, and the extension will automatically format it correctly for Python files, shell scripts, Go files, and other languages!
Copyright Profiles
Use the "Select Copyright Profile" command to switch between different copyright templates. Each profile can have its own template, timestamp settings, and description. Perfect for managing different types of projects:
- Open Source: MIT license templates for public projects
- Commercial: Proprietary license templates for commercial software
- Internal Development: Templates for company-internal development
Multiple Trigger Points
- File Opening: Automatically processes files when first opened
- Typing Pauses: Adds copyright during editing after configurable delay
- Smart Debouncing: Adapts delay based on how recently you worked with the file
- Manual Command: Apply notice on demand with the Command Palette (Ctrl+Shift+P)
- Apply to All Files: Process entire project at once using "Apply Copyright Notice to All Files in Project" command
- Editor Switching: Processes files when switching between editors
- Inactive File Detection: Immediately updates copyright when switching to long-unused files
Emoji Management
Remove all emojis from any file using the "Remove All Emojis from File" command. This is useful for cleaning up code that contains unwanted emoji characters.
Apply to All Files
Use the "Apply Copyright Notice to All Files in Project" command to process your entire project at once. This command:
- ๐ Scans your entire workspace for eligible files
- ๐ฏ Respects all your configuration (file extensions, exclusions, allowed folders)
- โณ Shows progress with a cancellable progress bar
- ๐ Reports results with counts of processed, skipped, and error files
- ๐ Works silently without interrupting your workflow
Perfect for:
- โ New projects - Apply copyright to all files at once
- ๐ Existing projects - Bulk update copyright notices
- ๐ Large codebases - Process thousands of files efficiently
How to use:
- Press
Ctrl+Shift+P(orCmd+Shift+Pon Mac) - Type "Apply Copyright Notice to All Files in Project"
- Press Enter to start processing
- Monitor progress in the notification area
Configuration Options
Core Settings
copyright-notice.languages: Languages that the extension will be activated for (default: all languages)copyright-notice.fileExtensions: File extensions to which the copyright notice will be applied (e.g., ['.js', '.ts', '.py']). Use ['*'] for all files.copyright-notice.excludedFiles: File patterns to exclude from copyright notices. Supports glob patterns. Defaults include common build/dependency folders like node_modules, .git, dist, build, etc.copyright-notice.allowedFolders: Comma-separated list of folder paths where copyright notices can be applied. If empty, applies to all folders. Paths can be relative to workspace root or absolute (e.g., ['src', 'lib', 'app/components']).copyright-notice.template: Copyright notice template. Use {year} for the current year, {timestamp} for creation time, and {updatetime} for last update time.
Default Exclusions
The extension automatically excludes these common folders and files by default:
**/node_modules/**- Node.js dependencies**/.git/**- Git repository data**/.vscode/**- VS Code settings**/dist/**- Distribution/build output**/build/**- Build artifacts**/.next/**- Next.js build files**/.nuxt/**- Nuxt.js build files**/coverage/**- Test coverage reports**/.nyc_output/**- NYC coverage output**/*.log- Log files**/package-lock.json- NPM lock file**/yarn.lock- Yarn lock file**/.DS_Store- macOS system files**/Thumbs.db- Windows system files
Timestamp Configuration
copyright-notice.includeTimestamp: Whether to include timestamp when the copyright notice was added (default: false).copyright-notice.timestampFormat: Format for the timestamp (default: "YYYY-MM-DDTHH:mm:ss"). ISO 8601-2:2019 compliant.copyright-notice.includeUpdateTime: Whether to include and update the "last updated" timestamp (default: false).copyright-notice.updateTimeFormat: Format for the update timestamp (default: "YYYY-MM-DDTHH:mm:ss"). ISO 8601-2:2019 compliant.copyright-notice.useUtc: Whether to use UTC timezone for timestamps instead of local timezone (default: false).
Background Operation
copyright-notice.silentMode: Whether to apply copyright changes silently in the background without showing notifications (default: true).copyright-notice.backgroundUpdateDelay: Delay in milliseconds before applying background copyright updates after typing stops (default: 1500, min: 500, max: 10000).copyright-notice.smartDebouncing: Enable smart debouncing that increases delay for files that haven't been modified recently, allowing copyright updates even for inactive files (default: true).copyright-notice.smartDebounceMultiplier: Multiplier for debounce delay when file hasn't been modified for a while (default: 2.0, min: 1.0, max: 5.0).copyright-notice.smartDebounceThreshold: Time in milliseconds after which smart debouncing activates (default: 300000 = 5 minutes).
Additional Features
copyright-notice.autoRemoveEmojis: Whether to automatically remove all emojis from files when they are saved (default: false).
Profile Configuration
copyright-notice.profiles: Array of copyright profiles with different templates and settingscopyright-notice.activeProfile: Name of the currently active copyright profile (default: "Open Source MIT")copyright-notice.profileAuthors: Object storing custom author names for each profile (key: profile name, value: author name)
Example Settings
JavaScript/TypeScript Development
{
"copyright-notice.languages": [
"javascript",
"typescript"
],
"copyright-notice.fileExtensions": [
".js",
".jsx",
".ts",
".tsx"
],
"copyright-notice.template": "/**\n * Copyright (c) {year} Your Company Name\n * All rights reserved.\n */\n\n"
}
With Creation and Update Timestamps
{
"copyright-notice.includeTimestamp": true,
"copyright-notice.includeUpdateTime": true,
"copyright-notice.template": "/**\n * Copyright (c) {year} Your Company Name\n * Created: {timestamp}\n * Last Updated: {updatetime}\n * All rights reserved.\n */\n\n"
}
Custom Timestamp Formats
{
"copyright-notice.includeTimestamp": true,
"copyright-notice.timestampFormat": "DD/MM/YYYY",
"copyright-notice.template": "/**\n * Copyright (c) {year} Your Company Name\n * Date: {timestamp}\n * All rights reserved.\n */\n\n"
}
{
"copyright-notice.includeTimestamp": true,
"copyright-notice.timestampFormat": "YYYY.MM.DD at HH:mm",
"copyright-notice.template": "/**\n * Created on {timestamp}\n * Copyright (c) {year} Your Company Name\n * All rights reserved.\n */\n\n"
}
With UTC Timestamps
{
"copyright-notice.includeTimestamp": true,
"copyright-notice.includeUpdateTime": true,
"copyright-notice.useUtc": true,
"copyright-notice.timestampFormat": "YYYY-MM-DDTHH:mm:ss",
"copyright-notice.template": "/**\n * Copyright (c) {year} Your Company Name\n * Created: {timestamp} (UTC)\n * Last Updated: {updatetime} (UTC)\n * All rights reserved.\n */\n\n"
}
C/C++ Development
{
"copyright-notice.languages": [
"c",
"cpp"
],
"copyright-notice.fileExtensions": [
".c",
".cpp",
".h",
".hpp"
],
"copyright-notice.template": "/**\n * Copyright (c) {year} Your Company Name\n * All rights reserved.\n */\n\n"
}
Python Development
{
"copyright-notice.languages": [
"python"
],
"copyright-notice.fileExtensions": [
".py",
".pyw"
],
"copyright-notice.template": "# Copyright (c) {year} Bivex\n#\n# Author: Bivex\n# Available for contact via email: support@b-b.top\n# For up-to-date contact information:\n# https://github.com/bivex\n#\n# Created: {timestamp}\n# Last Updated: {updatetime}\n#\n# Licensed under the MIT License.\n# Commercial licensing available upon request.\n\n"
}
PHP Development
{
"copyright-notice.languages": [
"php"
],
"copyright-notice.fileExtensions": [
".php"
],
"copyright-notice.template": "/**\n * Copyright (c) {year} Your Company Name\n * All rights reserved.\n */\n\n"
}
Shell Script Development
{
"copyright-notice.languages": [
"shellscript"
],
"copyright-notice.fileExtensions": [
".sh",
".bash",
".zsh"
],
"copyright-notice.template": "# Copyright (c) {year} Your Company Name\n# All rights reserved.\n\n"
}
AutoHotkey Development (.ahk and .ahk2 files)
{
"copyright-notice.fileExtensions": [
".ahk",
".ahk2"
],
"copyright-notice.excludedFiles": [
"*.json",
"*.config.js",
"package.json"
],
"copyright-notice.template": "/*\n * Copyright (c) {year} Your Company Name\n * All rights reserved.\n */\n\n"
}
Note: The extension now works with .ahk2 files even if VS Code doesn't recognize the language ID. Simply add the file extension to the fileExtensions array.
Go Development
{
"copyright-notice.languages": [
"go"
],
"copyright-notice.fileExtensions": [
".go"
],
"copyright-notice.template": "/**\n * Copyright (c) {year} Your Company Name\n * All rights reserved.\n */\n\n"
}
Silent Background Mode
{
"copyright-notice.silentMode": true,
"copyright-notice.backgroundUpdateDelay": 1000,
"copyright-notice.template": "/* Copyright (c) {year} Your Company */\n\n"
}
This configuration enables completely silent operation with copyright notices added automatically in the background with a 1-second delay after typing stops.
Fast Interactive Mode
{
"copyright-notice.silentMode": false,
"copyright-notice.backgroundUpdateDelay": 500,
"copyright-notice.includeUpdateTime": true,
"copyright-notice.template": "/**\n * Copyright (c) {year} Your Company\n * Last Updated: {updatetime}\n */\n\n"
}
This configuration shows notifications and applies changes quickly, with automatic timestamp updates.
Restricted Folders Mode
{
"copyright-notice.allowedFolders": ["src", "lib", "app/components"],
"copyright-notice.silentMode": true,
"copyright-notice.backgroundUpdateDelay": 2000
}
This configuration only applies copyright notices to files in the specified folders (src, lib, and app/components), leaving other folders untouched.
Smart Debouncing Mode
{
"copyright-notice.smartDebouncing": true,
"copyright-notice.smartDebounceMultiplier": 3.0,
"copyright-notice.smartDebounceThreshold": 600000,
"copyright-notice.silentMode": true
}
This configuration enables smart debouncing with 3x delay increase for files inactive for more than 10 minutes, ensuring copyright updates even for files you haven't worked on recently.
Custom Exclusions
{
"copyright-notice.excludedFiles": [
"**/node_modules/**",
"**/.git/**",
"**/.vscode/**",
"**/dist/**",
"**/build/**",
"**/temp/**",
"**/cache/**",
"**/*.tmp",
"**/*.bak"
]
}
This configuration adds custom exclusions (temp, cache, temporary files) in addition to the default exclusions.
Available Copyright Profiles
The extension comes with 10 pre-configured profiles covering various use cases:
- Open Source MIT - Standard MIT license for open source projects
- Apache 2.0 - Apache License 2.0 for permissive open source
- GPL v3 - GNU General Public License v3 for copyleft projects
- BSD 3-Clause - BSD 3-Clause License for academic and research
- Commercial - Proprietary license for commercial software
- Internal Development - Template for company internal development
- Academic Research - Template for universities and research institutions
- Government/Public - Template for government and public sector projects
- Startup/Prototype - Template for startup MVPs and prototypes
- Educational - Template for learning and educational projects
๐ Supported License Templates
Open Source Licenses
| License | SPDX ID | Description | When to Use |
|---|---|---|---|
| MIT | MIT | Permissive license allowing commercial use, modification, and distribution with minimal restrictions | Most popular for open source libraries and tools |
| Apache 2.0 | Apache-2.0 | Permissive license with patent protection clauses and contributor agreement requirements | Enterprise-friendly, good for commercial adoption |
| GPL v3 | GPL-3.0-or-later | Copyleft license requiring derivative works to also be GPL-licensed | Strong copyleft, ensures free software remains free |
| BSD 3-Clause | BSD-3-Clause | Permissive license with attribution requirements and no endorsement clause | Academic and research software, permissive licensing |
Proprietary Licenses
| License Type | Description | When to Use |
|---|---|---|
| Commercial | Standard proprietary license with all rights reserved | Commercial software products and services |
| Internal Development | Company-internal use with restricted distribution | Enterprise internal tools and applications |
| Government/Public | Public domain or government-specific licensing | Government agencies and public sector projects |
| Startup/Prototype | Early-stage prototype with confidentiality clauses | MVPs, beta versions, and startup projects |
| Educational | Academic and learning materials licensing | Course materials, tutorials, and educational software |
License Compatibility Matrix
| License | Can be used in proprietary software | Requires source code disclosure | Patent protection |
|---|---|---|---|
| MIT | โ Yes | โ No | โ No |
| Apache 2.0 | โ Yes | โ No | โ Yes |
| GPL v3 | โ No (creates copyleft) | โ Yes | โ No |
| BSD 3-Clause | โ Yes | โ No | โ No |
| Commercial | โ No | โ No | โ Yes |
SPDX License Identifiers
All open source license templates include proper SPDX license identifiers for compliance with modern package management systems and legal requirements.
Custom Copyright Profiles
{
"copyright-notice.profiles": [
{
"name": "MIT Open Source",
"description": "Standard MIT license template for open source projects",
"template": "/**\n * Copyright (c) {year} [Your Name]\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n * @author [Your Name]\n * @license MIT\n */\n\n",
"includeTimestamp": true,
"includeUpdateTime": true
},
{
"name": "Commercial License",
"description": "Proprietary license for commercial software",
"template": "/**\n * Copyright (c) {year} [Company Name]\n *\n * This software and related documentation are proprietary to [Company Name].\n * All rights reserved. Unauthorized copying, modification, distribution,\n * or use is strictly prohibited.\n *\n * For licensing inquiries, please contact:\n * [Company Name]\n * [Contact Email]\n * [Contact Website]\n *\n * Created: {timestamp}\n * Last Updated: {updatetime}\n *\n * Confidential and Proprietary Information\n */\n\n",
"includeTimestamp": true,
"includeUpdateTime": true
},
{
"name": "Internal Development",
"description": "Template for internal company development",
"template": "/**\n * Copyright (c) {year} [Company Name] - Internal Use Only\n *\n * This software is the confidential and proprietary information of [Company Name].\n * You shall not disclose such Confidential Information and shall use it only\n * in accordance with the terms of the license agreement you entered into with [Company Name].\n *\n * INTERNAL DEVELOPMENT VERSION\n * Not for distribution or external use.\n *\n * Created: {timestamp}\n * Last Updated: {updatetime}\n *\n * @internal\n * @company [Company Name]\n */\n\n",
"includeTimestamp": true,
"includeUpdateTime": true
}
],
"copyright-notice.activeProfile": "MIT Open Source"
}
Profile Switching with Author Customization
To switch between copyright profiles and customize the author name:
- Press
Ctrl+Shift+P(orCmd+Shift+Pon Mac) - Type "Select Copyright Profile"
- Choose your desired profile from the list
- Enter your name or company name when prompted
- The extension will save your author name and immediately start using the selected profile's template
Author names are saved per profile, so you can have different authors for different types of projects (personal, company, open source, etc.).
Quick Profile Switching: Use the "โก Quick Switch (keep current author)" option to change profiles without modifying the author name.
Profile Diagnostics
If you encounter issues with profile selection:
- Press
Ctrl+Shift+P(orCmd+Shift+Pon Mac) - Type "Diagnose Copyright Profiles"
- Check the Developer Console (Help โ Toggle Developer Tools) for detailed diagnostic information
The diagnostic command will show:
- Number of available profiles
- Currently active profile
- Author names for each profile
- Troubleshooting suggestions
Individual Entrepreneur / Sole Proprietor
{
"copyright-notice.includeTimestamp": true,
"copyright-notice.includeUpdateTime": true,
"copyright-notice.template": "/**\n * Copyright (c) {year} [Your Name], Individual Entrepreneur\n * INN: [Your Tax ID Number]\n * Created: {timestamp}\n * Last Updated: {updatetime}\n * All rights reserved. Unauthorized copying, modification,\n * distribution, or use is strictly prohibited.\n */\n\n"
}
Additional Template Examples
The extension comes with 10 pre-configured copyright profiles and a variety of additional templates:
Built-in Profiles (10 total):
- Open Source: MIT, Apache 2.0, GPL v3, BSD 3-Clause
- Commercial: Commercial license, Internal Development
- Specialized: Academic Research, Government/Public, Startup/Prototype, Educational
Additional Templates:
- Corporate templates (standard and detailed)
- Individual templates (sole proprietor, freelancer)
- Language-specific templates (Python, HTML, Shell)
- Creative Commons and Mozilla Public License examples
See the template-examples.json file for a complete list of examples that you can copy into your configuration.
Performance & Background Operation
Smart Caching
The extension uses intelligent caching to optimize performance:
- File analysis results are cached for 30 seconds
- Files with existing copyright are processed faster
- Reduces unnecessary re-analysis during editing
Configurable Delays
- Background Update Delay: Configurable pause before applying changes (500-10000ms)
- Smart Debouncing: Automatically adjusts delay based on file activity (1x-5x multiplier)
- Debounced Processing: Prevents excessive processing during rapid typing
- Optimized Timing: Balances responsiveness with performance for different file types
Silent Operation
- Zero Interruptions: Works invisibly in the background
- No Notifications: Unless explicitly configured otherwise
- Seamless Integration: Doesn't interfere with your workflow
Why Use Copyright Notices?
Adding copyright notices to your source code:
- Establishes ownership of intellectual property
- Helps with licensing compliance
- Makes attribution clear in open-source projects
- Provides legal protection for your code
Installation
From VS Code Marketplace
- Open VS Code
- Go to Extensions (Ctrl+Shift+X)
- Search for "Copyright Notice Generator"
- Click Install
From VSIX File
- Download the
.vsixfile from the Releases page - In VS Code, go to Extensions (Ctrl+Shift+X)
- Click the "..." menu and select "Install from VSIX..."
- Choose the downloaded
.vsixfile
Building from Source
# Clone the repository
git clone https://github.com/bivex/bivex.copyright-notice-0.1.0.git
cd bivex.copyright-notice-0.1.0
# Install dependencies
npm install
# Package the extension
npm run package:win # Windows
npm run package:unix # Unix/Linux/macOS
# or
npm run package # Direct vsce command
See scripts/README.md for detailed packaging instructions.
Testing & Diagnostics
The extension includes comprehensive testing tools for validation:
# Run background mode tests
node tests/background_mode_test.cjs
# Run smart debouncing tests
node tests/smart_debouncing_test.cjs
# Run diagnostic analysis
node tests/diagnostic_test.cjs
# Run pattern recognition tests
node tests/pattern_test.cjs
# Run exclusions demonstration
node tests/simple_exclusions_demo.cjs
Diagnostic Features
- File Analysis: Comprehensive copyright detection analysis
- Configuration Validation: Settings verification
- Performance Monitoring: Cache and timing diagnostics
- Error Reporting: Detailed error analysis and reporting
Requirements
For Users
No additional requirements or dependencies needed.
For Developers
- Node.js (https://nodejs.org/)
- npm or yarn
- VS Code Extension Development Host (included with VS Code)
Known Issues
None currently reported. The extension has been thoroughly tested with comprehensive diagnostics and performance optimizations.
Troubleshooting
If you encounter issues:
- Check VS Code developer console (Help โ Toggle Developer Tools)
- Run diagnostic tests:
node tests/diagnostic_test.cjs - Verify your configuration settings
- Ensure VS Code is updated to the latest version
Please submit issues on our GitHub repository.
Release Notes
1.1.1
Major performance and usability improvements:
- Added: Silent background mode for unobtrusive operation
- Added: Smart debouncing with adaptive delay management
- Added: Folder restriction controls for targeted application
- Added: Comprehensive default exclusions (node_modules, .git, dist, etc.)
- Added: Inactive file detection for immediate copyright updates
- Added: Configurable background update delay (500-10000ms)
- Added: Smart caching system for improved performance
- Added: Advanced document opening handler
- Improved: Copyright detection with confidence scoring
- Improved: Comprehensive file state analysis
- Fixed: Module loading issues for better VS Code compatibility
- Added: Detailed diagnostic and testing tools
1.0.1
Bug fixes and new features:
- Fixed:
.ahk2files now work properly even if VS Code doesn't recognize the language ID - Added: File exclusion patterns to prevent copyright notices on specific files (e.g.,
*.json) - Improved: Extension now works if EITHER language ID OR file extension is enabled (not both required)
- Added: Support for glob patterns in file exclusions
1.0.0
Full release with multiple improvements:
- Added timestamp support for creation and update times
- Added manual command to apply copyright notices
- Added file extension filtering
- Multiple predefined templates
- Improved formatting and error handling
0.1.0
Initial preview release