You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Jørgen Lien Sellæg 3bc136ad34 simplify appveyor build 8 years ago
cmake_modules Updated submodules and modernized cmake files 8 years ago
debian Fixes #251: Go to Usage and Rename now includes unopened files. Also includes various other cleanups related to this work. 8 years ago
docs Moved to GitLab 8 years ago
libclangmm@a3a85155fd Moved to GitLab 8 years ago
share Icon now also set in MacOS 9 years ago
src package.json files are no longer style formatted on save. These files are style formatted by for instance npm install, and additional style formatting would lead to unwanted commit changes 8 years ago
tests Fixed most of clang-tidy's performance checks 8 years ago
tiny-process-library@614c051787 Updated tiny-process-library submodule that has moved to GitLab 8 years ago
.gitignore Fixes #251: Go to Usage and Rename now includes unopened files. Also includes various other cleanups related to this work. 8 years ago
.gitlab-ci.yml add gitlab ci 8 years ago
.gitmodules add gitlab ci 8 years ago
CMakeLists.txt v1.4.4 8 years ago
LICENSE Updated license year 8 years ago
README.md add gitlab ci 8 years ago
appveyor.sh simplify appveyor build 8 years ago
appveyor.yml simplify appveyor build 8 years ago

README.md

juCi++

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.