This repository contains a .clang-format configuration file for formatting C, C++, and other related source code files. This file can be used with various editors and IDEs to ensure consistent code style across your projects.
-
Ensure you have
clang-formatinstalled. You can install it via your package manager:- Ubuntu:
sudo apt install clang-format - macOS:
brew install clang-format - Arch:
sudo pacman -S clang - Other: Download from the LLVM releases page.
- Ubuntu:
-
Copy the .clang-format file to your project root for consistency with your teammates, or to your home directory (~) for global use.
curl -o ~/.clang-format https://raw.githubusercontent.com/Davphla/clang-format-epitech/refs/heads/main/.clang-format- Install the C/C++ extension from the Extensions Marketplace.
- Open your workspace settings and change (if needed) the following configuration in settings:
{ "C_Cpp.clang_format_style": "file" } - Now, you can use
Ctrl + Shift + Ito format the current document. - Or you can also format your code using the command palette (
Ctrl + Shift + P) and typingFormat Document.
- Install the
clang-formatpackage if you haven't already. - Add the following to your Emacs configuration file (
.emacsorinit.el):(require 'clang-format) (global-set-key (kbd "C-c C-f") 'clang-format-region)
- You can format the current region or buffer by using
C-c C-f.
- Install the
clang-formatplugin using your preferred plugin manager (e.g.,vim-plug):Plug ("sbdchd/neoformat") - Add the following configuration to your
init.vimorinit.lua:vim.cmd("autocmd FileType c,cpp setlocal formatprg=clang-format")
- You can format your code by running
:Neoformat.
You can also use clang-format directly from the command line. Navigate to your project directory and run:
clang-format -i <filename>Replace <filename> with the name of the file you want to format. The -i flag edits the file in place.
You can customize the .clang-format file to suit your coding style preferences. Refer to the Clang-Format Style Options for a comprehensive list of available options.
Contributions are welcome! Please feel free to submit a pull request or open an issue if you have suggestions or improvements.