Erlang LS diagnostics
RefactorErl? now can integrate its diagnostics into Erlang LS. The following page will help you with the setup and give you some feature highlight.
What you need
- Erlang LS version: 0.29.0+
- RefactorErl?
- Erlang LS works best with the Visualiser VS Code plugin
How to set it up
RefactorErl? is like any other diagnostics in ELS, just it is computed outside of it. To enable you need to enable it in the config file of ELS. To learn more about how to config Erlang LS visit: ELS Configuration
diagnostics: enabled: - refactorerl
Some extra configuration is needed as the diagnostics are computed on the RefactorErl? node. You need to add a new root entry to diagnostic file, containing the node's name where RefactorErl? is running. (you must start the tool in distributed mode)
refactorerl: node: "nodeName@hostName"
By default all of the diagnostics are disabled, even if the tool is enabled as an Erlang LS diagnostic. You need to enable certain diagnostics manually. You need to create a new entry under node and tell the system which diagnostics you wish to run. See the currently supported diagnostics and the IDs of them below. You should have something similar in you config file:
diagnostics: enabled: - refactorerl refactorerl: node: "nodeName@hostName" diagnostics: - "unused_macros" - "unsecure_os_call"
Available diagnostics
Diagnostic ID | Diagnostic Description |
unused_macros | Unused Macros |
unsecure_interoperability | Lists interoperability related weaknesses |
unsecure_concurrency | Identifies concurrency related issues |
unsecure_os_call | Checks for OS injection |
unsecure_port_creation | Identifies port creation related issues |
unsecure_file_operation | Lists unsecure file handling |
unstable_call | Shows possible atom exhaustion |
nif_calls | Identifies unsecure NIF calls |
unsecure_port_drivers | Lists the unsecure ddll usage |
decommissioned_crypto | Lists the legacy functions from crypto module |
unsecure_compile_operations | Shows unsecure compile/code loading related operations |
unsecure_process_linkage | Lists unsecure process linkage |
unsecure_prioritization | Identifies unsecure process prioritization |
unsecure_ets_traversal | Lists unsecure ETS traversal |
unsafe_network | Checks for unsecure kernel related operation |
unsecure_xml_usage | Identifies unsecure xml parsing |
unsecure_communication | Lists unsecure communication related settings |
Attachments (1)
-
RefactorErl + Erlang LS_ok.pdf
(135.9 KB) -
added by manualwiki 3 years ago.
Feature highlight
Download all attachments as: .zip