Cloak for Visual Studio Code
Cloak hides/shows your secrets in environment files, to avoid accidentally sharing them with everyone who sees your screen.
Cloak can be useful if you:
- present on stage
- stream on Twitch or YouTube
- record screencasts of your code
- Open Extensions sideBar panel in Visual Studio Code and choose the menu options for View → Extensions
- Search for
- Click Install
- Click Reload, if required
Let's see Cloak in action!
- Open a
F1 to open the command palette
Cloak: Hide Secrets
Now enjoy exploring the rest of the features explained in the docs!
||Specifies whether comments will be affected
||Specifies the scopes for the environment keys that will be affected
||Specifies the scopes for the environment file comments that will be affected
||Restore the default TextMateRules scopes
||Hide the secrets
||Show the secrets
||Hide/Show the secrets (opposite of current effect)
Please refer to the issues list and feel free to grab one and contribute!
How it Works
here are the really important aspects of Cloak:
- Cloak does not modify your files
- Cloak does not store any information about your secrets
- Cloak does change the foreground color to an alpha color of 00, which makes the secret transparent and hidden
Cloak uses TextMateRules scopes to match syntax found in the VS Code editor. When it finds a match, these values can be hidden or shown.
Only TextMateRule scopes apply. This means that if those scopes do not exist for a specific key or secret you want to hide, it cannot be done with cloak. You can determine if the scope you are looking for will work by using the Developer: Inspect Editor Tokens and Scope command from the command palette, then selecting the key and seeing the scope.
If you want to add or modify the scopes that apply to your secrets, you may change them in the settings.json for VS Code. Find the setting for
cloak.environmentKeys and modify as needed. If you ever need to revert to the defaults, choose the command
Cloak: Restore default scopes.
Cloak writes to VS Code's log output. You can open the output panel and select "Cloak" to see the log. This can be helpful when reporting issues.
See the CHANGELOG latest changes.
Does Cloak work in files other than
Not currently. Cloak relies on the TextMateRules and scopes that VS Code supports. These currently only support known scopes, and there is no way I could find that would narrow down the contents of specific files. If this changes, or if you have ideas, please consider proposing a Pull Request.
Try the Code
If you want to try the extension out start by cloning this repo,
cd into the folder, and then run
Then you can run the debugger for the launch configuration
Run Extension. Set breakpoints, step through the code, and enjoy!
Inspiration comes in many forms. These folks and teams have contributed either through ideas, issues, pull requests, or guidance. Thank you!
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!