Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>EventStack HelperNew to Visual Studio Code? Get it now.
EventStack Helper

EventStack Helper

qjsrodksro

|
1 install
| (0) | Free
VSCode extension that helps to add(The word insert seems to be dictionary correct, but I'll use add) eventStack tracking codes to function declarations in JavaScript, TypeScript, and Vue files
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

EventStack Helper

EventStack Helper is a VSCode extension that helps to add eventStack tracking codes to function declarations in JavaScript, TypeScript, and Vue files.
It helps developers track function calls by injecting window.eventStack.set("function", "functionName") at the beginning of function scopes.

Features

  • Automatic EventStack Insertion: Automatically adds eventStack tracking code to newly created functions when files are saved.
  • Manual EventStack Insertion: Manually adds eventStack tracking code to valid functions when using the key mapping, the command palette or the context menu.

📷 Demo1 - Automatically Add

demo1

📷 Demo2 - Command Palette

demo2

📷 Demo3 - Context Menu

demo3

Configuration

The extension provides these VSCode settings:

  • eventstack-helper.autoAddEventStack: Enable/disable automatic addition (default: true)
  • eventstack-helper.allowedFilePatterns: File glob patterns to process (default: **/*.js, **/*.ts, **/*.vue)
  • eventstack-helper.eventStackFunctionName: Custom eventStack function name (default: window.eventStack.set)

Requirements

  • VSCode: ^1.99.0 or higher
  • Node.js: v22.15.0 or higher (for development)

Supported Languages

  • JavaScript (.js)
  • TypeScript (.ts)
  • Vue (.vue - script sections only)

Usage Examples

Supported

  1. Named Arrow Functions (with or without parameters, except nested objects or rest parameters)
// automatic (o)
// manual (o)

const myFunction = (param1, param2) => {
  // eventStack code
};
  1. Named Normal Functions (with or without parameters, except nested objects or rest parameters)
// automatic (o)
// manual (o)

function myFunction(param1, param2) {
  // eventStack code
}
  1. Nested Functions
// automatic (o)
// manual (o)

function outerFunction() {
  function innerFunction() {
    // eventStack code
  }
}
  1. Function Expressions Assigned to Variables, Regardless the Existent of the Function Name(aa for the below case)
// automatic (x)
// manual (o)

const variableFunction = function aa() {
  // eventStack code
};
  1. IIFE(Immediately Invoked Function Expressions), Only in the Case That the Function has name
// automatic (x)
// manual (o)

(function iifeFunction() {
  // eventStack code
});
  1. Object Method Functions
// automatic (x)
// manual (o)

const object = {
  objectMethod1() {
    // eventStack code
  },
  objectMethod2: () => {
    // eventStack code
  },
  objectMethod3: function () {
    // eventStack code
  },
  objectMethod4: function name() {
    // eventStack code
  },
};
  1. class Method Functions
// automatic (x)
// manual (o)

class Class {
  classMethod1() {
    // eventStack code
  }
  classMethod2 = () => {
    // eventStack code
  }
  classMethod3 = function () {
    // eventStack code
  }
  classMethod4 = function name() {
    // eventStack code
  }
}
  1. Returned Functions, Only in the Case That the Function has name
// automatic (x)
// manual (o)

return function returnedFunction() {
  // eventStack code
};
  1. New Files (Functions added to newly created files get eventStack injection)

  2. Function Renaming (When a function name is changed, eventStack is added if the function doesn't already have it)

NOT Supported

  1. Variables and Non-Function Declarations
const commonVariable = "This is var1";
const commonRef = ref(0);
  1. Functions Without Body Blocks
const oneLineArrowFunction = () => "aa";
const multiLineArrowFunction = () => ({
  aa: "aa",
});
  1. One-Line Functions with Body
function oneLineFunction() { console.log("test"); }
const oneLineArrow = () => { console.log("test"); };
  1. Functions That Already Have EventStack
function existingFunction() {
  window.eventStack.set("function", "existingFunction");
}
  1. Files with Parsing Errors (Injection resumes only after parsing errors are fixed)

  2. File Renaming (When files are renamed, existing function information is moved but no new eventStack is added)

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft