Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Turbo File HeaderNew to Visual Studio Code? Get it now.
Turbo File Header

Turbo File Header

ygqygq2

|
218 installs
| (1) | Free
| Sponsor
Sets file header information globally or for a project, generate function comment quickly, support multiple languages.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

turbo-file-header

Visual Studio Marketplace Version Visual Studio Marketplace Installs

中文 | Wiki

Turbo file header, sets file header information globally or for a project.

Features

  • ctrl + alt + h generate the active document file header.
  • ctrl + alt + / add function comment when cursor at the function name line.
  • Supports global settings to manage header template.
  • Project to generate custom YAML format file header configuration file, easy to configure, others as long as the installation of extensions can be used directly, more consistent with unified collaborative development.
  • Use more reader-friendly comments to highlight important parts in your code.
  • Support for languages in VSCode known identifiers.
  • Extension configuration Multi-language display, l10n support.

Settings

Properties:

| Feature | Description | Setting | Default | | --------------------------------- | -------------------------------------------------------------------- | -------------------------------- | ------------------------ | | Custom user name | The fixed user name. The default is from your VCS | userName | | | Custom user email | The fixed user email. The default is from your VCS | userEmail | | | Custom company name | Company name | companyName | YourCompanyName | | Date format | The date format | dateFormat | YYYY-MM-DD HH:mm:ss | | Auto insert on create file | When create file, auto insert file header | autoInsertOnCreateFile | false | | Auto update on save file | When save file, auto update file header | autoUpdateOnSave | false | | Include glob | "include glob" for autoInsertOnCreateFile and batch update command | include | **/this-default-glob/* | | Exclude glob | "exclude glob" for autoInsertOnCreateFile and batch update command | exclude | `` | | Disable fields in file header | The fields that you want to disable in file header | disableLabels | [] | | Custom variable | Support use other variable | customVariables | the below | | File header content | File header content, overwrite the default file header content | fileheader | the below | | Multiline regex pattern | Match the original file header using multiline regex pattern | patternMultiline | false | | Only dirty file or not to support | Only dirty file to support update file header | updateHeaderForModifiedFilesOnly | false | | Extra languages support | To support new or unknown languages | languages | the below | | JSDoc style for js/ts | File header user JSDoc style comments | useJSDocStyle | false | | Function comment settings | Function comment settings for languages | functionComment | the below | | Multiline comment highlighter | Whether the multiline comment highlighter should be active | multilineComments | true | | plaintext comment highlighter | Whether the plaintext comment highlighter should be active | highlightPlainText | false | | Use tags to color the comments | Tags which are used to color the comments | tags | the below | | Tags for light themes | Overwrite tags options for light themes | tagsLight | [] | | Tags for dark themes | Overwrite tags options for dark themes | tagsDark | [] |

Note:

  • include and exclude are used to control the scope of the file header update, except for addFileheader command.
  • author if the file is tracked by VCS, it will get the author name/email from VCS, else it will get it from userName/userEmail.
  • patternMultiline is true, the regular match will be less, and the performance will be better when batch update. When false, it supports some lines that are the same as the new file header and the line positions are different, and the performance impact is not significant.

Fileheader variables

  • {{birthtime}} {string} file create time. will get it from VCS or fallback to filesystem when it is not available
  • {{mtime}} {string} file modification time. will get it from VCS or fallback to filesystem when it is not available
  • {{authorName}} {string} if the file is tracked by VCS, it will get the author name from VCS. else it will get it from current user name
  • {{authorEmail}} {string} if the file is tracked by VCS, it will get the author email from VCS. else it will get it from current user email
  • {{userName}} {string} else it will get it from current user name
  • {{userEmail}} {string} userEmail user email is from VSCode config, and fallback to VCS config
  • {{companyName}} {string} companyName
  • {{projectName}} {string} name of current project
  • {{filePath}} {string} the file path, relative to project root with POSIX path separator
  • {{dirPath}} {string} the directory path, relative to project root with POSIX path separator
  • {{fileName}} {string} filename with extension
  • {{description}} {string} description for the file
  • {{now}} {string} current time when the fileheader is generating, use dateFormat to format the time

Custom variable value can use like this:

  • {{now 'YYYY-MM-DD HH:mm:ss'}} {string} current time when the fileheader is generating, use the custom format to format the time
  • {{now-1 'MM'}} {string} current time when the fileheader is generating, use month, support calculation

Default settings list

customVariables default settings:

[
  {
    "name": "description",
    "value": ""
  },
  {
    "name": "copyright",
    "value": "Copyright ©{{companyName}} All rights reserved"
  }
]

Tips:

  • To match the fileheader settings usePrevious fields

fileheader default settings:

[
  {
    "label": " * @file",
    "value": "{{filePath}}"
  },
  {
    "label": " * @description",
    "value": "{{description}}",
    "usePrevious": true
  },
  {
    "label": " * @author",
    "value": "{{authorName}} <{{authorEmail}}>"
  },
  {
    "label": " * @createTime",
    "value": "{{birthtime}}"
  },
  {
    "label": " * @lastModified",
    "value": "{{mtime}}"
  },
  {
    "label": "@copyright",
    "value": "{{copyright}}",
    "wholeLine": true
  }
]

Tips:

  • if use "usePrevious": true, please set the custom variable, then use the entire variable to represent the entire value.

languages default settings:

[
  {
    id: "astro",
    extensions: [".astro"],
    aliases: ["astro"],
    configuration: {
      comments: {
        blockComment: ["<!--", "-->"],
      },
    },
  },
]

functionComment default settings:

{
  "languagesSettings": [
    {
      "languageId": "typescript",
      "defaultReturnName": "default",
      "defaultReturnType": "auto",
      "defaultParamType": "any",
      "typesUsingDefaultReturnType": [
        "void",
        "never",
        "unknown",
        "any"
      ],
      "useTypeAlias": true,
      "paramNameBeforeType": true
    },
    {
      "languageId": "java",
      "defaultReturnName": "default",
      "defaultReturnType": "auto",
      "defaultParamType": "any",
      "paramNameBeforeType": false
    }
  ]
}

tags default settings:

[
  {
    "tag": "#",
    "color": "#18b566",
    "strikethrough": false,
    "underline": false,
    "backgroundColor": "transparent",
    "bold": true,
    "italic": false
  },
  {
    "tag": "!",
    "color": "#FF2D00",
    "strikethrough": false,
    "underline": false,
    "backgroundColor": "transparent",
    "bold": false,
    "italic": false
  },
  {
    "tag": "?",
    "color": "#3498DB",
    "strikethrough": false,
    "underline": false,
    "backgroundColor": "transparent",
    "bold": false,
    "italic": false
  },
  {
    "tag": "//",
    "color": "#474747",
    "strikethrough": true,
    "underline": false,
    "backgroundColor": "transparent",
    "bold": false,
    "italic": false
  },
  {
    "tag": [
      "todo",
      "to-do"
    ],
    "color": "#FF8C00",
    "strikethrough": false,
    "underline": false,
    "backgroundColor": "transparent",
    "bold": false,
    "italic": false
  },
  {
    "tag": "*",
    "color": "#98C379",
    "strikethrough": false,
    "underline": false,
    "backgroundColor": "transparent",
    "bold": false,
    "italic": false
  }
]

License

MIT

Enjoy!

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft