pro-cpp-cli-core
v1.3.1
Published
The ultimate C++ Developer Experience for Windows.
Maintainers
Readme
🚀 PRO C++ CLI Core (V1.3.1)
The ultimate Developer Experience (DX) for C++ on Windows. Inspired by Angular and .NET CLI. Stop fighting with compilers, start writing code.
🛠 Prerequisites
This tool is designed for Windows and requires Visual Studio 2022 (Community, Pro, or Enterprise).
- Install C++ Workload: Ensure "Desktop development with C++" is checked in Visual Studio Installer.
- Node.js: Install the latest LTS version.
📦 Installation
npm install -g pro-cpp-cli-core🚀 Quick Start
Create a new folder and open it in VS Code.
Initialize the project:
procpp init- Start the magic watcher:
procpp watch- Build a Library for .NET (DLL mode):
procpp watch dll⚠️ Important: Terminal Setup
To use procpp inside VS Code terminal, you MUST use the Developer Environment:
Press
Ctrl + Shift + P.Type
Terminal: Select Default Profile.Select
Developer PowerShell for VS 2022.Open a
NEW terminal. 💡
Now cl.exe is recognized, and procpp can build your code!
✨ Features (The PRO Way)
💎 Smart C++20 Modules Handling
Forget about manual build order. procpp automatically scans your .ixx (interfaces) and .cpp files, detects export module and import statements, and performs Topological Sorting to compile everything in the correct order.
📦 .NET 10+ Integration Ready
Compiling DLLs for C# usually brings headaches like DllNotFoundException. We fixed it:
Static Runtime Linking (/MT): All dependencies are packed into the DLL. No need for VC++ Redistributable on the server.
x64 Architecture Enforcement: Automatic checks to ensure your DLL matches your .NET runtime architecture. It is important to use the
x64 native tools command prompt for VS.💡Clean Artifacts: Auto-cleanup of
.obj,.exp,.lib, and.pdbfiles to keep your workspace pristine.
⌨️ Dynamic DLL Naming No more hardcoded filenames. You have two ways to name your library:
Interactive: Just run
procpp watch dlland the CLI will ask you for a name.Fast-Track: Run
procpp watch dll MyEngineto skip prompts and buildMyEngine.dllimmediately.
🔄 Advanced Hot-Reload Our watcher uses unique process management to bypass Windows file-lock issues. It terminates the old process, cleans up, and spawns the new build in milliseconds.
🛠 CLI Usage & Commands
| Command | Target | Argument | Description |
|---|---|---|---|
| init | | | Setup workspace, .vscode configs, and C++ template. |
| run | exe / dll | [Name] | Performs a single-pass compilation. |
| watch | exe / dll | [Name] | Starts hot-reload mode. Auto-rebuilds on file changes. |
| -h | --help | | Show the beautiful help menu. |
| -v | --version | | Show current version. |
Examples:
procpp watch dll MediaCore // Watches and builds MediaCore.dll (Fast-track)
procpp run dll // Build DLL once (Interactive prompt)
procpp watch // Standard hot-reload for EXE development🐞 Advanced C++20 Debugging (The PRO Way)
Want to run the watch hot-reload AND step through your code with F5 at the same time?
We've built a bulletproof PowerShell builder specifically for C++20 Modules that completely bypasses Windows file-lock issues.
How to set it up in 2 steps:
Download our magic build.ps1 and save it inside your
.vscode/ folder.Replace your
.vscode/tasks.jsonwith this configuration.
That's it! Press F5 to start debugging. Our script will auto-resolve your C++ module dependencies while keeping the procpp watch terminal clean and running in the background.
🧐 Why this package?
Tired of configuring CMake and tasks.json for days just to test a simple C++ idea? pro-cpp-cli-core brings modern Web Development DX (like Vite/Nodemon) to the C++ world. Zero configuration. Native C++20 Modules support. Just write code.
Created with ❤️ for the C++ Community.
