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

Side by Side Diff: docs/linux_eclipse_dev.md

Issue 1318153003: [Docs] fixes (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Created 5 years, 3 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 | « docs/linux_development.md ('k') | docs/linux_faster_builds.md » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Linux Eclipse Dev 1 # Linux Eclipse Dev
2 2
3 Eclipse can be used on Linux (and probably Windows and Mac) as an IDE for 3 Eclipse can be used on Linux (and probably Windows and Mac) as an IDE for
4 developing Chromium. It's unpolished, but here's what works: 4 developing Chromium. It's unpolished, but here's what works:
5 5
6 * Editing code works well (especially if you're used to it or Visual Studio). 6 * Editing code works well (especially if you're used to it or Visual Studio).
7 * Navigating around the code works well. There are multiple ways to do this 7 * Navigating around the code works well. There are multiple ways to do this
8 (F3, control-click, outlines). 8 (F3, control-click, outlines).
9 * Building works fairly well and it does a decent job of parsing errors so 9 * Building works fairly well and it does a decent job of parsing errors so
10 that you can click and jump to the problem spot. 10 that you can click and jump to the problem spot.
11 * Debugging is hit & miss. You can set breakpoints and view variables. STL 11 * Debugging is hit & miss. You can set breakpoints and view variables. STL
12 containers give it (and gdb) a bit of trouble. Also, the debugger can get 12 containers give it (and gdb) a bit of trouble. Also, the debugger can get
13 into a bad state occasionally and eclipse will need to be restarted. 13 into a bad state occasionally and eclipse will need to be restarted.
14 * Refactoring seems to work in some instances, but be afraid of refactors that 14 * Refactoring seems to work in some instances, but be afraid of refactors that
15 touch a lot of files. 15 touch a lot of files.
16 16
17 [TOC] 17 [TOC]
18 18
19 ## Setup 19 ## Setup
20 20
21 ### Get & Configure Eclipse 21 ### Get & Configure Eclipse
22 22
23 Eclipse 4.3 (Kepler) is known to work with Chromium for Linux. 23 Eclipse 4.3 (Kepler) is known to work with Chromium for Linux.
24 24
25 * Download the distribution appropriate for your OS. For example, for Linux 25 * [Download](http://www.eclipse.org/downloads/) the distribution appropriate
26 64-bit/Java 64-bit, use the Linux 64 bit package from 26 for your OS. For example, for Linux 64-bit/Java 64-bit, use the Linux 64 bit
27 http://www.eclipse.org/downloads/ (Eclipse Packages Tab -> Linux 64 bit 27 package (Eclipse Packages Tab -> Linux 64 bit (link in bottom right)).
28 (link in bottom right)).
29 * Tip: The packaged version of eclipse in distros may not work correctly 28 * Tip: The packaged version of eclipse in distros may not work correctly
30 with the latest CDT plugin (installed below). Best to get them all from 29 with the latest CDT plugin (installed below). Best to get them all from
31 the same source. 30 the same source.
32 * Googlers: The version installed on Goobuntu works fine. The UI will be 31 * Googlers: The version installed on Goobuntu works fine. The UI will be
33 much more responsive if you do not install the google3 plug-ins. Just 32 much more responsive if you do not install the google3 plug-ins. Just
34 uncheck all the boxes at first launch. 33 uncheck all the boxes at first launch.
35 * Unpack the distribution and edit the eclipse/eclipse.ini to increase the 34 * Unpack the distribution and edit the eclipse/eclipse.ini to increase the
36 heap available to java. For instance: 35 heap available to java. For instance:
37 * Change `-Xms40m` to `-Xms1024m` (minimum heap) and `-Xmx256m` to 36 * Change `-Xms40m` to `-Xms1024m` (minimum heap) and `-Xmx256m` to
38 `-Xmx3072m` (maximum heap). 37 `-Xmx3072m` (maximum heap).
39 * Googlers: Edit `~/.eclipse/init.sh` to add this: 38 * Googlers: Edit `~/.eclipse/init.sh` to add this:
40 39
41 export ECLIPSE_MEM_START="1024M" 40 ```
42 export ECLIPSE_MEM_MAX="3072M" 41 export ECLIPSE_MEM_START="1024M"
42 export ECLIPSE_MEM_MAX="3072M"
43 ```
43 44
44 The large heap size prevents out of memory errors if you include many Chrome 45 The large heap size prevents out of memory errors if you include many Chrome
45 subprojects that Eclipse is maintaining code indices for. 46 subprojects that Eclipse is maintaining code indices for.
46 47
47 * Turn off Hyperlink detection in the Eclipse preferences. (Window -> 48 * Turn off Hyperlink detection in the Eclipse preferences. (Window ->
48 Preferences, search for "Hyperlinking, and uncheck "Enable on demand 49 Preferences, search for "Hyperlinking, and uncheck "Enable on demand
49 hyperlink style navigation"). 50 hyperlink style navigation").
50 51
51 Pressing the control key on (for keyboard shortcuts such as copy/paste) can 52 Pressing the control key on (for keyboard shortcuts such as copy/paste) can
52 trigger the hyperlink detector. This occurs on the UI thread and can result in 53 trigger the hyperlink detector. This occurs on the UI thread and can result in
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 87
87 Set the Workspace to be a directory on a local disk (e.g. 88 Set the Workspace to be a directory on a local disk (e.g.
88 `/work/workspaces/chrome`). Placing it on an NFS share is not recommended -- 89 `/work/workspaces/chrome`). Placing it on an NFS share is not recommended --
89 it's too slow and Eclipse will block on access. Don't put the workspace in the 90 it's too slow and Eclipse will block on access. Don't put the workspace in the
90 same directory as your checkout. 91 same directory as your checkout.
91 92
92 ### Install the C Development Tools ("CDT") 93 ### Install the C Development Tools ("CDT")
93 94
94 1. From the Help menu, select Install New Software... 95 1. From the Help menu, select Install New Software...
95 1. Select the 'Workd with' URL for the CDT 96 1. Select the 'Workd with' URL for the CDT
96 1. If it's not there you can click Add... and add it. 97 If it's not there you can click Add... and add it.
97 1. See https://eclipse.org/cdt/downloads.php for up to date 98 See https://eclipse.org/cdt/downloads.php for up to date versions,
98 versions. 99 e.g. with CDT 8.7.0 for Eclipse Mars, use
99 1. e.g. with CDT 8.7.0 for Eclipse Mars, use 100 http://download.eclipse.org/tools/cdt/releases/8.7
100 http://download.eclipse.org/tools/cdt/releases/8.7
101 1. Googlers: We have a local mirror, but be sure you run prodaccess before 101 1. Googlers: We have a local mirror, but be sure you run prodaccess before
102 trying to use it. 102 trying to use it.
103 1. Select & install the Main and Optional features. 103 1. Select & install the Main and Optional features.
104 1. Restart Eclipse 104 1. Restart Eclipse
105 1. Go to Window > Open Perspective > Other... > C/C++ to switch to the C++ 105 1. Go to Window > Open Perspective > Other... > C/C++ to switch to the C++
106 perspective (window layout). 106 perspective (window layout).
107 1. Right-click on the "Java" perspective in the top-right corner and select 107 1. Right-click on the "Java" perspective in the top-right corner and select
108 "Close" to remove it. 108 "Close" to remove it.
109 109
110 ### Create your project(s) 110 ### Create your project(s)
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 ### Additional tips 392 ### Additional tips
393 393
394 1. Mozilla's 394 1. Mozilla's
395 [Eclipse CDT guide](https://developer.mozilla.org/en-US/docs/Eclipse_CDT) 395 [Eclipse CDT guide](https://developer.mozilla.org/en-US/docs/Eclipse_CDT)
396 is helpful: 396 is helpful:
397 1. For improved performance, I use medium-granularity projects (eg. one for 397 1. For improved performance, I use medium-granularity projects (eg. one for
398 WebKit/Source) instead of putting all of 'src/' in one project. 398 WebKit/Source) instead of putting all of 'src/' in one project.
399 1. For working in Blink (which uses WebKit code style), feel free to use 399 1. For working in Blink (which uses WebKit code style), feel free to use
400 [this](https://drive.google.com/file/d/0B2LVVIKSxUVYM3R6U0tUa1dmY0U/view?usp =sharing) 400 [this](https://drive.google.com/file/d/0B2LVVIKSxUVYM3R6U0tUa1dmY0U/view?usp =sharing)
401 code-style formatter XML profile 401 code-style formatter XML profile
OLDNEW
« no previous file with comments | « docs/linux_development.md ('k') | docs/linux_faster_builds.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698