Skip to content

Commit 10eeddc

Browse files
authored
Merge pull request #4 from DeepCodeAI/Frank-Readme
Frank readme
2 parents 0c26c66 + 0de670d commit 10eeddc

File tree

9 files changed

+80
-15
lines changed

9 files changed

+80
-15
lines changed

README.md

Lines changed: 80 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,107 @@
11
# DeepCode plugin for JetBrains IDEs
22

33
**The JetBrains IDE extension provided by <a href="https://www.deepcode.ai">DeepCode.ai</a> finds bugs and critical vulnerabilities in your code. We support Java, C/C++, Python, JavaScript and TypeScript.**
4+
_Note:_ We support IntelliJ, PyCharm, and WebStorm. While it works in CLion, it is not officially supported. Feedback is always welcome, though.
5+
6+
![IDE View](images/view_total.png)
7+
8+
# Table of Contents
9+
10+
- [DeepCode plugin for JetBrains IDEs](#deepcode-plugin-for-jetbrains-ides)
11+
- [Table of Contents](#table-of-contents)
12+
- [DeepCode extension](#deepcode-extension)
13+
- [DeepCode's AI Engine finds bugs](#deepcodes-ai-engine-finds-bugs)
14+
- [Our AI provides explanation behind found bugs](#our-ai-provides-explanation-behind-found-bugs)
15+
- [Supported languages and PLatforms](#supported-languages-and-platforms)
16+
- [Installation](#installation)
17+
- [How to use it?](#how-to-use-it)
18+
- [Tool Window](#tool-window)
19+
- [Editor](#editor)
20+
- [.dcignore file](#dcignore-file)
21+
- [Settings](#settings)
22+
- [Feedback and contact](#feedback-and-contact)
423

524
# DeepCode extension
625

7-
Through the extension you can quickly start using DeepCode's code review and analysis within your development workflow. The extension will automatically alert you about critical vulnerabilities you need to solve in your code the moment when you hit Save in your IDE. With DeepCode's superior code review you save time finding and fixing bugs before they go to production.
26+
Through the extension you can quickly start using DeepCode's code review and analysis within your development workflow. The extension will automatically alert you about critical vulnerabilities you need to solve in your code the moment when you hit _Save_ in your IDE. With DeepCode's superior code review you save time finding and fixing bugs before they go to production.
827

928
## DeepCode's AI Engine finds bugs
1029

1130
DeepCode uses symbolic AI to process hundreds of millions of commits in open source software projects and learns how to find serious coding issues. Because the platform determines the intent of the code — and not only the syntax mistakes — DeepCode identifies 10x more critical bugs and security vulnerabilities than other tools.
1231

1332
## Our AI provides explanation behind found bugs
1433

15-
In order to show detailed explanation why something was flagged as bug we introduced a new AI technique called Ontology. With Ontology, we’ve integrated the capability to present logical conclusions within the DeepCode engine.
34+
In order to show the detailed explanation of a potential bug, we introduced a new AI technique called _Ontology_. With Ontology, we’ve integrated the capability to present logical argumentation used by the DeepCode engine.
1635

17-
## Supported languages
18-
19-
Java, C/C++, JavaScript, Python and TypeScript are currently supported.
36+
## Supported languages and PLatforms
2037

38+
JavaScript, TypeScript, Java, C/C++, and Python are currently supported. IntelliJ, WebStorm, and PyCharm as platform, officially minimal supported version: 2019.2.4. CLion support is experimental.
2139

2240
# Installation
2341

24-
To Install plugin from disk refer to official [Install plugin from disk
25-
](https://www.jetbrains.com/help/idea/2020.1/managing-plugins.html?utm_campaign=IC&utm_content=2020.1&utm_medium=link&utm_source=product#install_plugin_from_disk) guide.
42+
Open _Settings Menu_ then _PlugIns_, make sure you are searching in _Marketplace_. Type _DeepCode_ in search bar. From here, you can install the plugin easily.
43+
44+
![Install PlugIn](images/install_plugin.png)
45+
46+
DeepCode wants you to accept the general terms and conditions, and authenticate. _Login_ will redirect you to your default browser to login with either GitHub, GitLab, or Bitbucket and generate a token that is saved in the configuration.
2647

27-
Officially minimal supported version: 2019.2.4
48+
![Authentication](images/authenticate.png)
2849

2950
# How to use it?
3051

31-
After required IDE restart all project files analysis should start automatically.
52+
When you open a new project folder, you are asked if you want this project to be included in the scan.
53+
54+
![Confirmation](images/confirm.png)
55+
56+
If you accept, DeepCode will bundle the sources, analyze them, and show you the result. A summary, you can see in the status bar entry on the footer of the workspace. The status bar entry shows also how many errors, warnings and info suggestions have been found.
57+
58+
![Status Bar Entry](images/statusbar.png)
59+
60+
_Note:_ DeepCode will update the scan results whenever you change the file content.
61+
62+
## Tool Window
63+
64+
You can open the DeepCode Tool Window by either clicking on the Statusbar entry or by _View_ , _Tool Windows_, _DeepCode_.
65+
66+
![Tool Window](images/tool_window.png)
67+
68+
The tool window shows the overview of the suggestions in a treeview over the files. You can see how many issues were found overall, in how many files, and drill down into each file and finally each suggestion. The toolbar on the outmost left provides the following options (_Note:_ If you cannot see the toolbar, make sure it is enabled in the menu accessible via the wheel icon):
69+
* *Navigate with Single Click* Enables to load the source file in the editor when clicked on the suggestion
70+
* *Expand All / Collapse All* Expands or collapses the tree of files and suggestions
71+
* *Preview* Opens a preview pane on the right to show you the context of the suggestion in the source file
72+
* *DeepCode Settings* Opens the settings window for the DeepCode plugin
73+
* *Open Result in Web Browser* Loads the DeepCode dashboard with the results of the analysis. _Note:_ This provides additional resources and example fixes. Use it when the suggestion is not clear right away.
74+
* *Rescan* Triggers a fresh analyze run of this project
75+
76+
## Editor
77+
78+
In the editor, DeepCode decorates the code elements where it found a suggestion.
79+
80+
![editor decoration](images/code_context.png)
81+
82+
You find two functions in the context menu that you can reach by either hovering over the suggestion or by clicking on the yellow light bulb symbol.
83+
84+
* *Ignore this particualar suggestion* Adds a comment above the source code element that will disable the check for this particular suggestion. You can add your own comment to it to tell your fellow developers why you disabled this check.
85+
* *Ignore this suggestion in current file* Adds a comment above the source code element that will disable the check for this suggestion for the whole file. You can add your own comment to it to tell your fellow developers why you disabled this check.
86+
87+
The disabling functions are interesting if you want to flag testing code. DeepCode has heuristics to seperate testing and production code but this gives you the flexibility to flag your intent.
88+
89+
## .dcignore file
90+
91+
If you want to ignore certain files/folders (like *node_modules* for example), create a _.dcignore_ file. You can create it in any folder on any level starting from the directory where your project resides. The file syntax is identical to _.gitignore_. See also [DeepCode Documentation on .dcignore](https://deepcode.freshdesk.com/support/solutions/articles/60000531055-how-can-i-ignore-files-).
3292

33-
You'll see DeepCode panel at the bottom left Panels row.
34-
35-
There you can review found suggestions, change settings, re-analyse whole project.
93+
# Settings
3694

37-
Some actions also available at Tools->DeepCode.ai menu.
95+
In _Settings_, you can find _DeepCode Settings_.
96+
![DeepCode Settings](images/settings.png)
3897

98+
* *Enable DeepCode plugin* Enable or disable plugin
99+
* *DeepCode Server instance URL* Defualt is the address of the cloud based DeepCode service. If you run an on-premise server, you can redirect the plugin by using the URL of your internal server
100+
* *TokenId* After accepting the general terms and signing up, the access token is saved here. By deleting it, you can force DeepCode to re-authenticate.
101+
* *Min Severity level to show* What kinds of suggestion shall be shown. Default is all (Info, Warning, and Errors).
102+
* *Add Linters analysis* Include Linters into analysis process. _Note:_ This might lead to a significant delay as Linters are much slower than the DeepCode Engine.
103+
39104
# Feedback and contact
40105

41-
- In case you need to contact us or provide feedback, we would love to hear from you - [here is how to get in touch with us](https://www.deepcode.ai/feedback).
42-
- If you need to update this file, you can do so by [editing this README.md](https://github.com/DeepCodeAI/jetbrains-plugin/edit/master/README.md).
106+
- In case you need to contact us or you want to provide feedback, we love to hear from you - [here is how to get in touch with us](https://www.deepcode.ai/feedback).
107+
- If you need to update this file, you can do so by [editing this README.md](https://github.com/DeepCodeAI/vscode-extension/edit/master/README.md).

images/authenticate.png

3.13 KB
Loading

images/code_context.png

12.4 KB
Loading

images/confirm.png

3.45 KB
Loading

images/install_plugin.png

32.4 KB
Loading

images/settings.png

21.8 KB
Loading

images/statusbar.png

1.83 KB
Loading

images/tool_window.png

46.2 KB
Loading

images/view_total.png

103 KB
Loading

0 commit comments

Comments
 (0)