# How to quickly find what can be done to a struct?

**URL:** https://discourse.julialang.org/t/how-to-quickly-find-what-can-be-done-to-a-struct/95233
**Category:** Tooling
**Tags:** question, suggestions
**Created:** [February 26, 2023, 8:20pm UTC](https://discourse.julialang.org/t/how-to-quickly-find-what-can-be-done-to-a-struct/95233 "2023-02-26T20:20:58Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![wujinq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wujinq/32/22221_2.png) [@wujinq](https://discourse.julialang.org/u/wujinq)
#### Post date: [February 26, 2023, 8:20pm UTC](https://discourse.julialang.org/t/how-to-quickly-find-what-can-be-done-to-a-struct/95233/1 "2023-02-26T20:20:58Z")

</div>

I think when many complain that “Julia doesn’t have any inteface mechanism”, they are actually complaining about the fact that it’s hard to quickly know what can be done to an object. In C++ or Rust or Python, after you click `.` in, say, VSCode, you immediately see a list of available methods. Julia is based on multiple dispatch so there is no such thing as `.method()`, and when you want to know what methods are available for `SomeUnfamiliarTypeInAMysteriousPackage`, you have to go to the documentation or even search for `::SomeUnfamiliarTypeInAMysteriousPackage` in the source code.

For me, in practice this isn’t that bad because Julia code is relatively easy to read; but it will definitely be better if we can enjoy the experience of typing `.` and get every method available. Is there any way to do so?

---

<div class="post-metadata">

### Author: ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)
#### Post date: [February 26, 2023, 8:49pm UTC](https://discourse.julialang.org/t/how-to-quickly-find-what-can-be-done-to-a-struct/95233/2 "2023-02-26T20:49:15Z")

</div>

You can use the function `methodswith`.

---

<div class="post-metadata">

### Author: ![wujinq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/wujinq/32/22221_2.png) [@wujinq](https://discourse.julialang.org/u/wujinq)
#### Post date: [February 27, 2023, 12:26am UTC](https://discourse.julialang.org/t/how-to-quickly-find-what-can-be-done-to-a-struct/95233/3 "2023-02-27T00:26:32Z")

</div>

Thanks for your reply. Is it possible to incorporate this into, say, the Julia support of VSCode?
