Getting Started

Welcome to Code Nimble, the ultimate code editor for competitive programming. Here's a guide to help you get started with the app:

  • Download and install the latest version of Code Nimble.
  • Open the app and open your work folder or any folder.
  • You can edit the theme & visual settings.
  • Code using the editor & in app tools.
  • Fetch test cases of the problem you want to solve.
  • Run your code with pre-input.
  • Check expected output result.
  • Submit your code (if you use pbinfo or kilonova platforms).

You can check for updates and install it with check for updates feature from Home menu.

If you find any issues or have suggestions, please don't hesitate to contact us or you can create a issue and pull request on our official GitHub repository.

Have fun coding and solving problems with Code Nimble!

Configuration

To set up Code Nimble and take full advantage of its powerful features, follow these steps:

  • Compiler & Runtime Setup: Ensure your environment is ready:
    • C++: Install `g++` (GCC) compiler and add it to your system PATH.
    • Python: Install Python 3.x and verify that it's added to the PATH.
  • Submit Tools: Configure your account details for platforms like pbinfo.ro and kilonova.ro to submit code directly.
  • Test Case Integration: Install the Competitive Companion browser extension to fetch test cases directly into Code Nimble.
  • Template Management: Set up custom templates for faster coding:
    • Go to Templates > Create Templates and define boilerplate code for C++, Python, or other supported languages.
  • Editor Customization: Personalize the IDE for your preferences:
    • Choose a theme from the predefined options or upload your own JSON theme.
  • Input/Output Configuration: Utilize the built-in tools to manage:
    • Custom input files for testing.
    • Output comparison against expected results.
  • Local Server Setup: Enable the local server for real-time collaboration:
    • Set a server name and share the link with your teammates.

After completing these steps, restart the application to ensure all configurations are applied correctly.

Supported Languages

Code Nimble is designed to streamline competitive programming with support for multiple languages. Here are the languages and their features:

  • C++:
    • Full support with intelligent autocomplete, syntax highlighting, and debugging tools.
    • Built-in templates to speed up competitive programming workflows.
  • Python:
    • Full support with runtime integration for Python 3.x.
    • Enhanced debugging and linting options.
  • Java:
    • Template support for Java boilerplate code.
    • Basic syntax highlighting and code formatting.
  • HTML/CSS:
    • Template support for quick web prototypes.
    • Syntax highlighting for both HTML and CSS.

We are continuously expanding our language support to meet the needs of developers.

Key Features

Code Nimble offers a variety of tools and functionalities to make coding faster, easier, and more efficient. Here are the key features of the application:

  • Submit Tools: Submit your code directly to pbinfo.ro and kilonova.ro without leaving the IDE.
  • Fetch Test Cases: Import test cases from competitive platforms automatically using the Competitive Companion extension. No more manual copy-pasting!
  • Clean Interface: Enjoy a fast, user-friendly design that is highly customizable to fit your preferences.
  • Templates: Automate repetitive tasks by creating and using custom templates for your projects.
  • Run & Support: Run your C++ and Python files effortlessly with just a click.
  • Paint Window: Draw sketches or take notes directly in the IDE without needing an external app.
  • Local Server: Collaborate in real time with your teammates using the built-in local server feature.
  • Input, Output & Expected Output Management: Efficiently manage test cases by handling inputs, outputs, and expected results directly within the IDE.

Each feature is designed to simplify your coding experience and enhance productivity, making Code Nimble the ideal tool for competitive programming and development.

Themes & Customization

Make Code Nimble truly yours by customizing its appearance and behavior. Choose from pre-built themes or create your own for a personalized coding experience.

  • Predefined Themes: Switch between light, dark, and high-contrast themes designed for different coding environments.
  • Custom Themes: Design your own theme by editing a simple .json file. Define colors, font styles, and layout preferences to match your ideal workspace.
  • Real-Time Theme Switching: Change themes instantly without restarting the application for a seamless experience.
  • Font and Layout Settings: Customize font size, family, and line spacing to suit your reading comfort and focus.
  • Syntax Highlighting: Fine-tune syntax highlighting colors for better readability across supported programming languages.

Here’s an example of a custom theme JSON structure you can use:

                    {
                        "background_color": "#333333",
                        "treeview_background": "#333333",
                        "text_color": "#ffffff",
                        "button_color": "#555555",
                        "button_hover_color": "#777777",
                        "border_color": "#444444",           
                        "item_hover_background_color": "#555555", 
                        "item_hover_text_color": "#ffffff",  
                        "separator_color": "#444444",
                        "highlight_color": "#555555",
                        "line_number_background": "#454545",
                        "line_number_text_color": "#bfbfbf",
                        "editor_background": "#454545",
                        "editor_foreground": "#ffffff",
                        "selection_background_color": "#333333",
                        "status_bar_background": "#333333",
                        "ctn_words": "#444444",
                                    
                        "keyword_color": "#ff6b6b",
                        "string_color": "#ffb86c",
                        "comment_color": "#7a7a7a",
                        "include_color": "#7a7a7a",
                        "parenthesis_color": "#ff4d4d",
                        "number_color": "#f1fa8c",
                        "symbol_color": "#8be9fd"
                    }
                            
                        

Save this as a .json file and load it through the Theme Manager in the settings menu.