This is a fork of the deprecated and unpublished Visual Studio Code extension vscode-code-outline by https://github.com/patrys
Displays a symbol outline tree accessible via the activity bar.
For the outline to work, the language support plugins need to support symbol information.
For the outline to form a tree structure, the language support plugins need to report the entire definition range as part of the symbol.
See VS Code issue #34968 and language server protocol issue #132 for a discussion.
Here is a list of languages known to work with CobiSymbolOutline:
Language/Format | Extension |
---|---|
C | C/C++ |
C++ | C/C++, cquery |
Docker | Docker |
HTML | Comes with VS Code |
Go | Go |
Java | Language Support for Java(TM) by Red Hat |
JavaScript | Comes with VS Code |
JSON | Comes with VS Code |
Markdown | Comes with VS Code |
Perl | Perl |
PHP | PHP Symbols |
Powershell | PowerShell |
Python | Python |
Rust | Rust (rls) |
TypeScript | Comes with VS Code |
YAML | YAML Support by Red Hat |
Please report any missing extensions and I'll update the list.
Default settings:
{
"cobiSymbolOutline.expandableNodes": {
"type": "array",
"default": [
"File",
"Module",
"Namespace",
"Package",
"Class",
"Enum",
"Interface",
"Object",
"Struct"
],
"description": "Kinds of nodes that show their children."
},
"cobiSymbolOutline.sortOrder": {
"type": "array",
"default": [
"Class",
"Module",
"Constant",
"Interface",
"*",
"Constructor",
"Function",
"Method"
],
"description": "Order to sort symbols in. * is placeholder for all symbols not explicitly listed."
},
"cobiSymbolOutline.topLevel": {
"type": "array",
"default": [
"*"
],
"description": "Which symbols to include at the topmost level. * includes everything."
},
"cobiSymbolOutline.hiddenNodes": {
"type": "array",
"default": [],
"description": "Defines which symbols are hidden.",
"scope": "language-overridable"
},
"cobiSymbolOutline.sortBy": {
"type": "string",
"enum": [
"Kind",
"Name",
"Position"
],
"default": "Kind",
"description": "Defines by which property symbols are sorted.\nIf \"Kind\" is used, symbols are sorted according to the \"Sort Order\" setting.\nIf a property other than \"Name\" is used, symbols with matching properties are also sorted by name.",
"scope": "language-overridable"
},
"cobiSymbolOutline.fallbackLoadDelay": {
"type": "integer",
"minimum": 0,
"default": 1000,
"description": "Defines the delay in milliseconds of the second load if the first one fails. Set to\"-1\" to disable the second load",
"scope": "language-overridable"
}
}
In some cases the symbol list may initially return an empty list. Use the "Refresh" button next to the title to fix this.