docs: Add instructions for using qtcreator's issues pane
Add instructions for getting compiler errors into qtcreators Issues pane
when building with ninja, and other general cleanup.
[email protected]
Change-Id: I23e238e48a688a993cf2b40b9979f94d9fe18305
Reviewed-on: https://chromium-review.googlesource.com/680715
Reviewed-by: Sam McNally <[email protected]>
Reviewed-by: Chris Watkins <[email protected]>
Commit-Queue: Chris Watkins <[email protected]>
Cr-Commit-Position: refs/heads/master@{#504543}
diff --git a/docs/qtcreator.md b/docs/qtcreator.md
index 702354d..e9da7d56 100644
--- a/docs/qtcreator.md
+++ b/docs/qtcreator.md
@@ -1,41 +1,42 @@
-# Use Qt Creator as IDE or GUI Debugger
+# Use Qt Creator as an IDE or debugger UI
[Qt Creator](https://www.qt.io/ide/)
([Wiki](https://en.wikipedia.org/wiki/Qt_Creator)) is a cross-platform C++ IDE.
-You can use Qt Creator as a daily IDE or just as a GDB frontend and that does
-not require project configuration.
+You can use Qt Creator as a daily IDE or just as a GDB frontend (which does
+not require project configuration).
[TOC]
## IDE
-### Workflow
+### Workflow features
-1. `ctrl+k` Activate Locator, you can open file(not support sublime-like-search)
- or type `. ` go to symbol.
-2. `ctrl+r` Build and Run, `F5` Debug.
-3. `F4` switch between header file and cpp file.
-4. `ctrl+shift+r` rename symbol under cursor.
-5. Code completion is built-in. And you can add your snippets.
+* Built-in code completion.
+* Navigate to classes, files, or symbols with `ctrl+k`.
+* Switch between declaration and definition with `F2`.
+* Build with `ctrl+shift+b`.
+* Build and run with `ctrl+r`, or debug with `F5`.
+* Switch between the header file and cpp file with `F4`.
-### Setup as IDE
+### Setup
-1. Install latest Qt Creator
-2. under chromium/src `gn gen out/Default --ide=qtcreator`
-3. qtcreator out/Default/qtcreator_project/all.creator
-4. Help - Plugins - check ClangCodeModel to enable std completion
+1. Install the latest Qt Creator.
+2. Under chromium/src `gn gen out/Default --ide=qtcreator`.
+3. Start it with `qtcreator out/Default/qtcreator_project/all.creator`.
+4. Help - Plugins - check ClangCodeModel to enable std completion.
-It takes 3 minutes to parsing C++ files in my workstation!!! And It will not
-block you while parsing.
+It takes 3 minutes to parse all of chrome's C++ files on my workstation!!! And
+it does not block while parsing.
#### Code Style
-1. Help - About Plugins enable Beautifier.
+1. Help - About Plugins, enable Beautifier.
2. Tools - Options - Beautifier - Clang Format,
- change Clang format command: `$depot_tools_dir/clang-format`, select use
- predefined style: file. You can also set a keyboard shortcut for it.
-3. Tools - Options - Code Style import this xml file
+ change the Clang format command to: `$depot_tools_dir/clang-format`, and
+ set `Use predefined style: file`. You can also set a keyboard shortcut
+ for it.
+3. Tools - Options - Code Style, import this xml file.
```
<?xml version="1.0" encoding="UTF-8"?>
@@ -84,36 +85,46 @@
#### Build & Run
-In left panel, projects - setup the ninja command in build and clean step and
-executable chrome path in run.
+1. (Optional) Enable the issues pane for easy navigation to the location of
+ compiler errors. qtcreator expects to find compiler errors on stderr, but
+ ninja forwards all subcommand output to stdout. So use the following wrapper
+ script to forward it to stderr instead.
+```
+#!/bin/sh
+/path/to/depot_tools/ninja "$@" >&2
+```
+2. In the left panel - Projects, set up the ninja command in the build and
+ clean steps, and add the path to chrome in the run configuration.
+
## Debugger
**You can skip the project settings and use QtCreator as a single file
-standalone GDB frontend. **
+standalone GDB frontend.**
1. Tools - Options - Build & Run - Debuggers, make sure GDB is set.
-2. Tools - Options - Kits, change the Desktop kit to GDB(LLDB doesnot work in
- Linux).
-3. Open file you want to debug.
+2. Tools - Options - Kits, change the Desktop kit to GDB (LLDB doesn't work on
+ Linux).
+3. Open the file you want to debug.
4. Debug - Start Debugging - Attach to running Application, you may need to
- open chrome's task manager to find the process number.
+ open chrome's task manager to find the process id.
### Tips, tricks, and troubleshooting
-#### Debugger shows start then finish
+#### The debugger exits immediately
+
+Ensure yama allows you to attach to another process:
```
$ echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
```
-Ensure yama allow you to attach another process.
-#### Debugger do not stop in break point
+#### The debugger does not stop on breakpoints
-Ensure you are using GDB not LLDB in Linux.
+Ensure you are using GDB on Linux, not LLDB.
#### More
See
-https://chromium.googlesource.com/chromium/src/+/master/docs/linux_debugging.md
\ No newline at end of file
+https://chromium.googlesource.com/chromium/src/+/master/docs/linux_debugging.md