Skip to content
forked from cppit/jucipp

A lightweight & cross-platform IDE supporting the most recent C++ standards

License

Notifications You must be signed in to change notification settings

szymonk211/jucipp

This branch is 1 commit ahead of, 36 commits behind cppit/jucipp:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

cecd283 · May 5, 2018
Nov 30, 2017
Nov 30, 2017
Aug 19, 2017
Apr 30, 2018
Apr 27, 2018
May 23, 2017
May 5, 2018
May 4, 2018
Jan 2, 2018
Aug 19, 2017
May 24, 2016
Nov 30, 2017
May 1, 2018
Dec 9, 2017
Apr 27, 2018
Feb 20, 2018

Repository files navigation

juCi++ Build Status Build status

a lightweight, platform independent C++-IDE with support for C++11, C++14 and C++17 features depending on libclang version.

About

Current IDEs struggle with C++ support due to the complexity of the programming language. juCI++, however, is designed especially towards libclang with speed, stability, and ease of use in mind.

Features

  • Platform independent
  • Fast, responsive and stable (written extensively using C++11/14 features)
  • Syntax highlighting for more than 100 different file types
  • C++ warnings and errors on the fly
  • C++ Fix-its
  • Integrated Clang-Tidy checks possible through clang plugins, for instance (recreating existing build is needed):
    CXX=clang++ CXXFLAGS="-Xclang -add-plugin -Xclang clang-tidy -Xclang -plugin-arg-clang-tidy -Xclang -checks='-*,clang-analyzer-core.*'" juci [project-path]
    
  • Debug integration, both local and remote, through lldb
  • Supports the following build systems:
    • CMake
    • Meson
  • Git support through libgit2
  • Fast C++ autocompletion
  • Tooltips showing type information and doxygen documentation (C++)
  • Rename refactoring across files (C++)
  • Highlighting of similar types (C++)
  • Automated documentation search (C++)
  • Go to declaration, implementation, methods and usages (C++)
  • OpenCL and CUDA files are supported and parsed as C++
  • Other file types:
    • Language server protocol support is enabled if [language identifier]-language-server executable is found. This executable can be a symbolic link to one of your installed language server binaries. See language-server-protocol/specification.md for the currently defined language identifiers.
    • otherwise, only keyword and buffer completion supported
  • Find symbol through Ctags
  • Spell checking depending on file context
  • Run shell commands within juCi++
  • Regex search and replace
  • Smart paste, keys and indentation
  • Multiple cursors
  • Auto-indentation through clang-format or Prettier if installed
  • Source minimap
  • Split view
  • Multiple cursors
  • Full UTF-8 support
  • Wayland supported with GTK+ 3.20 or newer

See enhancements for planned features.

Screenshots

Dependencies

  • boost-filesystem
  • boost-serialization
  • gtkmm-3.0
  • gtksourceviewmm-3.0
  • aspell
  • libclang
  • lldb
  • libgit2
  • libclangmm (downloaded directly with git --recursive, no need to install)
  • tiny-process-library (downloaded directly with git --recursive, no need to install)

Installation

See installation guide.

Documentation

See how to build the API doc.

About

A lightweight & cross-platform IDE supporting the most recent C++ standards

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 99.2%
  • Other 0.8%