VOOZH about

URL: https://marketplace.visualstudio.com/items?itemName=pgourlain.erlang

⇱ erlang - Visual Studio Marketplace


Skip to content
👁 Image
Sign in
Visual Studio Code>Programming Languages>erlangNew to Visual Studio Code? Get it now.
👁 erlang

erlang

Erlang language extension for Visual Studio Code
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Erlang for Visual Studio Code

👁 Visual Studio Marketplace
👁 Installs
👁 Build Status
👁 License

This extension adds support for the Erlang language to Visual Studio Code, including editing, building and debugging.

Editing support

  • Syntax highlighting
  • Automatic indentation
  • Erlang IntelliSense
  • Shows errors and warnings dynamically while you type
  • Go To Definition/Peek Definition
  • Hover help for standard functions
  • Hover for project functions showing head clauses
  • CodeLens showing exported functions and references
  • InlayHints showing parameters name in function calls
    • disable by default : enable in configuration settings
    • limits : only works with locals calls

👁 editing

InlayHints in function calls

👁 inlayHints

  • showing parameter name when it doesn't match with caller var name

Build

👁 build

  • Standard rebar3 is the default build tool, also rebar is supported. The rebar.config file should be placed in the root directory.
  • Build arguments are configurable, by default "compile" is used
  • You can override the default in configuration file (i.e. workspace settings)

👁 build

Debugger

  • Variables List shows variables from the current scope
  • Call Stack shows Erlang processes and allows to control them with e.g. Pause and Continue
  • Standard commands Step Over, Step Into, Step Out supported
  • Full breakpoints support:
    • Regular breakpoints
    • Function Breakpoints: use format module:function/arity
    • Conditional Breakpoints
    • Hit-Count Breakpoints

👁 debug-inlinevalues

Running debugger

You can provide a specific command line to 'erl' in launch.json configuration file in "arguments" entry.

👁 debug1

The modified code may be automatically build before debugger is started. To set automatic build up you need to:

  1. Add to launch.json file the entry "preLaunchTask": "rebar3 compile"
  2. Select Configure Task in the alert, choose Create tasks.json file from template and then Others: Example to run an arbitrary command
  3. This will create tasks.json for you. Change both label and command to "rebar3 compile".
  4. Add entry "problemMatcher": "$erlang"

👁 debug

Then, before debugging is started, modified files will be recompiled automatically.

Using this extension in Erlang Docker instance

Clone this repo, and try it :

For more information about vscode and containers :

Available commands

Support for Erlang tools, including rebar3, EUnit and Dialyzer

👁 commands

  • Dialyzer warnings displayed in Problems tab for easy navigation

Settings

  • erlang.erlangPath - Directory location of erl/escript
  • erlang.erlangArgs - Arguments passed to Erlang backend
  • erlang.erlangDistributedNode - Start the Erlang backend in a distributed Erlang node for extension development
  • erlang.rebarPath - Directory location of rebar/rebar3
  • erlang.rebarBuildArgs - Arguments to provide to rebar/rebar3 build command
  • erlang.includePaths - Include paths are read from rebar.config, and also standard set of paths is used. This setting is for special cases when the default behaviour is not enough
  • erlang.linting - Enable/disable dynamic validation of opened Erlang source files
  • erlang.codeLensEnabled - Enable/Disable CodeLens
  • erlang.cacheManagement - Specify where and how to store large cache tables
  • erlang.inlayHintsEnabled - Enable/Disable InlayHints
  • erlang.verbose - Activate technical traces for use in the extension development

Help

Some configuration tricks

Credits

File 'Erlang.tmLanguage' is inspired from https://github.com/textmate/erlang.tmbundle/blob/master/Syntaxes/Erlang.plist