We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Here are some useful snippets for Elixir development in VS Code:
{
// Place your snippets for elixir here. Each snippet is defined under a snippet name and has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the
// same ids are connected.
// Example:
// "Print to console": {
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"inpsect": {
"prefix": "lin",
"body": "IO.inspect($1, label: \"$1\", pretty: true)",
"description": "IO.inspect with label."
},
"inpsectSelectedText": {
"prefix": "sin",
"body": "IO.inspect($TM_SELECTED_TEXT, label: \"${TM_SELECTED_TEXT/(.*)/${1:/upcase}/}$0\", pretty: true)",
"description": "IO.inspect with selected text as label."
},
"pipeInspect": {
"prefix": "pin",
"body": "|> IO.inspect(label: \"$1\", pretty: true)",
"description": "IO.inspect with selected text as label."
},
"pipeInspectWithFileReference": {
"prefix": "pinf",
"body": "|> IO.inspect(label: \"$TM_FILEPATH:$TM_LINE_NUMBER$0\", pretty: true)",
"description": "IO.inspect with selected text as label."
},
"inspectFromClipboard": {
"prefix": "cin",
"body": "IO.inspect($CLIPBOARD, label: \"${CLIPBOARD/(.*)/${1:/upcase}/}$0\", pretty: true)",
"description": "IO.inspect clipboard content."
},
"tagThis": {
"prefix": "this",
"body": "@tag :this$0",
"description": "Add `@tag :this` for testing purposes"
},
"insertMap": {
"prefix": "m",
"body": "%{$1: $1$0}",
"description": "Insert map with double cursor both for key and value`"
},
"fastElixirMap": {
"prefix": "k",
"body": "$1: $1$0",
"description": "Fast map creation using the key as value as well `%{foo: foo}`"
},
"insertLabel": {
"prefix": "l",
"body": "label: \"$1\"",
"description": "insert `label` option to use in IO.inspect"
},
"insertInfinityOptions": {
"prefix": "inf",
"body": "limit: :infinity, printable_limit: :infinity$0",
"description": "configure IO.inspect to show EVERYTIHNG"
},
"pipeFile": {
"prefix": "pf",
"body": "|> Jason.encode!() |> then(& File.write!(\"./output_$CURRENT_SECONDS_UNIX.json$0\", &1))",
"description": "Serialize the content into JSON file (assuming that Jason installed and content serializable)."
}
}
To install them:
- Open the command palette (cmd + shift + p)
- Select "Snippets: configure snippets"
- Select "Elixir" as the language
- Paste in the json above
To use the snippets, either type the prefix in the editor or use the option "Snippets: insert snippet" from the command palette.
When you want to learn more about using snippets in VS Code, the documentation is your friend.
If this post was enjoyable or useful for you, please share it! If you have comments, questions, or feedback, you can email my personal email. To get new posts, subscribe use the RSS feed.