|
| 1 | +# Getting the best of your IDE |
| 2 | + |
| 3 | +All codes in this book works assume that you use a simple terminal to build your code |
| 4 | +run it, and interact with it. It also makes no assumption about your text editor. |
| 5 | + |
| 6 | +However, you may have your favourite IDEs, providing you auto-complete, type annotation, |
| 7 | +your preferred shortcuts and much more. This section explains how to get the best |
| 8 | +of your IDE using the code obtained from this book's repo. |
| 9 | + |
| 10 | +# Auto-completion, type annotation, and more |
| 11 | + |
| 12 | +Some IDEs fail to understand the code, because it fails to determine whether a term |
| 13 | +is defined in microbit or microbit-v2 codebase. If you fail to get auto-completion to work, |
| 14 | +you may want to try to edit the `Cargo.toml` files you encounter through this book, and remove |
| 15 | +all references to the version of microbit you are not using. That is: |
| 16 | +* in Cargo.toml you must remove the dependency and feature you do not use |
| 17 | +* in code, you must remove the part of the code guarded by `#[cfg(feature = "vI")]`, and the guard |
| 18 | + |
| 19 | +# IDEs configuration |
| 20 | + |
| 21 | +Below, we explain how to configure your IDE to get the best out of this book. |
| 22 | +If your IDE is not listed below, please improve this book by adding a section, so that the next |
| 23 | +reader get the best experience out of it. |
| 24 | + |
| 25 | +## How to build with IntelliJ |
| 26 | + |
| 27 | +When editing IntelliJ build configuration, here are a few non-default values: |
| 28 | +* you should edit the command. When this book tells you to run `cargo embed FLAGS`, |
| 29 | +you'll need to replace the default value `run` by the command `embed FLAGS`, |
| 30 | +* You should check "Emulate terminal in output console". Otherwise, your program will fail to print text to a terminal |
| 31 | +* You should ensure that the working directory is `microbit/src/N-name`, with `N-name` the directory of the chapter you |
| 32 | +are reading. You can not run from the `src` directory since it contains no cargo file. |
0 commit comments