# Code Style Guide Code style is enforced using Visual Studio Code extensions. ## .hx Formatting is handled by the `nadako.vshaxe` extension, which includes Haxe Formatter. Haxe Formatter automatically resolves issues such as intentation style and line breaks, and can be configured in `hxformat.json`. Code Quality is handled by the `vshaxe.haxe-checkstyle` extension, which includes Haxe Checkstyle. ### Haxe Checkstyle Notes * Checks can be escalated to display as different serverities in the Problems window. * Checks can be disabled by setting the severity to `IGNORE`. * `IndentationCharacter` checks what is used to indent, `Indentation` checks how deep the intentation is. * `CommentedOutCode` check is in place because old code should be retrieved via Git history. * TODO items: Enable these one-by-one and fix them to improve the overall code quality. - Reconfigure `MethodLength` - Reconfigure `CyclomaticComplexity` - Re-enable `MagicNumber` - Re-configure `NestedControlFlow` - Re-configure `NestedIfDepth` - Figure out something for `Trace` - Fix bug and enable `DocCommentStyle` ## .json Formatting is handled by the `esbenp.prettier-vscode` extension, which includes Prettier. Prettier automatically handles formatting of JSON files, and can be configured in `.prettierrc.js`. ### Prettier Notes * Prettier will automatically attempt to place expressions on a single line if they fit, but will keep them multi-line if they are manually made multi-line. * This means that long singleline objects are automatically expanded, and short multiline objects aren't automatically collapsed. * You may want to use regex replacement to manually remove the first newline in short multi-line objects to convince Prettier to collapse them.