Skip to content

snehasishcodes/vscode-status

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VSCode Status Banner

🔗 Export your Visual Studio Code Activity to a REST API.

A Visual Studio Code extension that makes it easy for you to export and display your current (and recent) workspace and file details. No authentication required, just simply download the extension and you're all set. See exported workspace and file details here.

For example: I use it to display my current activity on my github profile

VSCode Status on my github profile


Getting Started

You can download the VSCode Status extension by snehasishcodes from the Visual Studio Marketplace.

Extension preview

Table of Contents

Extension Guide

Activating the extension

The extension activates automatically once you download it (usual behaviour) and everytime you open VSCode.
Once the extension starts it should give you the following notification.

Extension activation notification

And you should be able to see the following button on your VSCode Status Bar.

Extension status bar button preview

If it didn't behave as usual, please reach us at support.


Getting your API endpoint

You can click on either of the "Open API Endpoint" button on the extension's activation notification or the "Active" button on the Status bar.
This will open your API Endpoint URL in the browser.

Extension activation notification

Extension status bar button preview

OR

Open the VSCode Status Extension Settings (UI) and COPY THE UID (Unique ID)

Extension settings preview

You can then replace your UID in the following URL.

https://vscode.snehasish.xyz/api/users/:YOUR_UID

API Guide

API Base URL

https://vscode.snehasish.xyz/api/

API Endpoints

GET User

GET /users/:uid

Returns current and most recent activity of user with the specified UID.

Example Response

GET /users/17402284804991245448
{
    "id": "17402284804991245448",
    "current": {
        "started": "2025-02-22T12:49:31.461Z",
        "file": {
            "name": "README",
            "extension": "md",
            "path": "e:\\projects\\vscode-status\\README.md",
            "language": "markdown",
            "size": "7.51 KB",
            "lines": 214,
            "position": {
                "line": 0,
                "column": 0
            },
            "errors": 0
        },
        "workspace": {
            "name": "vscode-status",
            "path": "e:\\projects\\vscode-status"
        },
        "debugging": false
    },
    "recent": {
        "started": "2025-02-22T12:49:31.461Z",
        "file": {
            "name": "README",
            "extension": "md",
            "path": "e:\\projects\\vscode-status\\README.md",
            "language": "markdown",
            "size": "7.52 KB",
            "lines": 214,
            "position": {
                "line": 48,
                "column": 130
            },
            "errors": 0
        },
        "workspace": {
            "name": "vscode-status",
            "path": "e:\\projects\\vscode-status"
        },
        "debugging": false
    },
    "updated": "2025-02-22T12:48:00.499Z",
    "created": "2025-02-22T12:48:00.499Z"
}

Get User SVG

Returns the specified user's information in SVG with customizable lines and fields. For example: to directly embed it as image or iframe into your website.

Query Parameters

  • line1 : First line of text
  • line2 : Second line of text
  • line3 : Third line of text
  • line4 : Fourth line of text

All of the above params are optional.

Custom Fields & Values

Fields Values
{file} File name along with extension. Example: index.js
{fileName} File name without extension. Example: index
{fileExtension} File extension. Example: js
{filePath} Path to the file. Example: e:\\projects\\vscode-status\\index.js
{language} File language. Example: javascript
{size} File size in KB. Example: 5.75 KB
{lines} Total lines in file. Example: 95
{currentLine} Line position in file. Example: 12
{currentCol} Column position in current line. Example: 34
{errors} Total errors in the workspace. Example: 4
{workspaceName} Name of the current workspace. Example: vscode-status
{workspacePath} Path to the current workspace. Example: e:\\projects\\vscode-status
{debugging} Current debugging status (Yes / No). Example: No
{startedTimestamp} Timestamp for when the activity was started. Example: 1735137118372
{endedTimestamp} Timestamp for when (if) the activity ended. Example: 1735140603496
{elapsedTime} (Formatted) Total activity time in the current workspace. Example: 1h 4m

Example Response

GET /users/17402284804991245448/svg?line1={file}+|+{size}&line3=on+{workspaceName}&line4=for+{elapsedTime}

Get User SVG Example

Create a Project

Create any project that uses the VSCode Status API and we'll list it on this README!
For submissions join our Discord Server

Support

Something isn't working? Uh oh! We've got your back.
You can reach out for help on:

Self Hosting

Self hosting guide will be coming soon! Join our Discord for future updates

Sponsor

Well, I'm just a high school student creating stuff part-time but anyways. You can sponsor me (or this proj) here:

About

Expose your VSCode Status to a public API and access it any time.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published