Skip to content

johnpapa/vscode-cloak

Repository files navigation

Cloak for Visual Studio Code

Cloak Icon

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 in VSCode.dev

Badge for version for Visual Studio Code extension johnpapa.vscode-cloak Installs Downloads Rating

The MIT License All Contributors

Build Status

Install

  1. Open Extensions sideBar panel in Visual Studio Code and choose the menu options for View → Extensions
  2. Search for Cloak
  3. Click Install
  4. Click Reload, if required

Quick Usage

Let's see Cloak in action!

  1. Open a .env file
  2. Press F1 to open the command palette
  3. Type Cloak
  4. Choose Cloak: Hide Secrets

Now enjoy exploring the rest of the features explained in the docs!

Toggling the Secrets to show/hide with Cloak

Settings

Property Description
cloak.hideComments Specifies whether comments will be affected
cloak.environmentKeys Specifies the scopes for the environment keys that will be affected
cloak.environmentComments Specifies the scopes for the environment file comments that will be affected

Commands

Command Description
cloak.restoreDefaultScopes Restore the default TextMateRules scopes
cloak.hideSecrets Hide the secrets
cloak.showSecrets Show the secrets
cloak.toggleSecrets Hide/Show the secrets (opposite of current effect)

Issues

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.

Inspect Scopes

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.

Logging

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.

Changes

See the CHANGELOG latest changes.

FAQ

Does Cloak work in files other than .env files?

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 npm install.

Then you can run the debugger for the launch configuration Run Extension. Set breakpoints, step through the code, and enjoy!

Resources

Credits

Inspiration comes in many forms. These folks and teams have contributed either through ideas, issues, pull requests, or guidance. Thank you!

Contributors

Thanks goes to these wonderful people (emoji key):


John Papa

🚇 ⚠️ 💻

This project follows the all-contributors specification. Contributions of any kind welcome!

About

Cloak allows you to hide/show environment keys, to avoid accidentally sharing them with everyone who sees your screen.

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •