diff --git a/README.md b/README.md index 5ddfee58..569f7851 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## Masterproject +## Coati ### Setup diff --git a/web/documentation/img/analyse.png b/web/documentation/img/analyse.png deleted file mode 100644 index 0167a400..00000000 Binary files a/web/documentation/img/analyse.png and /dev/null differ diff --git a/web/documentation/img/finished_indexing_dialog.png b/web/documentation/img/finished_indexing_dialog.png new file mode 100644 index 00000000..3b261be3 Binary files /dev/null and b/web/documentation/img/finished_indexing_dialog.png differ diff --git a/web/documentation/img/graph_view_graph.png b/web/documentation/img/graph_view_graph.png index 6c16e61f..dda51c8e 100644 Binary files a/web/documentation/img/graph_view_graph.png and b/web/documentation/img/graph_view_graph.png differ diff --git a/web/documentation/img/indexing.png b/web/documentation/img/indexing.png new file mode 100644 index 00000000..97cf5e89 Binary files /dev/null and b/web/documentation/img/indexing.png differ diff --git a/web/documentation/img/indexing_dialog.png b/web/documentation/img/indexing_dialog.png new file mode 100644 index 00000000..a0131481 Binary files /dev/null and b/web/documentation/img/indexing_dialog.png differ diff --git a/web/documentation/img/new_project_summary.png b/web/documentation/img/new_project_summary.png index a22b893a..2732727e 100644 Binary files a/web/documentation/img/new_project_summary.png and b/web/documentation/img/new_project_summary.png differ diff --git a/web/documentation/img/path_list_box.png b/web/documentation/img/path_list_box.png index 47751b38..f36d5ef8 100644 Binary files a/web/documentation/img/path_list_box.png and b/web/documentation/img/path_list_box.png differ diff --git a/web/documentation/img/path_list_box_edit.png b/web/documentation/img/path_list_box_edit.png new file mode 100644 index 00000000..992657a1 Binary files /dev/null and b/web/documentation/img/path_list_box_edit.png differ diff --git a/web/documentation/img/preferences_screen.png b/web/documentation/img/preferences_screen.png index 1eb5ce0e..0941e2b2 100644 Binary files a/web/documentation/img/preferences_screen.png and b/web/documentation/img/preferences_screen.png differ diff --git a/web/documentation/img/progress_dialog.png b/web/documentation/img/progress_dialog.png new file mode 100644 index 00000000..9d38f5c4 Binary files /dev/null and b/web/documentation/img/progress_dialog.png differ diff --git a/web/documentation/img/project_setup_guide_data.png b/web/documentation/img/project_setup_guide_data.png index fb600c93..efe9768f 100644 Binary files a/web/documentation/img/project_setup_guide_data.png and b/web/documentation/img/project_setup_guide_data.png differ diff --git a/web/documentation/img/project_setup_guide_include.png b/web/documentation/img/project_setup_guide_include.png index 84b854d0..d4f46ef9 100644 Binary files a/web/documentation/img/project_setup_guide_include.png and b/web/documentation/img/project_setup_guide_include.png differ diff --git a/web/documentation/img/project_setup_guide_paths.png b/web/documentation/img/project_setup_guide_paths.png index c2264612..0010090a 100644 Binary files a/web/documentation/img/project_setup_guide_paths.png and b/web/documentation/img/project_setup_guide_paths.png differ diff --git a/web/documentation/img/project_setup_guide_paths_java.png b/web/documentation/img/project_setup_guide_paths_java.png new file mode 100644 index 00000000..dc826c79 Binary files /dev/null and b/web/documentation/img/project_setup_guide_paths_java.png differ diff --git a/web/documentation/img/project_setup_guide_select.png b/web/documentation/img/project_setup_guide_select.png index 0d510e76..15eeb6b6 100644 Binary files a/web/documentation/img/project_setup_guide_select.png and b/web/documentation/img/project_setup_guide_select.png differ diff --git a/web/documentation/img/project_setup_guide_summary.png b/web/documentation/img/project_setup_guide_summary.png index b1f7b95d..e04a2b11 100644 Binary files a/web/documentation/img/project_setup_guide_summary.png and b/web/documentation/img/project_setup_guide_summary.png differ diff --git a/web/documentation/img/project_setup_wizard_compilation_data.png b/web/documentation/img/project_setup_wizard_compilation_data.png index 21bd4492..097beef6 100644 Binary files a/web/documentation/img/project_setup_wizard_compilation_data.png and b/web/documentation/img/project_setup_wizard_compilation_data.png differ diff --git a/web/documentation/img/project_setup_wizard_compilation_header.png b/web/documentation/img/project_setup_wizard_compilation_header.png index 86471fc4..c3bd4a8c 100644 Binary files a/web/documentation/img/project_setup_wizard_compilation_header.png and b/web/documentation/img/project_setup_wizard_compilation_header.png differ diff --git a/web/documentation/img/project_setup_wizard_empty_framework_paths.png b/web/documentation/img/project_setup_wizard_empty_framework_paths.png index 1dcb322c..61845709 100644 Binary files a/web/documentation/img/project_setup_wizard_empty_framework_paths.png and b/web/documentation/img/project_setup_wizard_empty_framework_paths.png differ diff --git a/web/documentation/img/project_setup_wizard_empty_include_paths.png b/web/documentation/img/project_setup_wizard_empty_include_paths.png index 78e7d3ed..d4f46ef9 100644 Binary files a/web/documentation/img/project_setup_wizard_empty_include_paths.png and b/web/documentation/img/project_setup_wizard_empty_include_paths.png differ diff --git a/web/documentation/img/project_setup_wizard_empty_meta.png b/web/documentation/img/project_setup_wizard_empty_meta.png index 335d4def..af398643 100644 Binary files a/web/documentation/img/project_setup_wizard_empty_meta.png and b/web/documentation/img/project_setup_wizard_empty_meta.png differ diff --git a/web/documentation/img/project_setup_wizard_empty_project_paths.png b/web/documentation/img/project_setup_wizard_empty_project_paths.png index 1615b3dd..62844f0f 100644 Binary files a/web/documentation/img/project_setup_wizard_empty_project_paths.png and b/web/documentation/img/project_setup_wizard_empty_project_paths.png differ diff --git a/web/documentation/img/project_setup_wizard_start.png b/web/documentation/img/project_setup_wizard_start.png index 1b7539b7..15eeb6b6 100644 Binary files a/web/documentation/img/project_setup_wizard_start.png and b/web/documentation/img/project_setup_wizard_start.png differ diff --git a/web/documentation/img/refresh_button.png b/web/documentation/img/refresh_button.png new file mode 100644 index 00000000..97dd7136 Binary files /dev/null and b/web/documentation/img/refresh_button.png differ diff --git a/web/documentation/img/refresh_buttons.png b/web/documentation/img/refresh_buttons.png deleted file mode 100644 index a4612676..00000000 Binary files a/web/documentation/img/refresh_buttons.png and /dev/null differ diff --git a/web/documentation/img/search_view.png b/web/documentation/img/search_view.png index da4bbde3..15f737b5 100644 Binary files a/web/documentation/img/search_view.png and b/web/documentation/img/search_view.png differ diff --git a/web/documentation/img/start_indexing_dialog.png b/web/documentation/img/start_indexing_dialog.png new file mode 100644 index 00000000..1861244f Binary files /dev/null and b/web/documentation/img/start_indexing_dialog.png differ diff --git a/web/documentation/index.html b/web/documentation/index.html index 8abae91f..14d9797b 100644 --- a/web/documentation/index.html +++ b/web/documentation/index.html @@ -90,7 +90,7 @@
Documentation for version 0.7
+Documentation for version 0.8
When creating a new Coati project you will use the project setup wizard. This wizard splits the setup process into several subsequent steps.
-The simplest way to set up a Coati project is:
- +
@@ -188,10 +187,11 @@
@@ -241,22 +241,23 @@
Coati will now start indexing your source files, which might take a little while. The status bar will give you information about the progress. Otherwise the UI will be empty. Coati indexes all named symbols and their relationships throughout the provided source files.
+Coati will now ask you whether you want to start indexing. Click Start and wait for the indexing to finish, which might take a little while. The Indexing Dialog and the status bar will give you information about the progress. Otherwise the UI will be empty. Coati indexes all named symbols and their relationships throughout the provided source files.
+
After indexing has finished, Coati will show an overview of all indexed symbols in the graph view and some statistics in the code view. If the indexing yielded errors, the code view will display them. You can see the error message by hovering an error's location.
@@ -268,7 +269,7 @@C++ support is powered by Clang 3.8. For more Information please visit Clang C++ Status. If you have a problem loading C++ code, please have a look at Clang language compatibility or report a bug at our bug tracker.
+Coati 0.8 includes an early version of Java support which is powered by JavaParser and JavaSymbolSolver. In this version Java support still has some minor issues when matching a method's call to a proper definition. If you encounter any of these issues, please let us know by providing a minimal example at our bug tracker.
+These files usually ship with your compiler. For the Visual Studio IDE the system headers can be found at:
-path_to_visual_studio/VC/include/+
<path_to_visual_studio>/VC/include/
If you don't use the Visual Studio IDE you can also try to find your system headers in a subdirectory of:
C:/Program Files (x86)/Windows Kits/@@ -476,6 +480,28 @@
You will find the header search paths your compiler uses in the output between these two lines:
#include <...> search starts here:+
.
.
.
End of search list.
The Java Runtime Library (called "jvm.dll") can be found inside of your JRE install folder and looks like this:
+<path_to_jre>/bin/client/jvm.dll+ + +
The Java Runtime Library (called libjvm.dylib) can be found inside of your JRE install folder. Run the following command in your terminal to find the location of your default Java installation:
/usr/libexec/java_home+ +
This should give you a path looking like this:
+/Library/Java/JavaVirtualMachines/<jdk_version>/Contents/Home+ + The
"libjvm.dylib" should be available at:
+ /Library/Java/JavaVirtualMachines/<jdk_version>/Contents/Home/jre/lib/server/libjvm.dylib+ +
Insert the full path to libjvm.dylib into the Java Path setting in the Preferences Window.
The Java Runtime Library (called "libjvm.so") can be found inside of your JRE install folder and looks like this:
+<path_to_jre>/bin/<arch>/server/libjvm.so@@ -543,11 +569,30 @@
By pressing the pen icon in the bottom right corner you can open the plain text edition dialog. It allows you to edit the whole list within a text field. Each line will be one list item.
+
+ The Preferences window lets you define settings for all projects. You can open the Preferences from the menu via Help/Preferences.
+The Preferences window lets you define settings for all projects. You can open the Preferences from the menu via Edit/Preferences.
@@ -570,17 +615,45 @@
.framework files for all of your projects. An option for automatic detection of these paths is available for Clang and GCC. (For instructions on how to add paths see Path List Box.).framework files for all of your projects. An option for automatic detection of these paths is available for Clang and GCC. For instructions on how to add paths see Path List Box.The Project Setup Wizard consists of a sequence of windows that let you create a new Coati project. After selecting the programming language for your project Coati offers several ways for you to provide all the required information.
+
@@ -603,11 +677,12 @@
- This is the way to go if you just have some source files you want to index. In case you have a build instructions file, you might want to check out one of the other options for project setup described below.
- Project Meta Data + Project Meta DataIn the first step you need to enter meta information about the project.
+
@@ -620,7 +695,6 @@
.coatiproject file generated by Coati.If you already have a Visual Studio solution file, this is the way to go. Just select the solution file in the file picker and Coati will automatically analyze it to prepopulate the New Project Summary Window (this may take a second or two).
-If you are using CMake you can export compile commands by defining the CMAKE_EXPORT_COMPILE_COMMANDS flag and then use the exportet .json file for Coati project setup.
For non-CMake projects you can use Bear. Bear generates a .json file during the simulated build process. Bear has been tested on FreeBSD, GNU/Linux and OS X.
Choose this option if you want to use Coati on a Java code base.
+ + Project Meta Data +This is the same window as described above.
+ + + + Project Paths +In this step you provide all the information Coati needs to know about your code base.
+ +
+ | Setting | Description |
|---|---|
| Project Paths | Provide the root path of your Java project. This is the path where all your package names are relative to. You may provide multiple paths here. For an example this may be required it your project's source code resides in one location but generated source files are kept at a different location. |
| Class Path | Add one entry per jar file that is required for the project to compile. You can also add the root path of the class files your project depends on, or add a mixture if you have class files for some of the dependencies and jar files for the rest of them. |
This window appears at the end of the Project Setup Wizard to summarize all the information entered before. It is the same as the Edit Project Window.
@@ -786,6 +888,7 @@This window displays all the information relevant for your Coati project.
+
@@ -798,33 +901,56 @@
.coatiproject file generated by Coati.| Setting | Description for C/C++ |
|---|---|
| Visual Studio Solution | Only when using Setup from Visual Studio Solution. Provide the path to your Visual Studio Solution. Clicking the refresh arrow inside the text box will refresh the Project Paths and the Header Search Paths below. |
| Compilation Database | Only when using Setup from Compilation Database. Provide the path to your Compilation Database. |
| Header Paths | Only when using Setup from Compilation Database. Provide the paths to the corresponding header paths of your Compilation Database. |
| Indexed Header Paths | Only when using Setup from Compilation Database. Even though the compilation database specifies all the include paths required to compile the project, you may not want to spend a lot of time indexing all of these. Every time Coati encounters a header it will check if the file is located in one of these paths to decide whether or not to index it. |
| Include Paths | Specify where Coati should be looking for included headers. |
| Lazy Include Search | If this checkbox is checked Coati also looks into the project paths (including subdirectories) when resolving #include directives. |
| Global Include Paths | Same as Header Search Paths but these are used application wide for all of your Coati projects. |
| Lazy Include Search | If this checkbox is checked Coati also looks into the project paths (including subdirectories) when resolving #include directives. Use this option when you know that the project is self contained but don't know which paths you should specify as include paths. |
| Global Include Paths | Same as Include Paths but these are used application wide for all of your Coati projects. |
| Framework Search Paths | Mac only. Define the search paths for .framework files for your project. (For instructions on how to add paths see Path List Box.) |
| Global Framework Search Paths | Mac only. Same as Framework Search Paths but these are used application wide for all of your Coati projects. |
| Setting | Description for Java |
|---|---|
| Project Paths | Provide the root path of your Java project. This is the path where all your package names are relative to. You may provide multiple paths here. For an example this may be required it your project's source code resides in one location but generated source files are kept at a different location. |
| Class Path | Add one entry per jar file that is required for the project to compile. You can also add the root path of the class files your project depends on, or add a mixture if you have class files for some of the dependencies and jar files for the rest of them. |
| Advanced Setting | Description |
|---|---|
| Compiler Flags | Define compiler flags used during indexing e.g. -v |
| Source File Extensions | Define extensions for source files including the dot e.g. .cpp |
| Source File Extensions | Define extensions for source files including the dot e.g. .cpp or .java |
| Exclude Paths | Define files and directories that should not be indexed by Coati, although they appear in the Project Paths. |
| Advanced Setting | Description for C/C++ |
|---|---|
| Compiler Flags | Define compiler flags used during indexing e.g. -v |
These dialogs will be used while Coati indexes your project. The whole user interface will be frozen as long as these dialogs are visible.
+ + + +This dialog displays the number of files for indexing and clearing before indexing starts.
+ +
+ This dialog shows that Coati is currently doing processing that can't be interrupted.
+ +
+ This dialog shows the indexing progress of your project, by displaying the number of already indexed files, the last file that was started indexing, the number of errors and a progress estimate in percent.
+ +
+ This dialog is shown after indexing finished, giving you information about indexed files, duration and errors.
+ +
+ The left refresh button allows you to refresh the current project and reindex all updated files (see Refresh). With the right auto refresh toggle button you can activate automatic refresh, which will reindex all updated files whenever you put window focus on Coati's Main Window.
+The refresh button allows you to refresh the current project and reindex all updated, added and removed files. To reindex the whole project choose the Force Refresh option from the Edit Menu.
+
The communication between Coati and the code editor is achieved using a local TCP connection. Coati uses the port 6667 to listen for incoming messages. Outgoing messages will be sent to the port 6666.
+The communication between Coati and the code editor is achieved using a local TCP connection. Coati uses the port 6667 to listen for incoming messages. Outgoing messages will be sent to the port 6666. The port numbers can be edited in the Preferences Window.
Outgoing messages are in the form:
moveCursor>>absolute/file_path>>line_number>>column_number<EOM>
Incoming messages are in the form: