- 
                Notifications
    You must be signed in to change notification settings 
- Fork 680
Customize the Relative Folder and the File Name of the Problem File
The extension provides a flexible way to let the users customize the output file path of the problem files. You can achieve that by using the setting leetcode.filePath. For example:
Basically, this setting has the following schema:
"leetcode.filePath": {
    "default": {
        "folder": "",
        "filename": "${id}.${kebab-case-name}.${ext}"
    },
    "<language>": {
        "folder": "<relative folder path>",
        "filename": "<file name template>"
    },
    "<language>": {
        "folder": "<relative folder path>",
        "filename": "<file name template>"
    },
    ...
}If you have set a specified "<language>" in this setting, then the extension will honor that if a problem file is generated in that language, otherwise the extension will fallback to the "default". Now the following language are supported:
- bash
- c
- cpp
- csharp
- golang
- java
- javascript
- kotlin
- mysql
- php
- python
- python3
- ruby
- rust
- scala
- swift
You can customize the output folder name by setting the folder field. Some special variables can be used here, which the extension will dynamically resolve them:
- 
${tag}: The tag of the problem.
- 
${language}: The language you are using.
- 
${difficulty}: The difficulty of the problem.
- 
${company}: The company of the problem.
For example:
"folder": "${tag}-${difficulty}"
You can also customize the output folder name by setting the filename field. Some special variables can be used here, which the extension will dynamically resolve them:
- 
${id}: The ID of the problem.
- 
${name}: The original name of the problem.
- 
${camelCaseName}: The name of the problem but in camel case, e.g.:leetCode
- 
${PascalCaseName}: The name of the problem but in pascal case, e.g.:LeetCode
- 
${kebab-case-name}: The name of the problem but in kebab case, e.g.:leet-code
- 
${snake_case_name}: The name of the problem but in snake case, e.g.:leet_code
- 
${ext}: The extension name of the language you are using.
- 
${tag}: The tag of the problem.
- 
${language}: The language you are using.
- 
${difficulty}: The difficulty of the problem.
- 
${company}: The company of the problem.
For example:
"filename": "${id}-${kebab-case-name}.${ext}"