there we go all right so we are
recording and just so you know I I do
believe we're going to try and publish
this recording somewhere so keep that in
mind and then I guess Eric you can go
next
sure Eric Amodio now on the VS code team
creator kit lens and a few other
extensions so yeah and just you know
since I've been since I've joined the
VS Code team trying to you know bring
closer partnership with extension
authors and it's sort of you know amp up
our game with you know the community
around that and you know the API's that
were providing and all that sort of
thing to community reach out so this is
we had a initial call but this is sort
of like the first official one that was
publicized and so this is great to get
going let's see I'm just gonna pick
someone off the top Tyler you wanna go
ahead Thanks sure yeah sorry hey
everyone my name is Tyler I'm a software
engineer on the PowerShell team at
Microsoft and I along with one of the
guy on our team are the core maintainers for the powershell extension for
VS Code so is there anything else I
needed to add to that keep going around
ok sure David you want to take it away
sure yeah I'm David I'm actually not a
software developer as a full time job
I'm a faculty at UC Berkeley and in
economics but I have a hobby and so I
maintain the julia extension with a good
friend Zack
so we're two people doing that and Julia
is a relative well it's a decade old now
but a relatively new programming
language for scientific computing and
and so we're maintaining that extension
that's amazing I should pick the next
person right so Alessandro hi I'm
developer of the bookmarks and project
manager extensions and a few Delphi
Pascal extensions as well I'm– I have a
background in Delphi so that's why you
see a lot of Delphi extensions for me
I'm moving from Delphi to C# and
JavaScript, TypeScript, React and things like that
and I participate in both community for
a long time I think before
yes code started at private and that is
I'm from Brazil and we are working from
home as well so I think you key with it
hello I'm your qada so i with obstacles
student about the software engineering
so I am also of the our language support
for BS code and others little support
for the PS code so yes I expect about a
good discussion thank you so Chris
remained say
Cobb County mr. Carter
do you mean Cara I'm a Caleb and I go by
almond on on like that's my open-source
handle and I created that a rebel it's a
real-time Python scratch pad and that's
pretty much I the only extension I
maintain four BS code well sometimes I
like contribute to some other random
ones and I'll pass it to let's see here
Connor oh yeah I'm I'm Connor I'm on the
PS co team and the past four months
young the JC bug extension which was
only bugger
ESCO team for the last four years and
working on editor commenting kidnap and
recently notebook that's me Peter do you
go not yet Thanks so my name is Peter
Pizarro's I am the CEO of code string
were a business that produces the
extension called code stream and it is a
plugin that allows developers to easily
discuss code from within their ID so
we've got 12 employees all of whom are
working on this extension and as I look
through the list I think we may have
gotten a little end of the list I'm if
anybody else hasn't gone yet please go
ahead now yeah hi guys this is Paris
sorry I'm dialing name Mike Comcast is
down today my name is Tara Slovak so I'm
a creator of data preview saga you were
and Geo data viewer extensions I've been
working on down for the past year just
to provide alternative use for data NGS
code pretty much mostly in my downtime
and I created them how kind of like out
of the needs of you know based on some
data visualization and that word
projects I've been working on
for the best few years right
so we can so we can just jump into the
the two questions although before we do
that I wanted to wanted to ask something
since we still have like 10 minutes of
the first 20 minutes or so because one
of the things that I would like to start
doing is some sort of you know we have
like featured extensions on the
marketplace and I would like to do
something a little bit more personal
with some of the extension authors so we
we had this thing while back when we do
an extension roundup where I think it
was Wade used to do this where you would
just talk about maybe three or four
extensions that did something
interesting and I I like the idea of a
more like personal at first to that and
one thing that I really like to do is
just to sit down with somebody an
extension author who's building
something and maybe just do like an
interview style type thing and just talk
about like how you're building
extensions like what your setup looks
like something something a lot more
personal than just like some extensions
that do stuff and BS code so if any of
you have any ideas or recommendations
for any extensions you'd like to see or
if you'd like to do that yourselves
definitely reach out to meet you you
have my email address just send me an
email let me know and then yeah so let's
get into let's get into the question of
if you have two wishes to change your
fix or improve vs code or the
marketplace what would they be and why
this is very similar to the if you had a
magic wand and you could do anything
what would you do what would would help
make your lives better just to write
honestly as much as you can start that
you've ever wanted to get there - feel
free to jump in anyone
I can go first this is Peter code stream
so we have to like super critical this
is like the lifeblood the oxygen for our
extension is too but both of these are
really important to us code and I'll
just set set up the problem for a second
code stream has a very very rich UI it's
all built and react and so it has its
own sort of panels and there there's a
lot to it it's an entire application
built as an extension and so the
treeview of the activity bar was
insufficient for us to be able to render
all the dynamicism that we provide so
we're doing this in a preview panel
webview and the problem is that those
tabs are disposable so they come and go
and they get buried and it's not easy
for us to put them in the right location
so we're sort of at the whims of the
editor for where it ends up placing them
and we can kind of guide it a little bit
but not much and they get you know
quickly they disappear and they get over
you know new tabs open in front of them
accelerate cetera so our number one ask
is to be able to put that webview in the
activity bar so we can also get an icon
in the activity bar and a secondary
solution which is not as helpful but
could be possible would be a pinnable
tab so if it needs to be in an editor
tab give us the ability to pin it and
make that the only tab that would open
in that group and and allow us to put it
in the right the position that we choose
or that the user chooses so that's
number one
so with view and activity bar and or
pinnable trabb's and number two is
clickable gutters we also provide sort
of rich interaction with the actual code
that's in the editor and right now we
have to either you know we can expose
something on hover within the editor
but what ideally we would have a
clickable gutter similar to way that
commenting works when you have that sort
of comment stripes with the plus button
but we want to control what happens when
you click alright that's a really good
one I did the gutter one is something
that we've run into ourselves and I'm
pretty sure that I think that we can do
panel contributions and the upcoming
release and I wonder if that will help
with being able to put a webview in
there I don't know if you'll be able to
put a few in there but all right that's
that's really good thank you
yeah not yet it is it is on the short
list it's unfortunately get pushed along
that's we haven't gotten enough time but
it is on the list you to get done for
web views in the sidebar or panel what
else all right I'll go so let me
actually this does not count as one of
mine but one of mine but I want to
second the web view web panel think that
in the activity bar that would help us
as well so I think the number one for
forum for me although we kind of worked
around it now would be the ability to
publish insider or pre-release versions
on the marketplace so we've actually now
created a second extension in the
marketplace where we can publish
pre-release versions and that works
pretty well but it has sort of some
corner cases that aren't that are not
great and it would just be awesome if if
this was sort of a built in feature that
I can push a version out into as an
insight to an insider channel of the
extension and we have a group we
actually have a group of people that
beta test our extension and for years it
was incredibly painful because I had to
send out a message say please install
this new psi X and then some did some
didn't and I think that would sort of in
terms of increasing the quality of the
extension if that was all smooth and
with auto-update and so on would really
help most
the way we've we've actually worked
around this and have a working solution
now with the second extension and it's
all integrated with Azure pipelines so
that we can that I can when I tag a new
version then it goes as your pipelines
there there are these environment things
and I can approve whether it should be
deployed to the insider or to the market
release a version of the extension so
it's pretty smooth and keeping some of
that would be nice so that it is sort of
tightly integrated with something like a
drill pipe pipelines well that would be
my number one and then and that's my
clear number one and then on my number
two I'm I'm wobbly so I'm not going to
name a narrow feature I'm going to name
a theme which is of course a trick to
get in more things but I but I kind of
so so we're really I feel there is a an
echo there are other extensions that are
in the same space like we are so so
we're essentially trying to build
something like our studio or you know a
typical or you know an IDE for data
scientists that work with code and and
work with data and I think there are
other extensions that are in the same
space so I'm sure that our extensions
you know try to do exactly the same
feature set that we're trying to do
except for a different language
I'm sure python is is in a similar boat
and and and I'm I'm certain there are
others as well and it seems to me that
there are probably common UI elements
for all of these where it would make
sense if if I don't know maybe we could
have someone at Microsoft who is sort of
in charge of the data signs the
extensions and is interacting with us
and we could sort of try to figure out
are there common UI elements that make
sense for all of these that that could
be in in the base product or something
like that so that's sort of my theme and
I should say the the I'm incredibly
excited about the current work on
notebooks that that's going into the
into the base product essentially what I
have in mind is exactly that four more
things so so I think that would be my
number two also and just yeah ends on
the call and he's the
lead on notebook stuff so I love it so
let me let me repeat let me repeat that
back to you just to make sure I
understand so you're what you're
essentially looking for as a partner
internally on the vs code team ER or
somewhere in Microsoft that you can
reach out to for like data science sort
of experiences right yeah yeah because I
mean right you know so realistically I'm
you know we're working in isolation our
team the 2-year enough to we're very
well plugged into the julia community
we're not in touch with any other
extension author in the villa's code
world and then and i think you know
there are many extensions that are not
relevant for us i think there are a few
extensions that probably try to do the
same thing and i think it would be great
if there was a bit more coordination
between that group and i think it would
be great if that was actually the home
for that would be at Microsoft so that
it could also be linked up with what the
core Villa's code team is doing okay
great
and then I have another question about
the pre-release extensions this is
something I've been talking with the
with the marketplace team on and the
current working strategy is to allow
authors so if you publish just a silver
standard release then it's just released
so like will say 1.0.0 but if you
publish a 1.0 got 1 - beta then that
would be tagged as a beta release and
then those like if you were opting into
like a beta channel you would start to
get those releases if not you would just
skip those is that about what you got
envisioned so that so it's actually
interesting that's how I had originally
envisioned how this would work and I
think that would be a fantastic solution
the the way I've set it up now with this
with these two extension is it's
different and I it's also interesting
and I'm not sure which one is better so
right now what I have is I tagged a
version with a version number and then
in Azure pipelines I can sort of decide
where each version gets published so if
whenever it builds a tagged version I
can click on review deployment to an
environment in the azure pipelines UI
and then I can decide whether I want to
have this version go into the insider
version or deployed as the release
version and it's quite neat because what
I now do so a we went to a much more
frequent deployment strategy so
essentially we whenever we add something
to the to the extension now we publish
it into the insider Channel we wait 24
hours if nothing on our telemetry and
crash reporting comes in that reports
that something is wrong I just press
another button and exactly that those
binaries get pushed out into the release
channel so that's also convenient
because I I don't have it takes all it
sort of I don't have to manage different
versions manually real you know I ship
one binary I say this is the snapshot a
snapshot and then as a secondary
decision I decide to which customer
groups it goes but quite frankly I think
either you know anything that would be
more official would be would be awesome
so so so you know yeah okay thank you
for that if I could just like piggyback
off of that I think like visual studio
proper has had like kind of a beta
channel thing in the product for quite
some time and I'm not sure what the
marketplace looks like in terms of v6 is
OBS code versus v6 is of Visual Studio
proper but I imagine at least like
taking a look at that experience and
what Digital Studio has learned is
probably worthwhile in some regard yeah
I think that the marketplace also serves
yes so that's a really good point as
well
all right who else
well I guess I just spoke so I I can go
ahead and go then
but yes naturally just I'm just gonna +1
on the the beta releases that was number
one on my on my list for sure and in
there's been another thing that I had
here was just like semver to support in
the marketplace altogether as I had
noticed that you couldn't publish
extensions with a pre-release like in
the version name at all which was kind
of an odd experience I don't know if
that's changed since I last tried but
but just yeah the feature request of
beta channels kind of fills that void
for me but my first one aside from the
bay of channels thing is the ability to
do syntax highlighting from a language
server so that's like semantic
highlighting versus just regular syntax
highlighting I understand that like some
languages already have this I think like
typescript already has this and I'm
guessing that's like just built into the
product itself so I'm hoping that one
day in the future that will make its way
to language servers so that you know we
can provide a much richer syntax
syntactic highlighting experience than
just a bunch of text mate grammars
because sure that I'm pretty sure that
now LSP I don't know if it's been
completely finalized yet but as far as I
know you know it is in the protocol yeah
the languages can provide and so I'm
pretty sure typescript is using you know
the LSP bookends
right check that out because I know that
like the latest thing was just
like general progress support so maybe
it's in like a like a preview stage kind
of thing I mean I think when this
iteration ships then it's enabled by
default
forever types good touch good I think is
right now the only language server that
actually implements this they think that
it allows all the other languages to be
able to implemented as well
gotcha okay yeah I wasn't in the like it
wasn't available in the spec online so I
just figured I would throw that out
there in this call just because I want
that feature as well yeah and then the
other thing was there is some funny
behavior between Auto closing pairs and
snippets and I feel like it's probably
best to just if you don't mind just let
me like show you what I'm talking about
yeah it'll only take a second okay let
me share my screen here all right can
you see my screen yeah
great if I can increase the font here oh
my gosh move this team's my goodness all
right
so this is the scenario is I've got this
snippet it's called here's the snippet
you can see here and don't worry about
the power show specific syntax here but
the snippet I'm expecting is this
however once I've typed that left
bracket here it obviously did an auto
closing pair as it should for the
bracket but once I hit enter on the
snippet
I actually get this dangling oughta
closing pair down here and this snippet
is actually used just a ton people end
up right using this a lot and so this
extra bracket is something that like
it's just not a very good experience and
I know that there's been like certain
iterations to kind of fix this I think I
had the issue open somewhere oh yeah
here it is
I could paste this one in the chat but
this might not actually be it this might
be a different thing but there are there
are a couple things a lot around Auto
closing pairs and snippets this example
is I can't have an auto closing pair of
just a single quote and then this
strange auto closing pair for a here
string but I'll just link this issue but
there are some funny business with Auto
closing pairs and Auto closing pairs and
snippets that I'd like to be addressed
and I will put this in the chat yeah
please do it'll it'll be helpful for
especially languages that use a lot of
more more symbols than than just plain
words I think that I think will be very
helpful so I think those were those were
my two I already have an issue for so I
can follow up on that one pretty easily
yeah
if I find the other one regarding the
snippet I will I'll throw it in the mix
but I think it might have gotten closed
already as issues tend to do but it was
definitely not fixed so I'll look for
that well someone else talks
so thank you yeah when we're done at the
end I do want to circle back to your
comment there on closed issues and just
get feedback and thoughts on you know
how that could be improved I mean you
know there's multiple sides to it you
know totally tons of issues but there's
in my opinion differences between things
that come in from extension office's
between compared to average users and
you know maybe they should be handled
differently so that I'd love to get
thoughts on that after this hey guys can
I go next
yep so David Tyler nice to meet you
I wanted to continue the theme that they
did all the extensions and tools for
data from data scientists right I
certainly see I just want to add to his
comments and certainly see some patterns
where most of this extension bill
disgustin by abuse and I know there has
been some work done on custom bag eight
or some things like that I think what's
missing there is maybe a good way to
create custom toolbar the toolbars
because you know I've used a lot of
different viewers you know a CG viewers
you name it and there's certainly a
design pattern that's recurring across
all of them say they you know typically
have talked toolbar that allows you to
do things for the particular webview you
know domains about toggle things I think
it that was standardized more through
the SQL API rather than letting
developers can have create their own
custom toolbars that all will different
and you know have ability to apply kind
of the same styling and teaming in other
things you know probably simplify just
creating different viewers in general so
that's one big ass that I have I haven't
checked on the latest custom web user
API but
based on the feds I seen it looks like
it progressed well and it's available
now so I'm definitely planning to switch
to that plus one on beta releases so
like my deep reme extension has over
50,000 installs now and I'm planning to
do major release but it's kind of like
well I don't know if I'm gonna push
another major update all the 50 dead the
50,000 deaths using right well so things
can get broken there the other big ask I
have for Marketplace team actually is I
mentioned this a lot of times like sort
of cooled off on those consoles like
quite simple dashboard for extension
developers to just see the stats for
installs and updates most app stores
have it it's not it should be a huge
effort literally one line chart and
because you you guys are tracking it
already you're showing the install and
download counts you know updates some
data store with the information and when
I look at my extension I can see that
over the past months I got this many
installs I just pushed new release I got
this many updates see that it's much
easier to track it I knew you know a lot
of session developers have sort of
resorted to using Google Analytics for
Dragon all or all the information
anymore but I think it would be much
easier for developers to you know have
proper app store dashboard to look at
that stuff and also this is a side note
I've seen it with a lot of feeling good
extensions
developers sometimes do anonymous
storing for extensions do one star and
there's no rack or what's wherever you
see the star count out right it's
immediately rated that core 3 stars
degrades to you but like not even and
name of a person who did it most app
stores actually just show all you know
Joe Smith gave you two stars
that you know that's we could start
there problem that's that's the folio
okay I like that so essentially what
you're saying about the anonymous
ratings is that the the ratings are
meant to be like a way to provide
feedback to the extension author and you
should be able to react to that right
that's that's yeah yeah there's like no
no link to the user on like github or
Microsoft account or whatever so it's
and but like you know to start with we
don't even see who who gave you one star
right I would say if somebody gives you
one star I suggested that in slack you
know prompt them for feedback why why is
it one star or two no three or four
right so that we can react to that
improve because it's quite hidden
someone doesn't leave a comment to go
with their rating you don't ever even
see that it's just a new count on your
stars which you don't really even know
yeah and it's cool like four four and
five stars it's cool like alright
somebody likes it you know buzzer you
know click the star do you buzzer to add
any comments that's this that's great
right but yeah I actually have another
observation under if that's okay
just one other thing on the on the stars
so our extension has about a hundred
thousand installs and we have sixteen
people that gave feedback on the stars
we have about five hundred
what is it likes or stores or whatever
on on the github repository so for
whatever reason people don't seem to
give feedback on the marketplace because
it's probably too hidden and then what
you get is a very noisy non
representative picture there so I think
I would actually say either make it such
that you would encourage people to give
more feedback on the marketplace by
prompting people in the in the editor to
give feedback or something like that or
use some other metric because what we
have right now is is really I don't
think is very used
full data for people to make any
decisions if you you know if it's
sixteen people that gave you that that's
that's not a very you know useful metric
it's definitely so I you know I checked
daily extensions trendy means definitely
skewed more towards you know there's
just trashing extensions even good
extensions I'm not talking about mine
right so I observe that a lot and it's
there definitely be huge happens in the
difference between those from what you
see on the github yeah we've seen that
as well especially when like an API
changed in BS code and so there's like a
little bit of an overlap where something
in the extension is broken for love days
well we ship the release and we start
getting one-star reviews with no comment
because something is broken and it's a
meet we're in the process of fixing it
and then once it's fixed we can't even
follow up with them and say like please
try it again
anyway I had a question done yeah I had
a question for you on the dashboard so
the I was really hoping that we would
have the ship by now but we are going to
turn on a fairly simple dashboard and
the in the marketplace for publishers
that does have installations now I'm
curious what other kind of data would be
useful this right now in yes so if you
have a vs extension your publishing you
get like an acquisition funnel which is
like you can see installs from the IDE
versus the marketplace you can see the
like where the downloads are coming from
how many per day like that kind of daily
trend or thing what else would be
helpful like what kind of information
are you looking for so um I mean that's
great to hear I look for chicken I got
the big part I think would be the Geo
data right I mean we can do it VGA but
and the reason behind that is like I've
noticed like idea what regions around
the world use my extension knows right
so you know that oh you have a user base
in China or Russia
Brazil right do you want to consider
well if you use your base you know 30
percent in Russia you won't consider
translating your i crushing things like
that so I would definitely want to get
rid of geometrics in addition to just
the you know the basic console a good
point the other thing a lot of business
who relies on extensions and you know we
we spend money to promote code stream
and so in order to be able to track
which campaigns are most effective if we
had some way you know even to just put
maybe Google Analytics on our on our
marketplace page that would be helpful
so we could sort of create trace the
user to the marketplace page and then
this might be blue sky but what we'd
really love is some way to track that
campaign all the way through to an
install and then while in the extension
when a customer registers we could track
that registration all the way back to
the campaign it's the type of thing that
existed forever on the web and is really
important in terms of commercialization
of services so I'm hopeful that
eventually this will come to the
marketplace I would also add that you
know ideally having like custom metrics
that we can ask for some API we'd be
great so dashboard will display for
example I wanna see the counts for my
data preview extension and and see how
many deaths use it for working at CSV
data or Excel files things like that if
I can through some API register and push
that data out to this dashboard your
workings marketplace understand the
spread leveraging two or three but so
ideally that that would be like very
similar to what GA does someone face I
just wanted so on the sort of telemetry
I like yet so right now we have
telemetry in our extension we we use
what is it as your app insights or
something like that and it's working
really well so we get like all the data
you know someone clicked this you know
for
people click this command in the last
two hours three people click this so
with a very detailed view into how our
extension is used but it's we built it
ourselves right so I I could imagine a
world where there is a vias code API and
I can just send these telemetry events
via the vias code API and not through a
entirely separate system and I think
where this would be especially useful is
that we had to figure out all the opt-in
for telemetry and and all of that kind
of stuff we had to figure that out
ourselves and if every extension does
that and every extension handles it
slightly differently and then half of
them get the legal landscape wrong
because it's actually really complicated
to get these telemetry things right so
that might actually be another area
where if this could go through the
marketplace dashboard or something like
that and and there was a central
configuration where users can configure
what they opted into and whatnot that
that I mean we have that feature right
now and it's working but I could easily
see that that would be a very useful API
is in the base product
it's definitely duplicated for efforts
on many extension developers part I see
a lot of good extensions you know does
that answer tracking the amount CPI is
really good and other cja but yeah
consolidating that and kind of just
giving us the tools to do it and you go
to one place go to store and check out
our metrics that would be awesome yeah
really nice as well just it you know I
mean if you think of you have 20 30
different extensions installed and every
one of them is tracking different things
it's like your processing is also being
multiplied by so many times because
optimized aggregated together and
down in batches that one thing would be
you know much better it was an area I
was gonna say that
and Caleb also put this in the chat that
the the vyas code extension telemetry
project that you can pull into your
extension is supposed to handle opt-in
and opt-out automatically so that when
someone opts out via obvious code
setting that the one that opts out of
telemetry for the whole product that it
also includes your extension and that's
something that the vehicle team ships
and is I'm sure you might want to look
into if night shouldn't seen it before
so I'm not a lawyer but my understanding
of these privacy things are is that it
is very complicated and it seems to so
our understanding was that if we collect
telemetry and we store it and we have
access then we need to have an opt-in
from users specifically for our
telemetry because we process it so so I
the I I think right now if we just
piggyback sort of just use the setting
that is the villa's code setting and
then if someone agreed to the villa's
code telemetry collection and then we
started to process their data and and
look at it I think that would not be
okay by at least European law if I
understand this correctly yeah I'm so
bored into GA you know we we do that as
well on the azure extensions and I think
this is a really good point because we
are the same entity right we're
Microsoft so by opting into Microsoft's
agreement their privacy agreement than
you opt into the azure one as well
because it's all in one entity you know
I hadn't really considered the fact that
you are a separate entity that's a
really really good point yeah seems like
oh sorry go ahead man no good well I was
gonna say it seems like one this like
extension being able or this this
extension that the YESCO team releases
should have some mechanism for opting
out
purely in a single extension that
depends on this NPM package so code
thing it's good to honor as opt-out but
it's not good to honor as opt-in yeah
hey Matt yeah really quick while we're
still on the subject when you have
discussion with marketplace team he
suggests them to extend that feature
ribbon to include like three or four
rows like you guys do like they do for
trendy English poplar so it's not only
six they rotate only once or twice a
month so there's more to pick from on
the featured list you know I mean okay
I'm sure can you say that I can I didn't
understand the the featured ribbon in
store it only shows six extensions then
they change like once or every month or
every two months I you know I've been
wanting to kind of see more feature if
it's monthly similar to how we have in
training we have six styles but we can
flip through it like so it's like what
18 or something like that right yeah
yeah
so fun fact I'm the person who updates
the feeds extensions and I update it
like the week after we ship the week of
shipping or the week after that we
should oh God so this is really good
feedback would you would you rather see
so we have very little control right now
at least over the number of extensions
that are rendered there but I could very
easily just make more regular releases
to that so that it's updated more often
yeah I've noticed that sort of coin
sizer is the code updates yeah I mean
make it a weekly thing if if you do the
pics right okay
I can do that I sometimes have trouble
finding things to future just because
they it's a it takes some time to go
through yeah well it takes some time to
go through because I want to make sure
anything that's featured I need to I
need to use it I need to go through and
make sure everything works as expected
and like with remote I want to make sure
the extensions work with remote that
kind of thing yeah phone ringing mostly
very helpful so I usually kind of see
what straightens and don't still don't
watch accurate and the usuals are kind
of committed to that list but that top
list is definitely you know I'm just
saying you give out their decimal chance
to to have their extensions feature
there okay I'd do them if I wanted to
just circle back to on one of the the UI
toolkit and the custom editors I just
just look you know what what is shipping
in this release for custom editors is
just for custom editors backed by actual
text documents from BS code so you can
sort of like you know provide your own
editor on you know a text document so
like I'm building a feature in get lens
that adds a custom editor for a rebase
to do file so that you can actually have
a visual editor for the rebase file you
know so that's what even shipped the
binary side to do you know full-on
custom editors with binary files or
files that are backed by not a text
document that's got pushed off from this
release and that API is still going
through one last iteration I you know
where it's landing it looks you know
really good it's another refinement on
that so we're really hopeful that that
will land in the next iteration but just
right now it's been split in two so the
custom documents for text is landing
this release and then the binary in
theory should
next release that sounds good also I've
been working with with a marketing team
internally that is looking to build like
some react components and reusable react
components and styling for for our
internal extensions and the the goal
there just being that we've provided a
more consistent experience like we have
several Microsoft extensions with
webview components that have very
different controls and they just look
kind of all over the place so the idea
was to provide something that looks more
more official
what would you be interested in using
that stuff as well
to be honest if you if you're gonna
build something like that and this goes
back to you know give us an API to
create custom UI toolbars for readies
right
I'd prefer there be more open-ended like
web components rather than react or view
or whatever even though I understand you
know a lot of developers use it maybe
your extensions are predominantly react
but you know web components standard is
sort of like you know easy to grasp his
custom developments markup and things
like that if you could make it generic
or just have an API of like okay here
add about them to a toolbar and register
an action or command two-prong is a you
know start there rather than kind of
peek at this neat front-end framework
react that some does me personally I may
not be big fans of okay so so you like
so you like the idea just not specific
to a single framework web components I
think everybody is moving more to you
know their their web component standards
that you can create UI frameworks that
are more kind of framework agnostic I
think we would use react stuff we've
been using react for some of the UI so
but I you know
I know we're getting close at a time
this few more of you any more thoughts
on the two wishes yeah I'd like to go so
let's see here my first wish is I don't
really like you're like I really
understand my users so I have like a lot
of like five-star reviews
so everything like looks give another
review front but I feel like they're
like it's almost like too positive where
I'm not really getting like good any
good negative information is like a look
at I have telemetry and I look at my
data and the number of like users
doesn't seem to increase like as much
that usually seems like you should be
increasing steadily if people were like
if I was slowly like any users and
people kept on using it but the numbers
sort of stays the same so I'm guessing
people were like uninstalling it for
some reason and I don't really know
wider uninstalling it I don't have any
like really good way to get in touch
with them besides using this I would
treat that like track them track them
down their City which we creepy yeah but
so if there was like I just found out
there is like an assault like thing you
can run where you can like run like a
nude script when the extension gets
uninstalled and I need to like play
around with that but there's like
something it looks like it's just like a
simple like note script if you'd
actually like access the BS code API and
then like I don't know for like everyone
100 users like pop up a survey or
something if they understood that be
useful we're just at generally speaking
some way to like get feedback get more
feedback from them understand them
better yeah so do so I'm not I'm not
sure exactly how to tackle the the
better feedback from customers I can
tell you that we do have data like a
just like obviously have data on
installs and uninstalls and updates as
well and that's stuff that I would love
to get into the marketplace dashboards
and maybe that might help but yeah daddy
I have this problem as well with the
eyes are extensions is like
I don't know how to reach out to people
because there's no non-creepy way to do
that to say like hey yes I'll let you
use this and uninstall that what's going
on so I would love that same mechanism
so I'll I'll think about that also
Caleb David Peter torus some of you
mentioned things that I may have
questions to follow up on do you mind if
I reach out you know of course not I
don't mind
okay perfect property fine then Calum
you have another one yeah this is one
more thing for the first one is that
when you eventually do have that
dashboard if you cool off it showed you
let showed the average time like a user
spent on the extension or the average
time before run-ins to insulate
uninstallation so like how long it is
between installation and an
uninstallation then you can see like
okay are people like immediately
uninstalling or like you're using for a
few days and then uninstall it with the
time there would be that equals that
it's just install uninstall that track a
specific customer as they install use an
installment beverages but yeah there was
things like recently that so they're
expressed Dida bad beneficial ones they
run updates the uninstall kick said and
then another well he doesn't update the
counter ancient but the events to hook
up to are not kind of reliable for
tracking that but it's a good point I've
seen some extensions that's try to not
install it minded that often as well so
but at that point I think it's almost it
has to be tied to like IP or something
they might get tricky to implement that
yeah there's some things that are that
are definitely difficult for us to do
all right we have five minutes left
okay I don't want to like use up all the
time if other people want to go now use
it up okay so the cycle wish is for
better or I should say like it's like
easier testing and I should have like
raised like I originally raised the
issue on this and the vs code repo and
then it got like closed and like once I
get close
I can't discuss it I was like
fortunately and I should have bothered
to like create new ones that didn't get
I didn't get around to it but you can't
like unit test extensions that well
because you can't like unit test like
unless you have like the vs code marked
a certain weight or I have like a
pendency objection or something you
can't actually like unit tests and BS
code API so that's pretty unfortunate
because UN testing is you know like
that's absolutely like critical in terms
of having like a stable like app like
it's like you know the Pyramid of
testing like unit testing it's by far
the most important way of testing and
currently there's just
integration testing which is I mean
still nice but it's like not nearly ism
as important I pick up that effort and
put a really good documentation and
example of how to write in test harness
I think we have you is the most common
and the law of developers asked about it
in slack I've seen some people kind of a
few things but testing web use in
general is still hard to do and you know
if you guys could provide a good example
I'm not liking about kept coding example
for that part it would be a jollof
questions new developers haven't stopped
writing sessions yeah I've seen other
people ask that as well and it might not
be possible for it to lab like you know
testing with vs code I don't know maybe
there's some like internal thing like
blocking it but if it's impossible to do
that which would be unfortunate
just like better resources around
integration testing and maybe like some
would be nice for example also if you
could like it like code coverage that's
when integration testing and yeah cuz
like I'm off I like I have a full-time
job and like integration testing like
then rewriting like architecture to be
able to in effectively do unit testing
without like like be a dependency
injection or
like mocking everything
that's like unfortunately like really
hard especially for something that's
tightly coupled with vias code like I
want to do like there's a lot of simple
extensions where you would be like
somebody easy to mock but the more like
complicated you get the harder it is to
just like have to reorder context for it
so yeah it's a better testing would be
awesome
can I ask a question for that like so
relatively easy could be that we expose
some of the objects that an extension
can create right so if you want to test
a range right that's you know that's an
object that the extension notes you say
new range or new position or new
completion item right so as your unit
tests won't want to use those that's
relatively easy all the objects that
vias code creates and only you know like
provides to you for consumption that's
very hard because we cannot create and
it really need to be code for them to be
there right like an editor or a document
right
so depending on your unit tests like we
could kind of at the node module which
is the mirror of these types but the
raceless really this is why their
integration test and yeah when I write
extensions I have the same struggle
right it is no it's like what do you do
how do you write a browser test right
you have fake browser so um so like
question is do you need the simple type
engine position and URI and and those
objects or do you really want to test oh
I do line math and document I don't know
maybe I could get by with specific
objects but like at this point like I
just do like so many different things
for the vyas code api that like ideally
i would just really just need to be able
to like import like anything cuz there's
just like so many different objects like
that like I'm using both the the web
view panel and I'm also using a lamp
right I get like stuff to show in line
to so I'm sure I'm like working with
like the text decorations and then I'm
also you know working with like
like some holes like we escape workspace
and the settings API and also like the
text document and stuff like that yeah
it's it's very hot unfortunate because
the vias code does not exist as the
module it's like dynamically generated
the time you requested yeah
I think that's really good but I mean
it's a very least it sounds like
something that we could we can document
and just give some best practices on how
we are doing that because I know this is
something that that again like I keep
relating a lot of my experiences back to
the address sentence but we we do unit
testing me do integration testing it's
all automated and we have the same sort
of struggles which is why we end up
having like some nightly builds but to
your point we also have devs that are
just completely focused on this it's not
it's not like their side project or
anything so any way that we can share
that experience and help get other
people up and running quickly maybe no
home yeah we good there like share it
like cuz also especially like it's good
to like if like you know testing with vs
code like that will never be possible
then it's like critical to have people
writing their extensions in a way that
can be like where be as good can be like
mocked to start with as if they like
start writing their extension in a way
where it's like not uh where they would
have to read architecture it and that's
like it's really hard to hear yeah ok we
are at time Eric do you have anything
else you wanna just just want to give
you get your tan to thinking is the last
one I know we're over but good company
wait yeah you guys want to just quickly
and I know we're a little bit over time
but - quick is ok ok ok
so I have to request about document the
current api's difference has a few
example I want example of source code
like the Python document so second
request is about AP I've duplicated
deputation so Microsoft actually sent us
the mail other issue the updating the
extensions functions but it should be
coding route like resident so currently
I made the sample coding order and
language Shabbos sample so I'll put them
on the chat after thank you it's my
quick let's pause okay I didn't totally
understand the first one can you help me
understand the first one a little bit
yeah sorry yeah I you asked my first
question again like yeah so my first
request is improving user API usage so
you have we just call the API usage on
the base code document like and do you
have a tutorial however I missed one is
there a specific place that you'd like
to update it like what what are you
looking at that you that you see is it
needs to be updated or improved sort of
output starting are you mainly talking
about basically document
you know linking documentation to the
source code examples using those DPRK's
yes I want for example to sharing the
knowledge so sometimes my I'm maybe my
extensions implementation
wrong but I can't oh no is it correct or
not now okay yeah and then your second
one I you said some of the API
duplication yes so right because I tell
I chose a my my screen yeah good for
okay
good tea okay I'll talk by my bus
for example song source code like
because I work space due to pass it was
duplicated right you know right for it
you said it should be yeah but actually
you said that in email but yeah actually
this source code is correct sounds I
email contents okay I gotcha
so I'm as coding rules on violin toss 4
vs code right and said basically I'm
adding lint rules that see the
deprecation in offer suggestions and
what to use instead yes so I properly
made subdued but no brief called API
developer the digit Mike yes so it
should be on the breeze cold pills it's
my second request okay that's perfect
thank you so much and I heard okay I
just wanna add both some of the other
issues that people say like clickable
gutters that people ask more information
in the marketplace statistics like which
OS is being used for
we usually using grid number gets cold
and pentacle numbers and insider how the
release would be a great great addition
but one one issue that I have in fact
I'm waiting is the home screen the
welcome screen
externalization I see at least my
project manager extension would inject
some projects in the site and I think
other extensions like Java and maybe
blue maybe are could be used could use
extra narration to prepare order
informations so in fact is I had added
this clickable gutters and this welcome
screen customization would be the most
at least for me would be the situation
that I would like to to have to us and
give code okay thank you very much sorry
I'm right notes
yes I'm just want to thank everyone for
their time and you know meeting with us
here and like I mentioned we're gonna
try to do this you know probably in a
similar fashion with the sign up links
to get rotating extension authors and
you know try to do this once per
iteration and you know we'll probably
have different themes you know coming up
and hopefully on the next one will
actually have you know this being
live-streamed as well for a wider
audience
you know like Matt mentioned at the
beginning will post this up either on a
YouTube channel or somewhere so that
this can be reviewed by the community
view by the community and yeah just you
know just
want to thank you all for you know your
work on on the extensions and you
definitely want to hear and the other
feedback I mean we do have you know that
there's get out for the issues and stuff
but this you know there's also a slack
channel for extension authors I
encourage you to you know join that I've
been there all the time and we're we
definitely love to get the feedback on
how we can make things better so thanks
everyone next one thank you all thank
you so much thank there that's all right
