Add clang-format section to contributing.md
This commit is contained in:
		
							parent
							
								
									ae9439a3f9
								
							
						
					
					
						commit
						dc5933aff7
					
				
					 1 changed files with 12 additions and 0 deletions
				
			
		| 
						 | 
					@ -91,6 +91,18 @@ int foo(void) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Auto-formatting with clang-format
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Clang-format](https://clang.llvm.org/docs/ClangFormat.html) is part of LLVM and can automatically format your code for you, because ain't nobody got time to do it manually. We supply a configuration file for it that applies most of the coding conventions listed above. It will only change whitespace and newlines, so you will still have to remember to include optional braces yourself.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Use the [full LLVM installer](http://llvm.org/builds/) to get clang-format on Windows, or use `sudo apt install clang-format` on Ubuntu.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If you run it from the command-line, pass `-style=file` as an option and it will automatically find the .clang-format configuration file in the QMK root directory.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If you use VSCode, the standard C/C++ plugin supports clang-format, alternatively there is a [separate extension](https://marketplace.visualstudio.com/items?itemName=LLVMExtensions.ClangFormat) for it.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Some things (like LAYOUT macros) are destroyed by clang-format, so either don't run it on those files, or wrap the sensitive code in `// clang-format off` and `// clang-format on`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# General Guidelines
 | 
					# General Guidelines
 | 
				
			||||||
 | 
					
 | 
				
			||||||
We have a few different types of changes in QMK, each requiring a different level of rigor. We'd like you to keep the following guidelines in mind no matter what type of change you're making.
 | 
					We have a few different types of changes in QMK, each requiring a different level of rigor. We'd like you to keep the following guidelines in mind no matter what type of change you're making.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue