## Tips and Tricks
- Manually add code folding markers
- with comments:
```
//#region
fold me
//#endregion
```
## Extensions
### Todotree
- [Icons](https://primer.style/octicons/)
- [Docs](https://marketplace.visualstudio.com/items?itemName=Gruntfuggly.todo-tree)
- [GrucBox](https://github.com/morhetz/gruvbox)
## VS Code Stanard Variables
- <https://code.visualstudio.com/docs/editor/userdefinedsnippets>
### VS Code default variables
The following variables can be used:
- `TM_SELECTED_TEXT` The currently selected text or the empty string
- `TM_CURRENT_LINE` The contents of the current line
- `TM_CURRENT_WORD` The contents of the word under cursor or the empty string
- `TM_LINE_INDEX` The zero-index based line number
- `TM_LINE_NUMBER` The one-index based line number
- `TM_FILENAME` The filename of the current document
- `TM_FILENAME_BASE` The filename of the current document without its extensions
- `TM_DIRECTORY` The directory of the current document
- `TM_FILEPATH` The full file path of the current document
- `RELATIVE_FILEPATH` The relative (to the opened workspace or folder) file path of the current document
- `CLIPBOARD` The contents of your clipboard
- `WORKSPACE_NAME` The name of the opened workspace or folder
- `WORKSPACE_FOLDER` The path of the opened workspace or folder
For inserting the current date and time:
- `CURRENT_YEAR` The current year
- `CURRENT_YEAR_SHORT` The current year's last two digits
- `CURRENT_MONTH` The month as two digits (example '02')
- `CURRENT_MONTH_NAME` The full name of the month (example 'July')
- `CURRENT_MONTH_NAME_SHORT` The short name of the month (example 'Jul')
- `CURRENT_DATE` The day of the month as two digits (example '08')
- `CURRENT_DAY_NAME` The name of day (example 'Monday')
- `CURRENT_DAY_NAME_SHORT` The short name of the day (example 'Mon')
- `CURRENT_HOUR` The current hour in 24-hour clock format
- `CURRENT_MINUTE` The current minute as two digits
- `CURRENT_SECOND` The current second as two digits
- `CURRENT_SECONDS_UNIX` The number of seconds since the Unix epoch
#### Example
```md
Today is {{ CURRENT_YEAR }}.{{ CURRENT_MONTH }}.{{ CURRENT_DAY }},
```
output:
> Today is 2022.01.04
## Template Variable replacement
For replacing the standard variables inside the dendron template files
<https://wiki.dendron.so/notes/GelEQPZrSgr3CK9y10Nrg/#template-variables>
## VSCode Snippets
1. You can set a default value for a variable by using a colon (:).
Example:
- The DUE: property in the below snippet defaults to the current current month, date, hour but can be edited fairly quick
```json
"TODO": {
"prefix": "stodo",
"body": [
"- [ ] ${1:Enter Task}",
"- **CAPTURED:** ${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE}T${CURRENT_HOUR}:${CURRENT_MINUTE}:${CURRENT_SECOND}-08:00",
"- **DUE:** ${CURRENT_YEAR}-${2:${CURRENT_MONTH}}-${3:${CURRENT_DATE}}T${4:${CURRENT_HOUR}}:${5:${CURRENT_MINUTE}}:00-08:00",
"- **PRIORITY:** ${6|HIGH,MEDIUM,LOW|}",
"- **STATUS:** ${7|TODO,WAITING,IN PROGRESS,DONE|}",
"- **NOTES:** ",
" - $0",
],
"description": "Capture new TODO"
}
```
1. You can set dropdown values for a variable using a pipe (|).
Example:
```json
"Context Switch": {
"prefix": "scontext",
"body": [
"- **TYPE:** ${1|COMMS,SUPPORT,RESEARCH,MEETING,DEVELOPMENT,TESTING,VALIDATION,CI/CD,PROJECT MGMT,CONSULTING,DOCUMENTATION,ADMINISTRATION,TRAINING,BREAK|}",
"- **PROJECT:** ${2|PROJ1,PROJ2|}",
"- **TOOLS:** ${3|N/A,PYTHON,AZURE,POWER APPS,POWER AUTOMATE,POWER BI,SHAREPOINT,DENDRON|}",
"- **START:** ${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE}T${CURRENT_HOUR}:{$CURRENT_MINUTE}:${CURRENT_SECOND}-08:00",
"- **END:** ",
"- **DURATION:** ",
"- **NOTES:** ",
" - $0",
"---"
],
"description": "Capture new context switch"
}
```