React One Click Component
Quickly generate React component files (component, style, index) directly from the VS Code explorer context menu. This extension is designed to streamline your workflow by creating a consistent and customizable file structure for your React components.

Features
- One-Click Generation: Create a full component structure by right-clicking on a folder.
- Customizable File Naming: Choose from
PascalCase
, camelCase
, kebab-case
, or snake_case
for your generated files.
- Flexible File Extensions: Supports both
.tsx
and .jsx
.
- Optional Files: Easily enable or disable the creation of
index
and style files.
- Multiple Style Options: Supports
scss
, css
, less
, and sass
for style files.
- Editable Templates: Customize the content of generated files by editing the base templates directly within VS Code.
Usage
- In the VS Code Explorer, right-click on the folder where you want to create the component.
- Select "⚛️ Generate React Component" from the context menu.
- The extension will automatically create linked component files based on the folder name and your configured settings.
For example, right-clicking on a folder named my-button
with the default setting fileNameCase: 'camelCase'
will generate:
myButton.tsx
myButton.module.scss
index.ts
If you set fileNameCase: 'PascalCase'
, the result will be:
MyButton.tsx
MyButton.module.scss
index.ts
These files already have the necessary code and imports to work together.
Configuration
You can customize the extension's behavior via the VS Code settings (settings.json
).
Setting |
Description |
Options |
Default |
react-one-click-component.fileExtension |
File extension for generated components. |
tsx , jsx |
tsx |
react-one-click-component.fileNameCase |
Casing for the component file names. The component name inside the file will always be PascalCase . |
PascalCase , camelCase , kebab-case , snake_case |
camelCase |
react-one-click-component.createIndexFile |
Create an index file for re-exporting the component. |
true , false |
true |
react-one-click-component.createStyleFile |
Create a style file for the component. |
true , false |
true |
react-one-click-component.styleExtension |
File extension for generated style modules. |
scss , css , less , sass |
scss |
How to Edit Templates
You can easily edit the templates used for file generation. Open the command palette (Ctrl+Shift+P
or Cmd+Shift+P
) and search for:
React One Click Component: Edit Component Template
React One Click Component: Edit Style Template
React One Click Component: Edit Index Template
Alternatively, you can find clickable links in the extension's settings UI.

Note on using .jsx
: The default component template includes TypeScript syntax (e.g., FC
type). If you set the fileExtension
to jsx
, you should edit the component template to remove any TypeScript-specific code. Use the React One Click Component: Edit Component Template
command to do this.
The following placeholders are available in the templates:
For component.template
:
${componentName}
: The name of the component in PascalCase
(e.g., MyButton
).
${styleImportBlock}
: A block for the style import. Automatically adds import styles from './...'
if createStyleFile
is enabled, otherwise it's an empty string.
${classNameProp}
: The className
attribute for the root element. Automatically adds className={styles.yourClassName}
if createStyleFile
is enabled, otherwise it's an empty string.
For style.template
:
${className}
: The CSS class name, always in camelCase
(e.g., myButton
).
For index.template
:
${componentName}
: The name of the component in PascalCase
(e.g., MyButton
).
${fileName}
: The base name for the files, formatted according to the fileNameCase
setting (e.g., myButton
or my-button
).
Development and Local Installation
Since this extension is not yet published on the VS Code Marketplace, you can build and install it locally by following these steps.
Clone the repository:
git clone https://github.com/winkyBrain/react-one-click-component.git
or with SSH
git clone git@github.com:winkyBrain/react-one-click-component.git
cd react-one-click-component
Install dependencies:
npm install
Package the extension:
This command will compile the source code and create a .vsix
package file in the project root.
npm run package
Install in VS Code:
- Open Visual Studio Code.
- Go to the Extensions view (or press
Ctrl+Shift+X
).
- Click the ... (More Actions) menu in the top-right corner of the view.
- Select Install from VSIX....
- Find and select the
.vsix
file generated in the previous step (e.g., react-one-click-component-0.1.0.vsix
).
- Reload VS Code when prompted.

Release Notes
See CHANGELOG.md for details on each release.
Happy Coding!