Terbium-135

Terbium-135

VSCode: Folding all @doc at once

Is there a way to fold/unfold all occurrences of

@doc"""
[...]
"""

within a module at once (using a command or assigned keystroke) in VSCode?

Was talking to a colleague and have no idea where to look/ask at all.
Guess its part of language aware folding

Are there other editors which support this?

Marked As Solved

billylanchantin

billylanchantin

Fold All Block Comments never worked in VSCode using Lexical here

That’s the problem. So sorry I didn’t think to check. Language aware code-folding is only implemented right now in ElixirLS:

So you have to use ElixirLS as your LSP instead of Lexical to get the language aware folding.

Reminder: it’s generally the language server protocol (LSP) that implements features like code folding, not specific editors. That’s basically the point of LSPs: each editor just implements the protocol. That way communities don’t need to write a new language server per editor. So switching to Zed or Atom won’t fix your problem (unless of course that editor happens to implement its own LS for the language in question, but that’s not usually the case).

Also Liked

billylanchantin

billylanchantin

⌘K ⌘2 will do it for @doc in VSCode on MacOS.

The number indicates the level of indentation you want to fold. So ⌘K ⌘1 would fold the top-level defmodule, ⌘K ⌘2 folds all the 2nd level indented regions like @doc and def, ⌘K ⌘3 would fold all the highest-regions inside each def, etc.

Note: the default is that the command won’t fold the region where your cursor is. So if you’re trying to fold a particular @doc, make sure your cursor is outside it.

sodapopcan

sodapopcan

Vim certainly does and is actually on my list to write one for this very purpose. I have not done so yet but if you’re interested I’ll share here when done. Otherwise see :help fold-expr if you’re curious.

billylanchantin

billylanchantin

Oh and ⌘K ⌘J unfolds everything.

Where Next?

Popular in Questions Top

minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
openscript
Hello! Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New
vac
Hi, I'm quite new in Elixir and I'm trying to format a string to a PEM format. I have the certificate value like MIIDBTCCAe2...... and ...
New
mgjohns61585
Could someone help me? I'm making my first elixir program, number guessing game. I can't figure out how to convert the user's guess from ...
New
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? https://hexdocs.pm/ecto/Ecto.Repo.h...
New
chewm
Hi guys, nice to meet you to the whole forum, I’m new here, I’m trying to configure visual studio code for elixir, right now the intellis...
New
jc00ke
Expanding on this topic: https://forum.elixirforum.net/t/map-typespec-question/19217 Let’s say I have a map with required and optional k...
New

Other popular topics Top

sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
977 41022 311
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 record...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
msaraiva
Surface is an experimental library built on top of Phoenix LiveView and its new LiveComponent API that aims to provide a more declarative...
564 42633 214
New
johnnyicon
Hi all, I've just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I'm trying to use Postg...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
AstonJ
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including. What is Phoenix LiveV...
New
magnetic
Hey :wave:t3: Elixir community, I’ve been learning Elixir, and working on some side projects. My editor of choice is VSCode, and althoug...
New

We're in Beta

About us Mission Statement