OLD | NEW |
1 # Atom | 1 # Atom |
2 | 2 |
| 3 [Atom](https://atom.io/) |
| 4 ([Wikipedia](https://en.wikipedia.org/wiki/Atom_(text_editor))) is a |
| 5 multi-platform code editor that is itself based on Chromium. |
| 6 [Turtles aside](https://en.wikipedia.org/wiki/Turtles_all_the_way_down), Atom |
| 7 has a growing community and base of installable plugins and themes. |
| 8 |
| 9 You can download and install via links from the |
| 10 [main Atom site](https://atom.io/). If you're interested in checking out the |
| 11 code and contributing, see the |
| 12 [developer page](https://github.com/atom/atom/blob/master/docs/build-instruction
s/linux.md). |
| 13 |
3 [TOC] | 14 [TOC] |
4 | 15 |
5 ## Workflow | 16 ## Workflow |
6 | 17 |
7 A typical Atom workflow consists of the following. | 18 A typical Atom workflow consists of the following. |
8 | 19 |
9 1. Use `Ctrl-Shift-R` to find a symbol in the `.tags` file or `Ctrl-P` to find | 20 1. Use `Ctrl-Shift-R` to find a symbol in the `.tags` file or `Ctrl-P` to find |
10 a file by name. | 21 a file by name. |
11 2. Switch between the header and the source using `Alt-O`(`Ctrl-Opt-S` on OSX). | 22 2. Switch between the header and the source using `Alt-O`(`Ctrl-Opt-S` on OSX). |
12 3. While editing, `you-complete-me` package helps with C++ auto-completion and | 23 3. While editing, `you-complete-me` package helps with C++ auto-completion and |
13 shows compile errors through `lint` package. | 24 shows compile errors through `lint` package. |
14 4. Press `Ctrl-Shift-P` and type `format<Enter>` to format the code. | 25 4. Press `Ctrl-Shift-P` and type `format<Enter>` to format the code. |
15 5. Select the target to build by pressing `F7` and typing, for example, | 26 5. Select the target to build by pressing `F7` and typing, for example, |
16 `base_unittests`. | 27 `base_unittests`. |
17 6. Rebuild again by pressing `F9`. | 28 6. Rebuild again by pressing `F9`. |
18 | 29 |
19 ## Atom packages | 30 ## Atom packages |
20 | 31 |
21 To setup this workflow, install Atom packages for Chrome development. | 32 To setup this workflow, install Atom packages for Chrome development. |
22 | 33 |
23 ``` | 34 ``` |
24 $ apm install build-ninja clang-format \ | 35 $ apm install build build-ninja clang-format \ |
25 linter linter-cpplint linter-eslint switch-header-source you-complete-me | 36 linter linter-cpplint linter-eslint switch-header-source you-complete-me |
26 ``` | 37 ``` |
27 | 38 |
28 ## Autocomplete | 39 ## Autocomplete |
29 | 40 |
30 Install C++ auto-completion engine. | 41 Install C++ auto-completion engine. |
31 | 42 |
32 ``` | 43 ``` |
33 $ git clone https://github.com/Valloric/ycmd.git ~/.ycmd | 44 $ git clone https://github.com/Valloric/ycmd.git ~/.ycmd |
34 $ cd ~/.ycmd | 45 $ cd ~/.ycmd |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 on a project that frequently uses `foo` or `bar` in files names, you can create | 132 on a project that frequently uses `foo` or `bar` in files names, you can create |
122 a small `.tags` file to efficiently search the symbols within these files. Be | 133 a small `.tags` file to efficiently search the symbols within these files. Be |
123 sure to use "Exuberant Ctags." | 134 sure to use "Exuberant Ctags." |
124 | 135 |
125 ``` | 136 ``` |
126 $ git ls | egrep -i "foo|bar" | ctags -f .tags -L - | 137 $ git ls | egrep -i "foo|bar" | ctags -f .tags -L - |
127 ``` | 138 ``` |
128 | 139 |
129 Don't create a ctags file for the full Chrome repository, as that would result | 140 Don't create a ctags file for the full Chrome repository, as that would result |
130 in ~9GB tag file that will not be usable in Atom. | 141 in ~9GB tag file that will not be usable in Atom. |
OLD | NEW |