Skip to content

jabacchetta/vscode-essentials

Repository files navigation

VSCode Essentials (Extension Pack)

Inline (VSCode extension) version badge Inline (VSCode extension) installs badge Inline (VSCode extension) rating badge MIT license badge

VSCode Masterclass (Coming Soon)

Follow on Twitter and subscribe at DevCast to get priority access.

Introduction

VSCode Essentials is a collection of many individual extensions that includes all of the functionality needed to turn VSCode into a ⚡ supercharged ⚡ integrated development environment (IDE).

This extension pack is language-agnostic, and does not include functionality for specific programming languages or frameworks. Instead, this extension's objective is to remain relatively lean while delivering powerful features that all developers can benefit from.

Features

  • Enhanced comment highlights, styling, and wrapping
  • Todo manager
  • Snippet manager and generator
  • Run code
  • Spell check
  • Real-time collaboration with edits, calls, chats, and comments
  • Formatting of multiple files
  • Advanced git tooling
  • Multiple clipboards (clipboard ring)
  • Code screenshots
  • Project manager
  • Detection of non-printing characters
  • Smart backspacing (delete indentation/whitespace)
  • Cursor navigation with the ability to go to any character with a few keystrokes
  • Macros for executing multiple commands with a single keyboard shortcut
  • Extended multi-cursor functionality (incrementing, inserting numeric sequences, etc.)
  • Hack VSCode's stylesheets for UI elements that aren't yet included in the settings or official theme API
  • Semantic indent and scope guides
  • Automatic and manually added (tagged commits) local edit history
  • Bookmarks for marking lines of code and quickly jumping back to them
  • Giving workspaces unique colors to help identify the editor when working with multiple instances, using Live Share, or taking advantage of remote development
  • Add syntax highlighting to log files and to VSCode's output/debug panels
  • Toggle the display of hidden files in the explorer
  • GitHub Gist management with interactive playgrounds, code snippets, and notes
  • Synchronize edits you make in a Search Editor back to source files.

Recommended Settings

All Autocomplete

{
  // // TODO: Add files that you want to be included in IntelliSense at all times.
  // // Enable to get autocomplete for the entire project (as opposed to just open files). It's a
  // // good idea to read the All Autocomplete extension's documentation to understand the performance
  // // impact of specific settings.
  // "AllAutocomplete.wordListFiles": ["/src/"],
}

CodeStream

{
  "codestream.autoSignIn": false,
}

Customize UI

{
  "customizeUI.stylesheet": {
    // NOTE: Only hide icons if you're already familiar with their functionality and shortcuts
    // Hides specific editor action icons
    ".editor-actions a[title^=\"Toggle File Blame Annotations\"]": "display: none !important;",
    ".editor-actions a[title^=\"Open Changes\"]": "display: none !important;",
    ".editor-actions a[title^=\"More Actions...\"]": "display: none !important;",
    ".editor-actions a[title^=\"Split Editor Right (⌘\\\\)\"]": "display: none !important;",
    ".editor-actions a[title^=\"Run Code (⌃⌥N)\"]": "display: none !important;",

    // Adds a border below the sidebar title.
    // TODO: Update `19252B` in the setting below with the hex color of your choice.
    ".sidebar .composite.title": "border-bottom: 1px solid #19252B;",

    // Leaves only the bottom border on matching bracket border.
    ".monaco-editor .bracket-match": "border-top: none; border-right: none; border-left: none;",

    // Changes color of the circle that appears in a dirty file's editor tab.
    // TODO: Update `00bcd480` in the setting below with the hex color of your choice.
    ".monaco-workbench .part.editor>.content .editor-group-container.active>.title .tabs-container>.tab.dirty>.tab-close .action-label:not(:hover):before, .monaco-workbench .part.editor>.content .editor-group-container>.title .tabs-container>.tab.dirty>.tab-close .action-label:not(:hover):before": "color: #00bcd480;",
  },
}

GitLens

{
  // Toggle from command palette as needed.
  "gitlens.codeLens.enabled": false,
  "gitlens.currentLine.enabled": false,

  // Keep source control tools in same view.
  "gitlens.views.compare.location": "scm",
  "gitlens.views.fileHistory.location": "scm",
  "gitlens.views.lineHistory.location": "scm",
  "gitlens.views.repositories.location": "scm",
  "gitlens.views.search.location": "scm",
}

Macros

{
  // TODO: Add your own macros. Below are some examples to get you started. Execute these commands with the command palette, or assign them to keyboard shortcuts.
  // NOTE: Use in combination with the Settings Cycler settings listed further down this page.
  "macros.list": {
    // Toggle zoom setting and panel position when moving from laptop to external monitor and vice versa.
    "toggleDesktop": [
      "workbench.action.togglePanelPosition",
      "settings.cycle.desktopZoom",
    ],
    // Copy line and paste it below, comment out the original line, and move cursor down to the pasted line. Great for debugging/experimenting with code while keeping the original intact.
    "commentDown": [
      "editor.action.copyLinesDownAction",
      "cursorUp",
      "editor.action.addCommentLine",
      "cursorDown"
    ],
  },
}

MetaGo

{
  // TODO: Update styling to fit your theme. The following works well with Material Theme.
  "metaGo.decoration.borderColor": "#253036",
  "metaGo.decoration.backgroundColor": "red, blue",
  "metaGo.decoration.backgroundOpacity": "1",
  "metaGo.decoration.color": "white",

  // TODO: Update font settings to fit your preference.
  "metaGo.decoration.fontFamily": "'Operator Mono SSm Lig', 'Fira Code', Menlo, Monaco, 'Courier New', monospace",
  "metaGo.decoration.fontWeight": "normal",

  "metaGo.jumper.timeout": 60,
}

Project Manager

{
  // TODO: Add the folders where you keep your code projects at.
  "projectManager.any.baseFolders": [
    "$home/Code",
  ],

  "projectManager.any.maxDepthRecursion": 1,
  "projectManager.sortList": "Recent",
  "projectManager.removeCurrentProjectFromList": false,
}

Rewrap

{
  "rewrap.autoWrap.enabled": true,
  "rewrap.reformat": true,
  "rewrap.wrappingColumn": 100,
}

Settings Cycler

{
  // Use in combination with the Macro settings listed further up this page.
  "settings.cycle": [
    {
      "id": "desktopZoom",
      "values": [
        {
          "window.zoomLevel": 1,
        },
        {
          "window.zoomLevel": 1.4,
        }
      ]
    }
  ],
}

Todo Tree

{
  "todo-tree.highlights.customHighlight": {
      "TODO": {
        "foreground": "#FFEB95",
      },
      "NOTE": {
        "foreground": "#FFEB95",
        "icon": "note",
      },
      "FIXME": {
        "foreground": "#FFEB95",
        "icon": "alert",
      },

      // Clearly mark comments that belong to disabled (commented-out) code.
      "// //": {
        "foreground": "#5d7783",
        "textDecoration": "line-through",
        "type": "text",
        "hideFromTree": true,
      },
  },

  "todo-tree.tree.grouped": true,
  "todo-tree.tree.hideIconsWhenGroupedByTag": true,
  "todo-tree.tree.labelFormat": "∙ ${after}",
  "todo-tree.tree.showCountsInTree": true,
  "todo-tree.tree.showInExplorer": false,
  "todo-tree.tree.showScanOpenFilesOrWorkspaceButton": true,
  "todo-tree.tree.tagsOnly": true,
  "todo-tree.highlights.highlightDelay": 0,
  "todo-tree.general.tags": [
    "TODO",
    "FIXME",
    "NOTE",
    "// //",
  ],

  // Allow for matches inside of VSCode files (e.g. `settings.json`).
  "todo-tree.highlights.schemes": [
    "file",
    "untitled",
    "vscode-userdata",
  ],

  // Allows for matches inside of JSDoc comments.
  "todo-tree.regex.regex": "((\\*|//|#|<!--|;|/\\*|^)\\s*($TAGS)|^\\s*- \\[ \\])",
}

Bug Reports

Bug reports should be filed at the repository belonging to the individual extension that is causing the issue (click on the extension's marketplace link below and then look for the repo link in the sidebar, under "Project Details").

Known Issues

Some extensions will prevent the Output Colorizer extension from adding syntax highlighting in the output/debug panels. This is a VSCode limitation waiting for a fix. The current workaround is to disable extensions (when not needed) that conflict with the Output Colorizer extension. Code Runner is one of the known, conflicting extensions (which itself is also included in this extension pack).

Included Extensions

Extension Link
All Autocomplete All Autocomplete (VSCode extension) version badge
Bookmarks Bookmarks (VSCode extension) version badge
Checkpoints Checkpoints (VSCode extension) version badge
Code Runner Code Runner (VSCode extension) version badge
Code Spell Checker Code Spell Checker (VSCode extension) version badge
CodeStream CodeStream (VSCode extension) version badge
Control Snippets Control Snippets (VSCode extension) version badge
Customize UI Customize UI (VSCode extension) version badge
DotENV DotENV (VSCode extension) version badge
Easy Snippet Easy Snippet (VSCode extension) version badge
Explorer Exclude Explorer Exclude (VSCode extension) version badge
Format All Format All (VSCode extension) version badge
GistPad GistPad (VSCode extension) version badge
Git Graph Git Graph (VSCode extension) version badge
GitHub Pull Requests GitHub Pull Requests (VSCode extension) version badge
Gitignore Gitignore (VSCode extension) version badge
GitLens GitLens (VSCode extension) version badge
Gremlins Gremlins (VSCode extension) version badge
Hungry Delete Hungry Delete (VSCode extension) version badge
IntelliCode IntelliCode (VSCode extension) version badge
Live Share Live Share (VSCode extension) version badge
Live Share Audio Live Share Audio (VSCode extension) version badge
Live Share Chat Live Share Chat (VSCode extension) version badge
Live Share Whiteboard Live Share Whiteboard (VSCode extension) version badge
Local History Local History (VSCode extension) version badge
Macros Macros (VSCode extension) version badge
MetaGo MetaGo (VSCode extension) version badge
Monkey Patch Monkey Patch (VSCode extension) version badge
Multiple Clipboards Multiple Clipboards (VSCode extension) version badge
Output Colorizer Output Colorizer (VSCode extension) version badge
PDF PDF (VSCode extension) version badge
Peacock Peacock (VSCode extension) version badge
Polacode Polacode (VSCode extension) version badge
Project Manager Project Manager (VSCode extension) version badge
Rewrap Rewrap (VSCode extension) version badge
Search Editor: Apply Changes Search Editor: Apply Changes (VSCode extension) version badge
Settings Cycler Settings Cycler (VSCode extension) version badge
Text Pastry Text Pastry (VSCode extension) version badge
Todo Tree Todo Tree (VSCode extension) version badge

Releases

No releases published

Packages

No packages published