Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(982)

Side by Side Diff: docs/atom.md

Issue 2248503002: Instructions for using Atom text editor. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # Atom
2
3 [TOC]
4
5 ## Workflow
6
7 A typical Atom workflow consists of the following.
8
9 1. Use `Ctrl-Shift-R` to find a symbol in the `.tags` file or `Ctrl-P` to find
10 a file by name.
11 2. Switch between the header and the source using `Alt-O`.
12 3. While editing, `you-complete-me` package helps with C++ auto-completion and
13 shows compile errors through `lint` package.
14 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,
16 `base_unittests`.
17 6. Rebuild again by pressing `F9`.
18
19 ## Atom packages
20
21 To setup this workflow, install Atom packages for Chrome development.
22
23 ```
24 $ apm install build-ninja clang-format \
25 linter linter-eslint switch-header-source you-complete-me
26 ```
27
28 ## Autocomplete
29
30 Install C++ auto-completion engine.
31
32 ```
33 $ git clone https://github.com/Valloric/ycmd.git ~/.ycmd
34 $ cd ~/.ycmd
35 $ ./build.py --clang-completer
36 ```
37
38 ## JavaScript lint
39
40 Install JavaScript linter for Blink layout tests.
41
42 ```
43 $ npm install -g eslint eslint-config-google
44 ```
45
46 Configure the JavaScript linter to use the Google style by default by replacing
47 the contents of `~/.eslintrc` with the following.
48
49 ```
50 {
51 "extends": "google",
52 "env": {
53 "browser": true
54 }
55 }
56 ```
57
58 ## Configuration
59
60 Configure Atom by replacing the contents of `~/.atom/config.cson` with the
61 following. Replace `<path-of-your-home-dir>` and
62 `<path-of-your-chrome-checkout>` with the actual full paths of your home
63 directory and chrome checkout. For example, these can be `/Users/bob` and
64 `/Users/bob/chrome/src`.
65
66 ```
67 "*":
68 # Configure ninja builder.
69 "build-ninja":
70 ninjaOptions: [
71 # The number of jobs to use when running ninja. Adjust to taste.
72 "-j10"
73 ]
74 subdirs: [
75 # The location of your build.ninja file.
76 "out/gn"
77 ]
78 # Do not auto-format entire files on save.
79 "clang-format":
80 formatCOnSave: false
81 formatCPlusPlusOnSave: false
82 core:
83 # Treat .h files as C++.
84 customFileTypes:
85 "source.cpp": [
86 "h"
87 ]
88 # Don't send metrics if you're working on anything sensitive.
89 disabledPackages: [
90 "metrics"
91 "exception-reporting"
92 ]
93 # Use spaces instead of tabs.
94 editor:
95 tabType: "soft"
96 # Show lint errors only when you save the file.
97 linter:
98 lintOnFly: false
99 # Configure JavaScript lint.
100 "linter-eslint":
101 eslintrcPath: "<path-of-your-home-dir>/.eslintrc"
102 useGlobalEslint: true
103 # Don't show ignored files in the project file browser.
104 "tree-view":
105 hideIgnoredNames: true
106 hideVcsIgnoredFiles: true
107 # Configure C++ autocomplete and lint.
108 "you-complete-me":
109 globalExtraConfig: "<path-of-your-chrome-checkout>/tools/vim/chromium.ycm_ex tra_conf.py"
110 ycmdPath: "<path-of-your-home-dir>/.ycmd/"
111 # Java uses 4 space indents and 100 character lines.
112 ".java.source":
113 editor:
114 preferredLineLength: 100
115 tabLength: 4
116 ```
117
118 ## Symbol lookup
119
120 Atom fuzzy file finder is slow to index all files in Chrome. If you're working
121 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
123 sure to use "Exuberant Ctags."
124
125 ```
126 $ git ls | egrep -i "foo|bar" | ctags -f .tags -L -
127 ```
128
129 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.
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698