vscode-goto-symbols-plus-extension

English / 日本語

Table of Contents:

Overview

This extension serves as an alternative to the standard VSCode Go to Symbol in Editor..., providing a function and method list display that aids preview and navigation.

DEMO

In addition to programming languages, it supports tag structure display in HTML, as well as gron-like views for JSON and YAML.

Motivation

The standard Go to Symbol in Editor... in VSCode displays many unnecessary symbols. The goal was to provide a simple yet useful symbol list, similar to Sublime Text’s Goto Symbol....

A similar major extension, Go To Method, exists but is limited to programming languages.

This extension is designed to offer a “reasonably useful” symbol list across various file types, similar to the functionality found in Sublime Text.

Key Differences from Go To Method

Features

Supported Languages and File Types

The following languages and file types have been tested and confirmed to work:

For languages and file types not listed above, the extension will still provide a general symbol list if the appropriate language support extension is installed. If the language support extension provides a symbol provider that returns functions and methods, they will be listed under “Functions & Methods”; otherwise, they will be listed under “Structures”.

Available Commands

Goto Symbols+: list functions

For explicitly supported languages and file formats, a customized list is displayed.

For example:

Command ID: tettekete.list-functions

Goto Symbols+: list structures

This command enumerates all symbols, similar to VSCode’s standard “Go to Symbol in Editor…” but with improved readability using the configured “Indentation” settings.

For example, if you do not want a gron-like display for JSON, executing this command allows you to view its structure with indentation instead.

Command ID: tettekete.list-structures

How to Set Shortcuts

  1. Open “Preferences” > “Keyboard Shortcuts” (Win: ctrl + k,ctrl + s / Mac: cmd + k, cmd + s)
  2. Search for and select the desired command:
    • tettekete.list-functions or Goto Symbols+: list functions
    • tettekete.list-structures or Goto Symbols+: list structures
  3. Set a keybinding.

Description of Configuration Items

Indentation

Specifies the indentation method for nested symbol lists.

The default is Use indent string.

Sample display

None

Use indent string(The default is two spaces)

Tree view

Indent String

This is the string used for indentation when Use indent string is selected in the Indentation setting.

The default is two spaces.

Prefix String

You can specify a prefix string to be added to symbol names.

The default is an empty string.

Show Symbol Kind

In function/method display mode, this option determines whether to show the symbol type returned by the symbol provider as a description.

The default is false.

Makefile: Show Dependencies As Label

This option determines whether to display target dependencies as labels when the file type is Makefile.

If enabled, dependencies are shown alongside their targets. While this may reduce target visibility, it allows dependencies to be included in text-based filtering.

If disabled, dependencies are displayed as descriptions, making targets easier to read but excluding dependencies from filtering.

The default is true, meaning dependencies are displayed as labels.

Requirements - Compatible Language Support Extensions

For languages not natively supported by VSCode, you need to install the corresponding language support extension.

If running Go > Go to Symbol in Editor... does not return any symbols, a language support extension is required.

Language Support Extensions Used for Verification

The following language support extensions were used during testing:

C/C++

C#

Go

INI

Java

Makefile

Perl

PHP

Python

Ruby

Rust

YAML

ShellScript