Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Project TilesNew to Visual Studio Code? Get it now.
Project Tiles

Project Tiles

Dominik Mech

|
3 installs
| (1) | Free
| Sponsor
A tile dashboard for your projects: descriptions, logos, collections, git branch, last commit and languages.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Project Tiles

A lightweight tile dashboard for your projects, in its own editor tab. Available for VS Code and its forks (Positron, Cursor, Antigravity, VSCodium) and for JetBrains IDEs (PhpStorm, IntelliJ IDEA, WebStorm, …), all sharing one project list.

Project Tiles dashboard

Features

  • Tiles with name, description, logo (emoji or text, an image file, or an auto-detected logo.png / icon.png) and colour
  • Collections with colours and descriptions; drag & drop to reorder projects and collections
  • Git branch and last commit per repository, plus an ahead/behind badge (↓ to pull, ↑ to push, ✓ up to date); tiles refresh on their own after pull / commit / checkout
  • Languages like on GitHub (weighted by bytes), with a manual override per project (e.g. C#, ShaderLab for a Unity project instead of whatever its YAML suggests)
  • Add current folder in one click, with a form pre-filled from the open folder
  • Search across names, descriptions, paths, languages and branches
  • One projects.json shared by every editor and live-synced between open windows
  • English and Polish UI

Install

  • VS Code: Visual Studio Marketplace, or search for Project Tiles in the Extensions view
  • Positron, Cursor, Antigravity, VSCodium: Open VSX
  • PhpStorm and other JetBrains IDEs (2025.2+): Settings | Plugins | Marketplace, search for Project Tiles

Usage

Open the dashboard from the tiles icon in the activity bar or with Project Tiles: Open Dashboard. Click a tile to open the project in the current window; Ctrl+click (or New window) opens it in a new one.

Command What it does
Project Tiles: Open Dashboard Opens the dashboard tab
Project Tiles: Add Current Folder as Project Adds the open folder / workspace and opens the edit form
Project Tiles: Add Folder as Project… Picks a folder from disk
Project Tiles: Refresh Git & Language Info Forces a metadata refresh, including git fetch
Project Tiles: Open Data File (projects.json) Opens the catalog for manual editing or backup

Tip: bind projectTiles.open to a key, e.g. Ctrl+Alt+P.

Settings

Setting Default Meaning
projectTiles.openInNewWindow false Open projects in a new window by default
projectTiles.showOnStartup false Open the dashboard when a window starts without a folder
projectTiles.tileSize normal normal or compact
projectTiles.columns 3 Preferred number of tile columns (fewer when the window is narrow)
projectTiles.fetchRemote true Run git fetch before computing ahead/behind; off = compare with the last local fetch only
projectTiles.metadataCacheMinutes 10 How long git info is reused before re-checking
projectTiles.languageCacheHours 12 How long a language scan is reused before re-scanning
projectTiles.maxFilesScanned 15000 Upper bound on files inspected per project for language detection
projectTiles.languageIgnoreDirs node_modules, Library, obj, … Directories skipped during language detection

In JetBrains IDEs the same options are under Settings | Tools | Project Tiles.

Data and privacy

The project list and imported logos are stored in one folder shared by every editor:

OS Folder
Windows %APPDATA%\project-tiles
macOS ~/Library/Application Support/project-tiles
Linux $XDG_CONFIG_HOME/project-tiles (default ~/.config/project-tiles)

No telemetry, no accounts. The only network traffic is git fetch in your own repositories, when the dashboard opens and on manual refresh (turn it off with projectTiles.fetchRemote).

How it stays light

  • Activation only registers commands; nothing is scanned until the dashboard is opened.
  • Git info comes from a few short git calls per repository, only when a .git entry exists.
  • Language detection is a bounded breadth-first walk (depth and file-count limits, ignore list).
  • Results are cached on disk, so tiles render instantly from the last known state while fresh data streams in.
  • The dashboard is plain HTML/CSS/JS, no framework.

Development

npm install
npm run watch      # rebuild on change, then press F5 in VS Code
npm test           # unit tests
npm run package    # typecheck + tests + bundle + .vsix

The JetBrains plugin lives in jetbrains/ and reuses media/ and shared/.

  • src/domain – model and catalog rules (no vscode import, unit-tested)
  • src/services – git, language detection, logo storage, metadata
  • src/storage – JSON persistence and the shared data folder
  • src/webview – webview panel and the typed message protocol
  • media – dashboard page (also used by the JetBrains plugin)
  • shared – UI strings and the language table, used by both editions

Support

Project Tiles is free and open source. If it saves you time, you can buy me a coffee through GitHub Sponsors.

License

MIT © Dominik Mech

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft