README.md

December 20, 2025 · View on GitHub

RNX Snippets

Professional React & Next.js Snippets for VS Code

VS Code Marketplace Downloads License


✨ Features

FeatureDescription
Lightning FastCreate components, pages, and layouts in seconds
📝 Dual LanguageFull support for JavaScript & TypeScript
🔥 Next.js ReadyOptimized for Next.js 13+ App Router
🪝 React HooksComplete set of hooks snippets
🎯 Intuitive PrefixesEasy-to-remember shortcuts

📦 Installation

  1. Open VS Code
  2. Go to Extensions (Ctrl+Shift+X / Cmd+Shift+X)
  3. Search for "RNX Snippets"
  4. Click Install

Or install via command:

ext install Foshati.rnx-snippets

🛠 Manual Installation

For Cursor, Windsurf, Antigravity, VSCodium, or offline installation:

  1. Download the .vsix file from Releases

  2. Install via terminal:

# VS Code
code --install-extension rnx-snippets-1.1.0.vsix --force

# Cursor
cursor --install-extension rnx-snippets-1.1.0.vsix --force

# Antigravity
antigravity --install-extension rnx-snippets-1.1.0.vsix --force

# VSCodium
codium --install-extension rnx-snippets-1.1.0.vsix --force
  1. Or drag the .vsix file into the Extensions view

🚀 Snippets

🪝 React Hooks

PrefixDescription
ususeState Hook
ueuseEffect Hook
uemuseEffect on Mount (empty deps)
ucuseContext Hook
uruseRef Hook
umuseMemo Hook
ucbuseCallback Hook
urduseReducer Hook

🧩 Components (TypeScript)

PrefixDescription
tscReact Component with Props
tspNext.js Page Component
tslNext.js Layout Component
ts0Default Export Function
ts1Named Export Function
tsceComponent (export at bottom)
tspePage (export at bottom)
tsleLayout (export at bottom)
ts0eDefault Export (at bottom)
ts1eNamed Export (at bottom)

🧩 Components (JavaScript)

PrefixDescription
jscReact Component
jspNext.js Page Component
jslNext.js Layout Component
js0Default Export Function
js1Named Export Function
jsceComponent (export at bottom)
jspePage (export at bottom)
jsleLayout (export at bottom)
js0eDefault Export (at bottom)
js1eNamed Export (at bottom)

🔧 Advanced Patterns

PrefixDescription
tsh / jshCustom Hook Template
tsctx / jsctxContext Provider with Hook

🚀 Next.js App Router

PrefixDescription
nuc'use client' directive
nus'use server' directive
tsload / jsloadLoading Component
tserr / jserrError Boundary Component
ts404 / js404Not Found Page
tsapi / jsapiAPI Route Handler
tsmetaStatic Metadata
tsgmetaGenerate Metadata Function
tssa / jssaServer Action

📝 Examples

us - useState Hook

const [count, setCount] = useState<number>(0)

ue - useEffect Hook

useEffect(() => {
  // effect
  return () => {
    // cleanup
  }
}, [dependencies])

📝 Examples

tsc - TypeScript Component

type Props = {}

export const Button = ({}: Props) => {
  return (
    <div>Button</div>
  )
}

tsp - TypeScript Page

export default function HomePage() {
  return (
    <div>HomePage</div>
  )
}

tsl - TypeScript Layout

type Props = {
  children: React.ReactNode
}

export default function RootLayout({ children }: Props) {
  return (
    <div>
      {children}
    </div>
  )
}

💡 Tips

  1. Tab Completion: Type prefix + Tab to insert snippet
  2. Navigate Placeholders: Use Tab to jump between placeholders
  3. Auto-Rename: Component name updates in all locations

🧪 Development

# Install dependencies
pnpm install

# Run tests
pnpm test

# Package extension
pnpm pack

# Publish extension
pnpm publish

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

MIT License © 2024 Foshati


Made with ❤️ for React & Next.js developers