Reading the structure of a file
Before opening a large file, the agent can ask the IDE for its structure instead of its text: the classes, methods, fields and other elements it contains, each with the range of lines it occupies. The agent gets a map of the file, then reads only the fragment it actually needs.
This is the same outline the IDE shows in its File Structure popup, and it follows the same defaults: class fields are listed, inherited members are not.
Why it matters for large files
Reading a long file in full has two costs. It spends context on code unrelated to the task, and the part that matters has to compete for attention with everything else that came with it. An outline avoids both — it is a small fraction of the size of the file, and it carries the line numbers the agent needs to go straight to the one method it came for.
The agent applies this on its own, following a simple rule: ask for the structure before reading any file longer than 250 lines or any file whose length is not known yet, and skip the extra call for anything smaller.
What the outline contains
For every element: the name as the IDE displays it, its kind — class, method, field, constructor and so on — and the first and last line it spans.
For structured data formats such as JSON, YAML and JSON5, the outline also reports the type of each value, how many items an array holds, and a preview of its first few entries. That is often enough to answer a question about a configuration file without reading it at all.
Where it works
Support follows the IDE's own Structure View, so it covers the languages and formats your IDE already outlines, and Rider supplies its own structure for .NET code. The agent can also request the structure of a file from a connected library, which pairs with reading dependency code when you need the shape of an unfamiliar API before reading any of it.
No configuration is needed.
Limitations
Plain-text formats such as .txt have no structure view. There is nothing to outline, so the agent reads the file directly instead.
Very large outlines are capped. The agent is told when the result was trimmed, so a shortened outline is not mistaken for a complete one. Top-level elements are collected first, which means the top of the outline stays complete and trimming removes depth rather than breadth.
An outline is not a substitute for reading the code. It reports what a file contains and where, not what any of it does.