Skip to content
| Marketplace
Sign in
Visual Studio Code>Snippets>Frontend Helper ProNew to Visual Studio Code? Get it now.
Frontend Helper Pro

Frontend Helper Pro

TigerDev Studio

|
28 installs
| (1) | Free
| Sponsor
All-in-one VS Code extension for frontend developers: React snippets, JS/TS linting, accessibility checks, auto import, tag rename, spell check, and CSS unit conversion.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Frontend Helper Pro

One extension for the frontend tasks you use every day: snippets, JS/TS linting, React performance analysis, imports, CSS conversions, spell checking, Git history, and more.

Published by TigerDev Studio.

Explore the Frontend Mindmap for a visual overview.

Quick start

  1. Install Frontend Helper Pro and open a frontend project.
  2. Start typing a snippet prefix such as rfc, uef, or imp, then press Tab or accept the completion.
  3. See JS/TS bugs as you type, and use the lightbulb menu for spelling fixes, missing imports, and CSS unit conversions.
  4. Open the Frontend Helper Pro Activity Bar view for file history and quick feature toggles.

No project configuration is required. Features are enabled by default and can be adjusted in VS Code Settings by searching for Frontend Helper Pro.

What you get

Feature What it does
Code snippets Inserts JavaScript, TypeScript, React, React Native, Redux, GraphQL, Storybook, PropTypes, and testing templates.
JS/TS Lint Reports syntax errors, undeclared variables, const reassignment, invalid await, and other correctness problems as you type.
Accessibility Guard Reports common accessibility problems, scores files, scans workspaces, and provides a dedicated sidebar report with safe Quick Fixes.
React Performance Guard Analyzes React and Next.js App/Pages Router code for unstable props, derived-state effects, unoptimized images, unnecessary Client Components, and oversized components.
Auto Import Finds exported workspace symbols and adds the correct import through completion or Quick Fix.
Auto Rename Tag Keeps paired HTML, XML, JSX, TSX, Angular, and Vue tags synchronized.
Spell Check Checks comments, strings, Markdown, and visible HTML text with CSpell-powered suggestions.
CSS Unit Conversion Converts between px, rem, rpx, and vw from completions, Quick Fix, or the Command Palette.
Import Cost Shows inline minified and gzip package-size annotations.
Git History Shows blame information for the current line and a browsable history for the active file.
Quick Actions Lets you enable or disable major features from the extension sidebar.

Language support

  • React and Next.js App Router or Pages Router in .js, .jsx, .ts, and .tsx
  • JavaScript, JSX, TypeScript, and TSX
  • HTML, XML, Angular templates, and Vue
  • CSS, SCSS, Sass, and Less
  • Markdown

Snippets

The extension includes 199 unique prefixes: 192 in JavaScript/JSX and 198 in TypeScript/TSX. TypeScript snippets generate typed variants where applicable.

Popular prefixes

Prefix Result
imp, imd, imt Default, named, or type-only imports
rfc, rfce React function components
rafc, rafce React arrow components
usf, uef useState and useEffect hooks
ucb, ume, usr, uct Callback, memo, ref, and context hooks
fref, rmc forwardRef and memoized components
rcontext, cp React context and provider
rnfc, rnss React Native component and stylesheet
rxaction, rrd Redux action and reducer
styc, estyc Styled Components templates
clg console.log
desc, test, tit Test suites and cases

Some compatibility prefixes generate legacy class components, lifecycle methods, PropTypes, or older Redux patterns. Deprecated lifecycle entries are labeled in their completion descriptions.

Complete prefix reference

Show all 199 supported prefixes
Prefix Method
anfn Create an arrow function
bnd Binds this to a method
cas If the specified expression is false, the message is written to the console along with a stack trace
cbl Comment big line
cccs Component Class With Constructor
ccl Clears the console
cco Writes the number of times that count() has been invoked at the same line and with the same label
ccs Component Class
ccsf Component Class Flow Type
ccsr Component Class With Redux
cct Create Context
cdc Component Did Catch
cdi Prints a JavaScript representation of the specified object
cdm Invoked once, only on the client (not on the server), immediately after the initial rendering occurs.
cdu Component Did Update
cdup Invoked immediately after the component's updates are flushed to the DOM.
cer Displays a message in the console and also includes a stack trace from where the method was called
cge Closes out the corresponding console.group().
cgr Groups and indents all following output by an additional level, until console.groupEnd() is called.
cin Displays a message in the console but also displays a blue information icon along with the logged message
cl Log output to console
clg Log a value to the console
cm Comment Block
cmmb Comment Big Block
cp Create a React context and provider
cref Create ref statement used inside constructor
crr Connect Redux
cs Creates and assigns a local variable using state destructuring
ctr Prints a stack trace from the point where the method was called
cwa Displays a message in the console but also displays a yellow warning icon along with the logged message
cwm DEPRECATED!!!. Invoked once, both on the client and server, immediately before the initial rendering occurs
cwr DEPRECATED!!!. Invoked when a component is receiving new props. This method is not called for the initial render.
cwrp Component Will Receive Props
cwu Component Will Update
cwum Component Will Unmount
cwun Invoked immediately before a component is unmounted from the DOM.
cwup DEPRECATED!!!. Invoked immediately before rendering when new props or state are being received.
dar Creates and assigns a local variable using array destructuring
desc Create a describe test suite
dob Creates and assigns a local variable using object destructuring
ed Export a default value
edccs Export default Component Class
edf Export default function in ES7 syntax
edl Disable an ESLint rule for the current line
ednl Disable an ESLint rule for the next line
edstyc Create a default-exported styled component
enf Create an exported named function
ess EStyle Sheet Style
est Creates empty state object. To be used in a constructor.
estyc Create an exported styled component
exa Export As
exd Export a named value
exp Export a default value
expgql Export a GraphQL-connected component
ffc Create a default-exported React function component
ffm Flow Fix Me
fin Iterating over property values of iterable objects
fof Iterating over property names of iterable objects
fre Creates a forEach statement in ES7 syntax
fref Create a React forwardRef component
gds Get Derived State From Props
gdsfp Invoked after a component is instantiated as well as when it receives new props.
graphql Create a GraphQL query for a component
gsbu Called right before mutations are made (e.g. before the DOM is updated)
hoc Create a higher-order component
hocredux Create a higher-order component connected to Redux
ima Import a named export with an alias
imd Import a named export
ime Import a module namespace
imn Import a module for its side effects
imp Import a default export
impt Import PropTypes
imr Import React
imrc Import React and Component
imrcp Import React, { Component } & Prop Types
imrd Import the React DOM createRoot API
imrm Import React, { memo }
imrmp Import React, { memo } & Prop Types
imrn Import an element from React Native
imro Import react as object
imrpc Import React, { Pure Component }
imrpcp Import React, { Pure Component } & Prop Types
imrs Import the React useState hook (JavaScript only)
imrse Import the React useEffect and useState hooks
ims Import Styled Components
imsn Import Styled Components for React Native
imt Import a TypeScript type (TypeScript only)
int Create a TypeScript interface (TypeScript only)
log Console Log
met Creates a method inside a class in ES7 syntax
nfn Create a named function
pccs Pure Component Class With Constructor
pcs Pure Component Class
pcsf Pure Component Class Flow Type
pge Creates a getter property inside a class in ES7 syntax
prom Creates and returns a new Promise in the standard ES7 syntax
props Access component's props
pse Creates a setter property inside a class in ES7 syntax
pta Array prop type
ptany Any prop type
ptao An array of a certain type
ptaor An array of a certain type required
ptar Array prop type required
ptb Bool prop type
ptbr Bool prop type required
pte Prop type limited to specific values by treating it as an enum
ptel React element prop type
ptelr React element prop type required
pter Prop type limited to specific values by treating it as an enum required
ptet An object that could be one of many types
ptetr An object that could be one of many types required
ptf Func prop type
ptfr Func prop type required
pti Is an instance of a class prop type
ptir Is an instance of a class prop type required
ptn Number prop type
ptnd Anything that can be rendered: numbers, strings, elements or an array
ptndr Anything that can be rendered: numbers, strings, elements or an array required
ptnr Number prop type required
pto Object prop type
ptoo An object with property values of a certain type
ptoor An object with property values of a certain type required
ptor Object prop type required
pts String prop type
ptsh An object taking on a particular shape
ptshr An object taking on a particular shape required
ptsr String prop type required
ptypes Create static PropTypes
rafc Create a default-exported React arrow component
rafce Create a named-exported React arrow component
rafcp Creates a React Arrow Function Component with ES7 module system with PropTypes
rcc Creates a React component class with ES7 module system
rccp Creates a React component class with PropTypes and ES7 module system
rce Creates a React component class with ES7 module system
rcep Creates a React component class with ES7 module system
rconst Adds a default constructor for it('', () => {})the class that contains props as arguments
rcontext Create a React context and provider
rcredux Creates a React component class with PropTypes with connected redux and ES7 module system
rct Create a Redux action type constant
redux Import redux statement
reduxmap Create Redux state and dispatch mapping functions
ren Basic render.
rfc Create a default-exported React function component
rfce Create a named-exported React function component
rfcp Creates a React Functional Component with ES7 module system with PropTypes
rmc Create a memoized React component
rmcp Creates a React Memo Function Component with ES7 module system with PropTypes
rnc Create a React Native function component
rnce React Native Component Export
rncredux Creates a React Native component class with PropTypes with connected redux and ES7 module system
rncs React Native Component With Styles
rnfc Create a React Native function component
rnpc React Native Pure Component
rnpce React Native Pure Component Export
rnss Create a React Native StyleSheet
rnstory React-Native Story
rnstyle React Native Styles
rpc Creates a React pure component class with ES7 module system
rpce Creates a React pure component class with ES7 module system export
rpcp Creates a React component class with ES7 module system
rpf Redux Pure Function
rrd Create a Redux reducer
rsf Creates a stateless React component as a named function without PropTypes (Reactjs code snippet)
rstory React Story
rue Create a React effect
rxaction Create a Redux action creator
rxconst Create a Redux action type constant
rxreducer Create a Redux reducer
rxselect Create a Redux selector
scu Invoked before rendering when new props or state are being received.
sfc Create a default-exported React arrow component
sl Create a default-exported React arrow component
slc Stateless Component Function
slr Create a default-exported React arrow component
snrtest Create a React Native Redux test setup
sntest Create a React Native Enzyme test setup
srtest Create test component
ssf Performs a shallow merge of nextState into current state
sst Performs a shallow merge of nextState into current state
state Component State
stest Create an Enzyme test setup
sti Executes the given function at specified intervals in ES7 syntax
sto Executes the given function after the specified delay in ES7 syntax
styc Create a styled component
tdesc Test Describe
test Create a test case
tit Create a test case
tsrcc Create a typed React class component (TypeScript only)
tsrcfull Create a typed React class component with props and state (TypeScript only)
tsrpfc Create a typed default-exported React function component (TypeScript only)
tsrsfc Create a typed named-exported React function component (TypeScript only)
tt Test
type Create a TypeScript type alias (TypeScript only)
ucb Create a memoized callback
uct Read a React context
uef Create a React effect
ume Create a memoized value
usf Declare React state
usr Declare a React ref

Command Palette

Open the Command Palette with Ctrl+Shift+P on Windows/Linux or Cmd+Shift+P on macOS, then search for Frontend Helper Pro.

Command Use
Frontend Helper Pro: Convert CSS Unit Convert the CSS value at the cursor or in the current selection.
Frontend Helper Pro: Restart Spell Check Re-run spelling diagnostics for open documents.
Frontend Helper Pro: Restart JS/TS Lint Re-run lint diagnostics for open JavaScript and TypeScript documents.
Frontend Helper Pro: Restart Accessibility Guard Re-run accessibility diagnostics for open frontend markup documents.
Accessibility: Analyze Current File Score the active frontend file and open its accessibility report.
Accessibility: Analyze Workspace Scan supported frontend files and open a workspace accessibility report.
Accessibility: Show Accessibility Report Open the most relevant current-file or workspace report.
Accessibility: Find Unlabeled Controls Find and navigate to unlabeled form controls across the workspace.
Accessibility: Find Keyboard Issues Find positive tab order and mouse-only interaction issues.
Frontend Helper Pro: Toggle Git History Annotation Show or hide the current-line blame annotation.
Frontend Helper Pro: Refresh File History Reload commits for the active file.
Frontend Helper Pro: Open File History Diff Compare a selected revision with its previous revision.
Frontend Helper Pro: Open File History Revision Open the selected historical version.
Frontend Helper Pro: Copy File History Commit Hash Copy the selected commit hash.

Settings

Frontend Helper Pro provides 61 settings. Open VS Code Settings and search for Frontend Helper Pro. Settings use application scope, so your choices apply across workspaces.

Auto Rename
Setting Purpose
frontendHelperPro.autoRename.enabled Enable automatic paired tag renaming.
frontendHelperPro.autoRename.languages Language IDs where paired tag renaming is active.
Spell Check
Setting Purpose
frontendHelperPro.spellCheck.enabled Enable spelling diagnostics for comments, strings, Markdown, and HTML text.
frontendHelperPro.spellCheck.languages Language IDs where spelling diagnostics are active.
frontendHelperPro.spellCheck.dictionary Global words that should be treated as correctly spelled across all workspaces.
frontendHelperPro.spellCheck.ignoreWords Words to ignore in spelling diagnostics.
frontendHelperPro.spellCheck.flagWords Words to always flag as spelling errors. Supports CSpell formats like "teh->the".
frontendHelperPro.spellCheck.locale CSpell locale/language used for spell checking.
frontendHelperPro.spellCheck.maxDiagnostics Maximum number of spelling diagnostics per document.
frontendHelperPro.spellCheck.numSuggestions Maximum number of spelling suggestions to generate per diagnostic.
frontendHelperPro.spellCheck.minWordLength Minimum word length checked by CSpell. Built-in flagged words can still be reported.
JS/TS Lint
Setting Purpose
frontendHelperPro.lint.enabled Enable zero-configuration correctness diagnostics.
frontendHelperPro.lint.languages Choose the JavaScript and TypeScript language modes to lint.
frontendHelperPro.lint.debounceMs Set the delay before linting after an edit.
frontendHelperPro.lint.maxDiagnostics Limit diagnostics shown per document.
frontendHelperPro.lint.ignoreCodes Suppress diagnostic codes such as TS2304 or 2588.
frontendHelperPro.lint.globals Allow project-specific global variable names.
Accessibility Guard
Setting Purpose
frontendHelperPro.accessibility.enabled Enable accessibility diagnostics and Quick Fixes.
frontendHelperPro.accessibility.languages Choose the frontend markup language modes to analyze.
frontendHelperPro.accessibility.debounceMs Set the delay before analysis after an edit.
frontendHelperPro.accessibility.maxDiagnostics Limit diagnostics shown per document.
frontendHelperPro.accessibility.maxWorkspaceFiles Limit files scanned by workspace report commands.
frontendHelperPro.accessibility.showStatusBar Show the active file accessibility score in the status bar.
CSS Units
Setting Purpose
frontendHelperPro.cssUnit.enabled Enable CSS unit conversion code actions and command.
frontendHelperPro.cssUnit.languages Language IDs where CSS unit conversion is active.
frontendHelperPro.cssUnit.baseFontSize Base font size used for px and rem conversions.
frontendHelperPro.cssUnit.viewportWidth Viewport width in px used for vw and rpx conversions.
frontendHelperPro.cssUnit.rpxDesignWidth Design width in rpx used for rpx conversions.
frontendHelperPro.cssUnit.precision Maximum decimal places for generated unit conversions.
frontendHelperPro.cssUnit.completion.enabled Show CSS unit conversion suggestions while typing values such as 20px.
frontendHelperPro.cssUnit.completion.targetUnits Target units shown as typing suggestions. The default makes 16px suggest 1rem, 32rpx, and 4.2667vw.
Auto Import
Setting Purpose
frontendHelperPro.autoImport.filesToScan Glob pattern for JavaScript and TypeScript files scanned for available exports.
frontendHelperPro.autoImport.showNotifications Show Auto Import indexing notifications.
frontendHelperPro.autoImport.doubleQuotes Use double quotes instead of single quotes in generated import statements.
frontendHelperPro.autoImport.spaceBetweenBraces Insert spaces inside named import braces.
frontendHelperPro.autoImport.useSemiColon Append a semicolon to generated import statements.
frontendHelperPro.autoImport.autoComplete Add discovered exports to completion lists and insert imports when accepted.
Import Cost
Setting Purpose
frontendHelperPro.importCost.enabled Show inline import cost annotations for package imports.
frontendHelperPro.importCost.languages Language IDs where import cost annotations are active.
frontendHelperPro.importCost.showGzip Show gzip size alongside minified import size.
frontendHelperPro.importCost.maxImports Maximum number of imports to annotate per document.
frontendHelperPro.importCost.timeoutMs Network timeout in milliseconds for import cost lookups.
Git History
Setting Purpose
frontendHelperPro.gitHistory.enabled Show inline Git history annotation for the current line.
frontendHelperPro.gitHistory.languages Language IDs where current-line Git history annotations are active. Use an empty array to enable every file language.
frontendHelperPro.gitHistory.showCommitSubject Show the commit summary in Git history annotations.
frontendHelperPro.gitHistory.showCommitHash Show the short commit hash in Git history annotations.
frontendHelperPro.gitHistory.maxSubjectLength Maximum commit summary length shown in Git history annotations.
frontendHelperPro.gitHistory.timeoutMs Timeout in milliseconds for Git history lookups.
File History
Setting Purpose
frontendHelperPro.fileHistory.enabled Enable the File History view for the active file.
frontendHelperPro.fileHistory.followRenames Follow file renames when loading file history.
frontendHelperPro.fileHistory.maxEntries Maximum number of commits shown in the File History view.
frontendHelperPro.fileHistory.timeoutMs Timeout in milliseconds for File History Git commands.

Feature guides

React Performance Guard for React and Next.js

React Performance Guard works with standard React projects and Next.js App Router or Pages Router projects. It activates automatically when react or next is declared in a workspace package.json; in other projects its diagnostics, status item, and sidebar section stay disabled. It analyzes .js, .jsx, .ts, and .tsx files locally as you type, without requiring ESLint configuration.

Project type Supported checks
React Unstable props, derived-state effects, large components, and file scoring
Next.js App Router All React checks plus unnecessary "use client" and Next.js image guidance
Next.js Pages Router All React checks plus Next.js image guidance

The first release detects:

  • Inline object, array, and function props passed to custom components
  • Standard <img> elements that can use Next.js Image
  • Effects whose only operation stores potentially derived state
  • Components that exceed configurable line, state-hook, or effect-hook limits
  • App Router files that may not need "use client"

The active React file displays ⚡ React Performance: 84 in the status bar. Click the score to open the report. The Frontend Helper Pro Activity Bar also includes a dedicated React Performance section with the current score and these actions:

React Performance: Analyze Current File
React Performance: Analyze Workspace
React Performance: Show Performance Report
React Performance: Find Large Components
React Performance: Find Unnecessary Client Components

Scores are guidance rather than benchmark results. Inline props and effects are reported conservatively, and potentially behavior-changing refactors are never applied automatically. In the report, select a file path under Files needing attention to open the file and jump to its first performance suggestion. A Fix action is shown for safe transformations: removing an unnecessary "use client" directive and hoisting fully static object or array props to module-level constants. Applying a fix immediately refreshes diagnostics and the score. Dynamic props and suggestions requiring architectural judgment remain marked Review. The same safe transformations are available from the editor Quick Fix menu.

JS/TS lint

Linting runs automatically in JavaScript, JSX, TypeScript, and TSX files with no project configuration. Problems appear in the editor and Problems panel with codes such as TS2588.

const status = 'ready';
status = 'done'; // TS2588: Cannot assign to a const variable.

The focused correctness checks include syntax errors, undeclared or misspelled variables, duplicate block-scoped declarations, variables used too early, const reassignment, and await outside an async function. Add a code to frontendHelperPro.lint.ignoreCodes when you do not want that diagnostic reported, or add a project-provided global to frontendHelperPro.lint.globals.

Accessibility Guard

Accessibility Guard analyzes HTML, JSX, TSX, Angular templates, and Vue markup as you type. It checks for missing image alternatives, iframe titles, document language, associated form labels, empty or icon-only buttons without accessible names, positive tabIndex values, and mouse-only handlers on non-interactive elements.

Native semantic elements are checked according to the requirements they carry. This includes accessible names for buttons, links, headings, dialogs, embedded content, and role="img" elements; alternative text for images, image inputs, and image-map areas; meaningful labels and fieldset legends; unique static IDs; valid clickable anchors; and warnings for obsolete moving or flashing elements. Custom framework components are left to their component contracts to avoid false positives.

Problems appear in the editor and Problems panel with codes such as A11Y001. The lightbulb menu offers predictable fixes, including adding alt="" for an explicitly decorative image, setting lang="en", and changing a positive tabIndex to 0. Fixes that require meaningful content, such as an iframe title or form label, are intentionally left for the developer.

The Frontend Helper Pro Activity Bar includes a dedicated Accessibility section with the current file score and these actions:

Accessibility: Analyze Current File
Accessibility: Analyze Workspace
Accessibility: Show Accessibility Report
Accessibility: Find Unlabeled Controls
Accessibility: Find Keyboard Issues

The report summarizes the average score, files analyzed, warnings, issue categories, and files needing attention. Workspace scans are local and can be capped with frontendHelperPro.accessibility.maxWorkspaceFiles. Select a file path under Files needing attention to open the file and jump directly to its first accessibility issue. When predictable fixes are available, the Fix action applies all safe fixes in that file and immediately refreshes its diagnostics and report score. Issues requiring meaningful developer input remain marked for review.

CSS unit conversion

Place the cursor on a value such as 16px, use the lightbulb menu, or run Frontend Helper Pro: Convert CSS Unit. The extension can convert the value to rem, rpx, or vw using your configured base font size and viewport width.

While typing CSS, equivalent values also appear as completions:

margin: 16px; /* suggests 1rem, 32rpx, and 4.2667vw */

Auto Import

Auto Import scans workspace source files and indexes exported symbols from JavaScript and TypeScript modules, including common barrel files:

export * from './buttons';
export { Card } from './Card';
export default function Modal() {}

When you type or Quick Fix an unresolved identifier such as Card, the extension can suggest:

import { Card } from './components';

Import Cost

Import cost annotations are inspired by wix/import-cost. The extension scans package imports such as:

import React from 'react';
import { debounce } from 'lodash-es';

It then shows inline minified and gzip sizes using package-size data:

import React from 'react';  4.6k (gzipped: 1.9k)

Relative imports and Node built-ins are ignored. If a package is not available from the remote size service, the extension falls back to an installed node_modules package entry file when possible, which helps with private scoped packages.

Git History

Git history annotations are shown on the active cursor line in Git-tracked files:

getUserProfile();  Narayanaraj, 14 months ago • AS-10653, AS-11134 fix

The extension uses git blame --line-porcelain with the current editor contents, so unsaved line changes stay aligned with the visible buffer. Untracked files and non-Git workspaces are ignored.

File History

The extension adds a dedicated Frontend Helper Pro Activity Bar icon. Open that container to see a collapsible File History view that follows the active file and shows the commit list directly, similar to GitLens. Selecting an entry opens a side-by-side diff between the selected revision and its previous revision, keeps that file history pinned while the diff or revision tab is open, and leaves the full commit list visible so you can quickly choose another entry. A collapsed Quick Actions section shows every feature switch with a green enabled or red disabled indicator and lets you toggle each one, while keeping common extension commands nearby.

The view uses git log --name-status --follow and can continue across renames when frontendHelperPro.fileHistory.followRenames is enabled. Right-click a history entry to open that exact revision or copy its full commit hash.

Spell Check

The spell checker uses CSpell dictionaries for English, frontend terms, HTML, CSS, and TypeScript. It supports global dictionary words and common in-document directives such as:

<!-- cspell:ignore projectword -->
<!-- cspell:words Acmefront -->

Development

npm install
npm run compile
npm test

Press F5 in VS Code to launch an Extension Development Host.

Sponsor

Frontend Helper Pro is independently maintained. If it saves you time, you can support its continued development through thanks.dev.

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