Apache NiFi Script Editor for VS Code
A professional Visual Studio Code extension for Apache NiFi that provides a powerful script editing environment for NiFi processors. Streamline your NiFi development workflow with syntax highlighting, direct NiFi integration, and comprehensive processor management.

Features
- 🌳 Dedicated NiFi Activity Bar: Professional NiFi section in VS Code activity bar
- 📝 Professional Script Editor: Full-featured editor for ExecuteScript/Groovy processors
- 💾 Direct NiFi Integration: Save changes back to NiFi with one click
- ⚡ Smart Processor Management: Automatic processor stopping when needed for editing
- 🔧 Multi-Language Support: Support for various script engines (Groovy, Python, JavaScript, etc.)
- 🔍 Syntax Highlighting: Automatic language detection and syntax highlighting
- 🔄 Auto-save Indicators: Visual indicators for unsaved changes
- 🛠️ Processor Controls: Start, stop, enable, and disable processors directly
- 🔒 Secure Authentication: Token-based authentication for HTTPS connections
- 📊 Version Enforcement: Built-in version control and update management
- 🔍 Processor Details: Comprehensive processor configuration viewer
- View and edit ALL NiFi processors directly in VS Code
- Dedicated NiFi activity bar with organized processor tree view
- Direct save to NiFi with processor state management
- Special support for script processors (ExecuteScript, Groovy, Python, etc.)
- Processor details viewer with full configuration editing
- Start/stop/enable/disable processor controls
- Secure NiFi connection with token-based authentication
- Auto-save indicators and script revert functionality
- Version enforcement system for update management
Requirements
- Visual Studio Code 1.85.0 or higher
- Access to an Apache NiFi instance
- NiFi instance URL configured in the extension settings
Quick Start
- Install the extension from the VS Code marketplace
- Configure your NiFi connection using the "Configure NiFi Connection" command
- Enter your NiFi URL (e.g.,
https://127.0.0.1:8443/nifi
)
- If using HTTPS, you'll be automatically prompted for username and password
- Open the NiFi Activity Bar - click the NiFi icon in the VS Code activity bar
- Start browsing and editing your NiFi processors and scripts!
Extension Settings
This extension contributes the following settings:
nifiScriptViewer.nifiUrl
: URL of your NiFi instance (e.g., https://127.0.0.1:8443/nifi/)
nifiScriptViewer.username
: Username for NiFi authentication (if required)
nifiScriptViewer.password
: Password for NiFi authentication (if required)
Authentication Setup
The extension automatically handles authentication for HTTPS connections:
Automatic Prompting (Recommended):
- Run "NiFi: Configure NiFi Connection"
- Enter your NiFi URL (e.g.,
https://127.0.0.1:8443/nifi
)
- If the URL is HTTPS, you'll be automatically prompted for username and password
- Your credentials will be securely stored for future use
Manual Settings (Advanced):
- Open VS Code Settings (JSON)
- Add your credentials:
{
"nifiScriptViewer.nifiUrl": "https://127.0.0.1:8443/nifi",
"nifiScriptViewer.username": "your_username",
"nifiScriptViewer.password": "your_password"
}
Usage
Basic Workflow
- Install the extension from the VS Code marketplace
- Configure your NiFi connection using the "Configure NiFi Connection" command
- Open the NiFi Activity Bar - click the NiFi icon in the VS Code activity bar
- Browse your NiFi processors in the organized tree view
- Click on any script processor to view and edit it
- Use the save button to save your changes back to NiFi
Script Editing
- Auto-save indicators show when you have unsaved changes
- Revert functionality allows you to restore the original script
- Language detection automatically sets the correct syntax highlighting
- Processor state management ensures scripts can be edited safely
Processor Management
- Start/Stop processors directly from the context menu
- Enable/Disable processors for maintenance
- View processor details including configuration and relationships
- Copy processor IDs for external reference
What's New in 1.0.0
Major Improvements
- 🎯 Dedicated Activity Bar: Professional NiFi section instead of Explorer integration
- 📁 Asset Organization: Clean asset structure with new logo design
- 🔄 Version Control: Built-in version enforcement and update management
- 💾 Enhanced Script Management: Improved save/revert with user confirmation
- 🎨 UI/UX Improvements: Better visual design and user experience
- 🔒 Security Enhancements: Improved authentication and error handling
Technical Improvements
- 🧹 Code Quality: Removed unused features and improved code organization
- 📚 Documentation: Comprehensive documentation and guides
- 🔧 Build System: Improved compilation and packaging process
- 🛡️ Error Handling: Better error messages and user feedback
Feedback and Support
We value your feedback! Please help us improve by:
- ⭐ Rating the extension on the VS Code marketplace
- 🐛 Reporting bugs through the marketplace
- 💡 Suggesting new features
- 📝 Sharing your use cases and success stories
Known Issues
Release Notes
1.0.0 (Current)
- Major UI/UX overhaul with dedicated NiFi activity bar
- Version enforcement system for update management
- Enhanced script editing with auto-save indicators
- Improved processor controls and state management
- Professional asset organization and new logo design
- Comprehensive documentation and guides
0.0.1
Initial release of Apache NiFi Script Editor:
- Professional script editing environment
- Process group navigation
- Script saving functionality
- Automatic processor stopping when needed
- Syntax highlighting
Roadmap
- [ ] Enhanced script validation
- [ ] Code completion for NiFi variables
- [ ] Script templates
- [ ] Multi-instance support
- [ ] Performance optimizations
- [ ] More language support
- [ ] Debugging capabilities
- [ ] Version control integration
Support
For support, feature requests, or bug reports, please:
- Check the documentation
- Open an issue on the marketplace
- Contact us through the marketplace
License
This project is licensed under the MIT License - see the LICENSE file for details.
Development & Build Guide
Adding Dependencies
- Use
npm install <package>
to add any npm dependency (e.g., npm install semver
)
- All dependencies must be bundled using esbuild (see below)
Bundling with esbuild
- This extension uses esbuild to bundle all dependencies into a single file for deployment
- Why? VS Code extensions do not include
node_modules
in the VSIX by default. Bundling ensures all dependencies are included and avoids runtime errors.
- The main entry point is
dist/extension.js
(bundled output)
Build & Package
- To build and bundle:
npm run esbuild-base
(or npm run esbuild
for sourcemaps)
- To create a VSIX package for deployment:
npx vsce package
- The VSIX will use the bundled
dist/extension.js
as the main entry point
Local Testing
- Install the VSIX in VS Code:
code --install-extension apache-nifi-script-editor-1.0.0.vsix
- Test all features as an end user
- Uninstall with:
code --uninstall-extension AnasAG.apache-nifi-script-editor
Troubleshooting
- Missing dependency errors? Ensure you have bundled all dependencies with esbuild before packaging
- If you add a new npm package, always re-bundle before packaging
- The extension will not work if dependencies are not bundled
Deployment
- After building and packaging, upload the
.vsix
file to the VS Code Marketplace or distribute directly
- Users can install the VSIX file directly or via the Marketplace
For more details, see the Product Requirements Document and [CHANGELOG.md].