Daftar Metode dalam Visual Studio Code


278

Saya baru-baru ini mulai menggunakan editor Visual Studio Code. Saya benar-benar menyukainya, tetapi ada satu fitur penting (bagi saya) yang belum dapat saya temukan. Apakah ada daftar metode, mirip dengan Navigator di NetBeans atau dropdown Anggota di Visual Studio?



Fitur yang hilang ini sedang dilacak di github.com/Microsoft/vscode/issues/5605
foz

Jawaban:


266

Ya, ada workbench.action.gotoSymbolperintahnya. Di Windows dan Linux, pengaturannya CTRL+ Shift+ Osecara default.

Jika perintah ini tidak tersedia untuk jenis file yang Anda kerjakan maka Anda harus melihat ekstensi VSCode . Tidak semua bahasa mendukung fitur ini.


4
Hmm, bukan perilaku yang kuharapkan. Saya mencoba beberapa jenis file: Dalam file C ++, dikatakan "Sayangnya kami tidak memiliki informasi simbol untuk file" dan dalam Python dikatakan "Ada kesalahan dalam ekstensi Python".
Jim Carr

Yah, sial, sepertinya aku kurang beruntung. Saya mencoba ekstensi Python yang berbeda, sekarang saya mendapatkan kesalahan "tidak ada informasi simbol". :( Terima kasih atas informasinya.
Jim Carr

6
Ini adalah simbol untuk PHP .
ariefbayu

Berfungsi bagus dalam javascript, pintasan bisa berbeda saat menggunakan tombol pintas lainnya
Ray1618

39
Menambahkan ke yang ini, jika Anda menekan :setelah Ctrl+ Shift + O, hasilnya akan dikelompokkan berdasarkan jenis, yang akan mencantumkan semua fungsi dalam satu sublist.
Aditya Vikas Devarapalli

184

Pembaruan : Seperti yang dinyatakan dalam komentar oleh @ jeff-xiao ekstensi ini sudah usang dan sekarang fitur bawaan dari kode Visual Studio . Ini harus tersedia di bagian bawah file explorer sebagai tampilan "Garis Besar".

Teks sebelumnya: Sekarang ada Ekstensi yang mendukung ini. Garis Besar Kode membuat panel di bagian "Explorer" dan untuk JavaScript, akan mencantumkan variabel dan fungsi dalam file. Saya telah menggunakan ini untuk sementara waktu sekarang dan itu menggaruk gatal yang saya miliki. Komentator lain telah menyebutkan bahwa ia mendukung Python dan PHP dengan baik.

Tampaknya masih dalam pengembangan tetapi saya belum punya masalah. Versi pengembangan tersedia di GitHub . Jika Anda penulis yang membaca ini - terima kasih!

Begini tampilannya:
Plugin Code Outline untuk VSCode

Jika Kode Garis tidak terlihat, Anda dapat menunjukkannya dengan: masukkan deskripsi gambar di sini


4
Panggilan bagus, bekerja dengan baik dengan JavaScript & tidak mencari pintasan keyboard tersembunyi, bagus.
Julian Knight

6
Ekstensi tidak digunakan lagi: DIHAPUSKAN. Silakan gunakan tampilan Outline yang dilengkapi dengan Visual Studio Code.
Xiao

Apakah saya benar yang tidak mendukung melihat semua metode kelas dengan Python?
Eric Auld

Saya kira terkadang tampilan outline tidak menunjukkan apa pun untuk file python.
perawat

Apakah ada opsi untuk C ++?
Dikla

118

Go to symbolPerintah Kode Invoke :

  • macOS: cmd+ shift+ o(suratnya o, bukan nol)

  • Windows / Linux: ctrl+ shift+o

Mengetik titik dua ( :) setelah memohon Go to symbolakan mengelompokkan simbol berdasarkan jenis (kelas, antarmuka, metode, properti, variabel). Kemudian cukup gulir ke methodsbagian tersebut.


3
Dikonfirmasi juga berfungsi di PHP, tapi tolong perhatikan saya telah menginstal plugin PHP intellisense. Saya tidak tahu apakah itu ada bedanya.
Ignacio Segura

Pasti ada cara mudah untuk hanya melihat metodenya. Agak menyebalkan untuk menelusuri daftar banyak hal lain untuk menemukan bagian metode. Seseorang harus membuat plug-in untuk melakukan itu jika tidak mungkin sebaliknya.
orrd

1
ketik @ bukannya: untuk daftar fungsi Go
Altimac

1
Jika tidak bekerja untuk PHP maka pastikan Anda memiliki plugin 'PHP Symbols' dan pasti akan berfungsi.
Neeraj Singh


17

Dalam VSCode 1.24 Anda bisa melakukannya.

Klik kanan pada EXPLORERbilah samping dan diperiksa Outline.


1
Saya tidak dapat menjelajahi metode kelas js menggunakan garis besar!
Legenda

berfungsi dengan baik untuk Java! Saya menggunakan versi terbaru vscode 2020
oshan2csd

15

PEMBARUAN: Fitur ekstensi sekarang sudah ada di dalamnya dan ekstensi itu sendiri sudah tidak digunakan lagi

Saya telah menemukan ekstensi ini: Garis Besar Kode . Begini tampilannya:


Seperti inilah tampilannya


Saya percaya itulah yang Anda cari.


1
Ekstensi ini tidak ada lagi. Saya pikir itu tidak dipublikasikan karena fitur ini sekarang dibangun ke dalam VSCode.
Gama11

13

Tidak ada fitur seperti itu hari ini, CTRL+ SHIFT+ O== CTRL+ P@ tidak berfungsi untuk semua bahasa.

Sebagai upaya terakhir, Anda dapat menggunakan panel pencarian - meskipun tidak secepat itu mudah digunakan seperti yang Anda inginkan - Anda dapat memasukkan regex ini di panel pencarian untuk menemukan semua fungsi:

function\s([_A-Za-z0-9]+)\s*\(

5

Untuk pengguna PHP :)

  1. Pastikan Anda memiliki plugin ' PHP Symbol ' maka Anda bisa mendapatkan semua metode dan kelas di Bilah Sisi Bawah ' OUTLINE '.

  2. Tekan ⌘ command+ ⇧ shift+ Odi "macOS" atau Ctrl+ Shift+ Osaat menggunakan "Windows"

GARIS BESAR: masukkan deskripsi gambar di sini

@Simbol: masukkan deskripsi gambar di sini


4

Ini adalah bagian tambahan untuk jawaban atas pertanyaan ini di sini, tetapi saya pikir ini mungkin berguna. Seperti yang banyak orang sebutkan, Visual Studio Code memiliki bagian OUTLINE yang menyediakan kemampuan untuk menjelajah ke fungsi yang berbeda dan menunjukkannya di samping.

Saya juga ingin menambahkan bahwa jika Anda memeriksa tanda ikuti kursor, itu menyoroti nama fungsi dalam tampilan OUTLINE, yang sangat membantu dalam menjelajah dan melihat fungsi yang Anda masuki.

masukkan deskripsi gambar di sini


4

Tempat pasar Visual Studio Code memiliki ekstensi yang sangat bagus bernama Go To Method untuk menavigasi hanya metode dalam file kode.

Tekan Ctrl+ Shift+ Pdan ketik install extensionsdan tekan enter

masukkan deskripsi gambar di sini

Sekarang ketik Add to methoddi kotak pencarian tempat pasar ekstensi dan tekan enter.

masukkan deskripsi gambar di sini

Klik installuntuk menginstal ekstensi.

Langkah terakhir adalah mengikat pintasan keyboard ke perintah workbench.action.gotoMethoduntuk menjadikannya hal produktivitas nyata bagi pengembang.



3

Pada tahun 2020 versi VSCode
Cmd+P

  • # - Temukan simbol di seluruh file
  • @ - Temukan simbol dalam file
  • @: - Simbol kelompok dalam suatu file

Simbol dalam file Kode VS v1.44.0


2
ctrl+shift+o // This should work for javascript files by default

Untuk PHP instal ekstensi PHP SIMBOL

UNTUK PYTHON instal ekstensi PYTHON

Pada Reload, ini akan berfungsi dengan baik


2
Anda juga bisa melakukan Ctrl+Pdan mengetik @- ini mencantumkan semua fungsi / simbol dalam file. Dan ketika mengetik @function_namemelakukan pencarian string fuzzy pada simbol.
Roopak A Nelliat

ya saran yang bagus .. tetapi Anda tahu itu membutuhkan dua langkah, dimana ctrl + shift + o adalah langkah tunggal. :)
Moh .S

1

CTRL+ F12( CMD+ F12untuk Mac) - terbuka untuk saya semua metode dan anggota dalam kelas PHP.


Tidak berfungsi, Anda yakin tidak menggunakan ekstensi apa pun?
Mohammed Atif Sami

1

Ada sebuah plugin bernama show functions yang mencantumkan semua definisi fungsi dalam sebuah file. Ini juga memungkinkan Anda untuk menyortir fungsi sehingga dapat mencari dengan mudah.


2
Tautan ke suatu solusi disambut baik, tetapi harap pastikan jawaban Anda bermanfaat tanpanya: tambahkan konteks di sekitar tautan sehingga teman-teman Anda akan mengetahui apa itu dan mengapa ada, lalu kutip bagian yang paling relevan dari halaman yang Anda tuju. menghubungkan kembali jika seandainya halaman target tidak tersedia. Jawaban yang sedikit lebih dari sebuah tautan dapat dihapus.
Zoe

1

Untuk menemukan metode di semua file, Anda dapat menekan CTRL + Pdan kemudian mulai mencari#

contoh: #signin

masukkan deskripsi gambar di sini


0

Lihatlah Show Functionsplugin. Itu dapat membuat daftar fungsi, simbol, bookmark dengan ekspresi reguler yang dapat dikonfigurasi. Ekspresi reguler adalah penghemat nyata, terutama ketika Anda tidak menggunakan bahasa utama dan ketika CodeOutline tidak melakukan pekerjaan itu. Ini jelek untuk melihat jendela terpisah dengan fungsi-fungsi ini (CodeOutline tampaknya lebih terintegrasi) tetapi setidaknya ada sesuatu untuk digunakan

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.