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-format
installed. 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 + I
to format the current document. - Or you can also format your code using the command palette (
Ctrl + Shift + P
) and typingFormat Document
.
- Install the
clang-format
package if you haven't already. - Add the following to your Emacs configuration file (
.emacs
orinit.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-format
plugin using your preferred plugin manager (e.g.,vim-plug
):Plug ("sbdchd/neoformat")
- Add the following configuration to your
init.vim
orinit.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.
Feel free to modify this README to better fit your project's needs!