►
Description
Get an update from the team that builds Razor tooling, with some demos for Visual Studio, Visual Studio Code, LiveShare, debugging, and more!
Community Links: https://www.theurlist.com/aspnet-standup-2020-08-25
[Featuring: Taylor Mullen (@ntaylormullen), Tanay Parikh, Ajay Bhargav Baaskaran, Ryan Brandenburg]
A
B
If
only
it
was
that
simple,
so
it's
like
when
you
deal
with
something
like
razor
tooling,
which
is
like
an
amalgamation
of
a
ton
of
different
languages,
we
kind
of
spread
across
a
lot
of
different
teams,
for
all
intents
and
purposes
so
like
I
don't
I
more
say
this
is
the
core
group
that
can
decide
like
what
type
of
features
are
exposed
to
everyone
else,
but
there's
a
lot
that
goes
into
it.
I
hate
to
say
that
we're
the
only
ones
because
there's
so
much
work
that
goes
into
making
it
good.
A
Yeah
yeah:
that's
like
a
lot
of
things
that
microsoft
people
always
think.
There's
one
person
working
on
one
thing
and
it's
like
well,
this
person
does
the
back
end
and
this
person
does
the
specs
and
this
blah
blah
blah.
So
yeah,
I'm
excited
to
hear
more,
let's
jump
right
in
with
the
community
links
for
the
week.
So
to
do
I
will
pop
over
here.
A
As
always,
I
will
share
these
out
in
the
show
notes
in
the
chat
everywhere.
So
do
not
worry,
they
will
all
be
shared
out
and
yet
one
person
will
say:
will
these
links
be
shared,
so
be
that
person
somebody
here
we
go.
First
of
all,
I
thought
this
was
really
cool.
This
is
david
weiniger
and
he
he
wrote
this
thing
up
using
source
generators.
So
the
idea
is,
this
is
an
interactive
thing:
you'll
see
here's
program
code,
here's
my
source
generator
over
on
the
right
and
then
here's
the
output.
A
So
here
he
did
a
hello
generated
world
hello,
world
and
you'll
see
in
this
program.
There
is
no
hello,
hello,
world
generated
class
and
that's
because
that's
actually
being
generated
in
the
source
generator
in
the
upper
right
and
then
the
generated
output
generates
this
class
and
then
the
output
pulls
it
all
together.
So
there's
the
very
simple
one:
if
you're
like
me
and
your
first
quick
look
at
this
page,
you
miss
it.
This
drop
down
is
really
neat
because
this
actually
shows
some
more
advanced
use
cases
here.
A
So
here's
an
auto
notify
like
the
the
good
old,
auto
notified
property
change
business.
So
there's
a
lot
more
code
being
generated
there
and
then
there's
also
this
dependency
injection
case.
So
also
interesting
and
I've
heard-
and
I
haven't
really
read
or
thought
more
about
it,
but
I
know
people
like
to
argue
about
using
source
generators
for
a
dependency
injection.
So
here
you
can
play
with
this
live
so
see.
B
A
Very
interesting
yeah,
I'm
I'm,
like
you,
know,
kind
of
mind
blown
because
I
think
I
mean
you
can
run
this
code
too.
It
could
be
reading
heck,
it
could
read
from
a
file
or
a
database
or
whatever
right.
You
could
use
templating
and
stuff.
B
Yeah,
so
so
many
things
you
could
do
in
this,
like
even
razer,
like
we
have
a
item
on
our
to-do
list
to
enable
source
generators
to
make
it
so
we
can
kind
of
integrate
better
with
the
c
sharp
compiler
and
generate
the
right
things
when
we're
parsing
our
code,
so
yeah,
there's
they're,
so
powerful.
A
Yeah
wild
stuff,
so
this
is
neat,
and
this
is
this
is
cool
too.
This
is
all
using
gosh,
it's
using
blazer
and
a
bunch
of
other
cool
stuff.
He
had
a
tweet
about
it,
it's
all
out
on
the
githubs
and
the
web
assembly.
Did
he
say
that
I
think
he
said
it
too.
Let
me
see
gosh
I.
So
this
is
a
tweet
I
read
last
week
and
then
I'm
trying
to
remember
exactly
what
all
is
involved.
A
A
B
A
A
The
reason
that
I
think
this
one
this
release
is
neat
is
because
brady
gaster
tweeted
that
there's
open
api
support
in
this,
so
in
so
the
5.0
version
specifically
includes
support
for
open
api
as
well.
So
that
is
neat
this
whole
http
rebel
thing
has
been
around
for
a
bit.
You
can
integrate
it
as
a
as
a
tool.
Oh
boy,
we
just
got
raided
by
by
fritz
now,
there's
a
thousand.
C
A
The
twitch
stream
is
going
insane
c
fritz
friends,
you
are
in
the
right
place,
we
are,
we
are
just
starting:
the
dot
net
community
stand
up,
we
are
going
to
be
wrapping
up,
I'm
going
through
community
links
and
then
we've
got
the
whole
team
that
works
on
razer,
tooling
and
they're
going
to
be
showing
us
tons
of
cool
stuff.
So
you
you,
your
day
is
just
going
to
get
better
and
better
live
sharp.
This
is
interesting.
I
just
saw
this
is
a
product.
It's
installed
as
a
net
global
tool.
A
It's
relatively
inexpensive,
15
euro
a
month
150
a
year.
They
also
have
a
14
day
trial
and
some
of
the
neat
things
it
does
like.
So
it's
got
xamarin
forms
hot
reload.
It's
also
got
stateful
blazer
hot
reload,
so
that
stateful
reload
is
interesting.
That
server
side.
What
yeah?
I
I
don't
know
and
then
asp.net
core
support
here
as
well.
I'm
curious
yeah.
I
I
don't
suppose
it's
open
source
is
it.
I
don't
think
it's
open
source.
A
B
A
Or
documentation,
I'm
not
sure,
so
I
will
leave
that
as
an
exercise
for
the
for
the
viewer.
Here's
another
neat
thing.
Speaking
of
global
tools.
This
is
something
syed.
Hashimi
is
working
on.
This
is
a.net
tool
and
you'll.
See
here,
he's
got
an
animated,
gif
and
he's
doing
template
whoa,
I've
zoomed.
So
much
so
he's
he's
doing
a
cli
based
template
selection.
So
you
know
searching
and
stuff
for
templates.
A
So
here
he's
doing
template
search
view
and
then
he
gets
a
list
and
you
can
just
arrow
up
and
down
and
select
different
ones
and
and
install
them.
So
I
think
that's
really
neat.
He
shared
out
the
repo
he
did
make
me
promise
to
say
this
is
a
super
early
preview.
It's
just
something
he's
playing
with,
but
he
would
like
people
to
to
check
it
out:
give
suggestions
and
feedback
and
stuff.
So
so
there
you
go
dotnet
global
tools,
man,
they're
so
cool.
A
You
can
do
so
much
neat
stuff
with
them,
and-
and
it's
neat
that
you
can-
you
can
include
them
like
per
project
as
dependencies
and
there's
so
much
so
much
neat
stuff.
That's
available!
There.
B
A
It's
just
yeah
and
it
works
pretty
darn
well
and
the
updates
work
and
it's
it's
yeah.
Here's
a
neat
one
from
phil
hack.
This
is
asp.net
client
validation.
This
is
asp.net
mvc,
client-side
validation
without
jquery.
So
this
is
based
on
a
fork
and
then
he's
he's
been
continuing
to
just
do
new
releases
on
it.
So
it's
available
via
all
the
places
he
talks
about.
A
You
know
just
the
the
value
of
of
simplifying
it
down
just
getting
a
really
tiny
jquery-less
installation
and
they
just
had
oh,
what
is
it
o24
release
and
so
cranking
away
good
stuff
and
that
phil
guy?
I
think
he
knows
some
stuff
about
nbc,
just
a
little
bit
right.
I'm.
A
Right
net
conf
2020,
so
that's
november,
11
and
the
call
for
papers
is
open.
It
closes
september
14..
So
now
is
a
great
time.
This
is
you
know:
they're
they're,
open
all
the
information's
here
for
for
what's
what
you
need
to
do,
what
you
can
submit
on
and
and
dotnetconf
of
course,
is
a
huge
thing.
Every
year
I'm
excited
about
the
dotnet5
release
expected
for
it
for
then,
and
just
all
the
stuff
so
so
get
in
on
the
fun
and
submit
your
papers.
A
Okay,
this
one
is
one
that
quickly
goes
over
my
head,
because
it's
security
and
the
one
thing
I
know
about
security
is
to
not
think
that
I'm
an
expert,
no
matter
how
many
times
I
read
something
but
damian
bowden's
been
doing
these
series
for
a
while
on
encryption
using
different
standards
in
net
core
and
asp.net
core.
So
here
this
is
encrypting
texts,
foreign
identity
and
asp.net,
core
razer
pages
using
aes
and
rsa,
and
there's
a
lot
of
code
here,
because
it's
not
super
easy.
A
The
thing
actually
he's
he's
kind
of
sums
it
up
down
at
the
end,
so
he
shows
here
encrypting
and
decrypting
text
and
then
he
explains
kind
of
the
value
of
it
kind
of
down
near
the
end,
so
using
asymmetric,
asymmetric
encryption.
This
way,
together
with
symmetric
text,
can
be
sent
on
an
insecure
channel
in
a
safe
way
like,
for
example,
using
an
email.
So
I
think
this
is
interesting.
Usually
when
I
share
something:
that's
security
related
somebody
who
understands
security
better
than
me.
A
C
A
So
but
this
looks
cool
and
I
just
always
appreciate,
like
damian's,
continued
to
crank
out
a
lot
of
great
content
for
years
and
it's
been
fun
to
continue
to
feature
his
stuff
on
the
community,
stand-ups
all
right,
great,
great
post
from
dave
brock.
I've
seen
a
lot
of
just
people
digging
into
project
tai,
I'm
a
fan
of
it,
and
so
this
is.
This
is
neat
dave's.
Just
talking
about
you
know
his
experiences
setting
up
getting
started
with
with
projecti
so
walking
through
the
installation.
A
A
Exactly
and
the
logs
getting
integrated,
logs
and
and
all
that
stuff
pulled
together,
and
if
it's
it
understands,
if
it's
functions
or
if
it's
docker,
you
know
it
gives
intelligent
information
here,
yeah
the
metrics
here
that
he's
showing
it's
neat
too,
that
this
is
those
that
dashboard
is
all
built
using
blazer,
which
is
pretty
neat
like
the
whole
kind
of
hosting
and
setup.
A
You
wanted
you
could
customize
it
and
all
that
so
yeah,
so
here
he
shows
building
out
a
simple
api
and
then
building
a
web
project.
So
already
we've
got
a
whole
micro
service
architecture
right
and
then
integrating
that
in
so
here
we've
got.
You
know
a
browser,
then
adding
in
more
dependencies
when
you
you
can
just
do,
tie
run
and
it'll
run
the
project
and
it
inspects
the
solution
and
the
projects
and
knows
how
to
launch
it.
A
But
if
you
want
to
customize
it,
then
you
do
tie
init
and
it
creates
this
thai
yaml
file
and
then
you
can
go
in
and
so
here
he
adds
a
dependency
on
redis
and
then
he
can
go
and
integrate
that
into
his
thai
yaml
file
and
put
in
the
reddest
magic
stuff
here
and
then
boom
good
to
go
so
anyhow.
This
is
great.
He
said,
he's
he's
starting
on
a
series
here,
so
I'm
eager
to
see
more
from
from
dave
and
great
stuff.
A
The
last
thing
I
want
to
show
just
as
a
as
a
shout
out
is
we're
kicking
off
another
we've
got
all
the
all
the
community
stand-ups.
So
tomorrow
we've
got
machine,
learning
is
doing
their
first
one,
so
we've
had
every
other
wednesday.
We
have
entity
framework
on
and
tomorrow
we're
starting
with
the
machine
learning
team
and
they
they've
got
a
cool,
show
planned
and
they're
going
to
be
every
other
wednesday.
So,
every
week,
tuesday,
wednesday
thursday
10
a.m,
pacific
time
17
utc
we've
got
a
community
stand
up
for
you.
B
Awesome
yeah,
it's
kind
of
funny.
I
think
I
remember
when
we
first
started
this
whole
stand-up
business
like
there
was
like
just
one,
and
I
think
we
did
it
every
now
and
then
and
now
it's
like
it
makes
sense
to
have
these
like
conversations
like
in
public.
You
know
and
actually
talk
about
what
we're
doing
see,
what
the
community's
doing
it's,
it's
really
cool
kind
of
see
how
it
all
evolves.
C
B
That
being
said,
if
we
don't
get
at
least
one
demo
fail,
one
we're
probably
lying
to
you
in
some
way,
but
I
highly
doubt
they're
gonna
we're
gonna
get
zero
demo
fails
if
we
get
one,
we
need
applause,
and
it's
like
it's
like
party
foul.
No,
but
awesome.
C
B
So
we're
doing
a
slide
deck
because
there's
a
lot
of
us-
and
I
think
it's
like
the
only
reasonable
way
to
kind
of
orchestrate
everyone's
thoughts
and
make
sure
that
we
can
kind
of
show
you
what
we're
doing.
We
kind
of
started
this
journey
for
razer
tooling
a
while
ago,
and
we
realized
that
we've
put
all
this
effort
into
something
like
blazer
and
it's
runtime
capabilities
and
realized.
You
know
what
like
there's
this
tooling,
that's
powering
it
that's
been
there
from
the
beginning.
B
It
hasn't
changed
and
it's
collecting
a
lot
of
dust,
and
so
over
the
years
we've
actually
tried
putting
in
time
towards
it,
but
because
of
its
its
nature
and
how
old
it
was.
We
found
that
it
was
really
hard
to
do
that.
So,
let's
see
see,
can
I
click
yeah
there
we
go
background
goals
so
yeah.
B
So,
like
a
number
like
as
we're
kind
of
going
through
this
journey,
we
found
that
when
we
wanted
to
do
new
features,
it
would
take
an
extraordinarily
long
amount
of
time
to
do
any
feature
and
we
hear
from
people
that,
like
we
want
our
c-sharp
experience
to
be
just
as
good.
In
razer,
as
it
is
outside
of
razer-
and
I
totally
get
it,
I
would
too
I'd
love
that
it's
a
really
hard
problem
to
solve.
Though,
and
then
you
combine
that
with
say
more
platforms
like
we
now
have
vs
our
map.
B
B
We
have
like
yes
code
in
the
browser,
there's
so
many
things
that
are
trying
to
have
a
good,
consistent,
razer,
editing
experience,
and
so,
as
these
things
have
come
up,
we're
having
a
really
like,
we
had
a
really
really
hard
time
solving
the
like
the
problems
of
what
it
means
to
actually
edit
and
razor
for
every
one
of
these,
and
so
when
we're
looking
at
our
existing
like
dusty
platform
for
a
razor
editor,
we're
like
darn,
like
we
really
need
to
rethink
what
this
means
and
then,
of
course,
blazer
comes
along.
B
It's
like
yeah,
let's
reinvent
everything,
and
let's,
let's,
let's
require
more
features.
Let's
make
this
really
polished
and
really
good,
and
so
he
said:
okay
well,
razer
is
difficult.
It's
like
working
with
five
languages
in
one
html,
css
javascript,
razer,
c
sharp
and
the
existing
editor
is
highly
coupled.
B
B
Then,
of
course,
if
you
start
bringing
performance
into
the
mix
like
typing
delays,
ide
crashes
we've
actually
done
a
ton
of
work
on
the
existing
editor
and
a
new
editor,
which
I'm
going
to
show
you
in
this
little
bit
to
make
it
a
lot
better.
Tanay,
actually
he's
done
a
ton
of
work
in
this
area
and
to
try
and
make
that
entire
performance
experience
better,
and
now
this
doesn't
solve
the
crashes
per
se.
Currently,
in
the
existing
editor
we're
working
on
that
in
a
separate
way,
but
it
does
solve
the
I
type.
B
I
wait
way
too
long,
and
then
I
see
a
result,
so
it
does
fix
that
and
so
like
and
I
kind
of
mentioned
lacking
features
yeah.
We
want
to
add
new
features
like
we
hear
all
this
on
a
daily
basis
and
we
and
we
totally
hear
you
we're
working
on
fixing
it
and
sadly
it's
taking
a
good
amount
of
time
to
fix
it,
but
we
are
working
really
hard
at
doing
that
and
kind
of
we've
been
at
this
god.
I
want
to
say
a
few
like
six
plus
months
now.
B
I
want
to
say,
like
working
on
this
new
experience
and
trying
to
build
something
that
kind
of
translates
across
all
of
our
platforms
and
yeah.
So
it's
it's
definitely
been
a
journey,
so
the
existing
solution
I
mentioned
is
like
highly
coupled.
This
is
kind
of
how
it
actually
plays
out
where
you
have
all
these
various
languages
that
razer
cares
about
and
they
each
say.
Oh
here's
how
I
work
in
visual
studio.
Oh
here's,
how
I
work
in
vs
mac.
Oh
here's!
B
How
I
work
in
vs
code
right
and
then
the
same
thing
kind
of
plays
out
with
oh
here's,
how
I
work
in
live
share.
Oh
here's,
how
I
work
in
codespaces
and
if,
as
you
can
imagine,
that
is
not
a
scalable
approach
to
tooling,
where
it's
like.
If
we
fix
something
in
visual
studio,
we
don't
have
a
massive
team
right.
B
So
we
said:
okay,
well,
our
new
solution
needs
to
fix
something
and
needs
to
rethink
how
we
approach
this
problem,
and
so,
if
you've
heard
of
language
server
protocol
lsp.
This
is
what
vs
code
is
actually
built
on
this
idea
and
our
new
solution
was
well.
If
we
can
harness
the
same
type
of
underlying
concepts,
a
language
server
protocol
driven
approach.
B
B
It
means
we
only
need
to
implement
lsp
and
the
right-hand
side
will
just
essentially
work,
which
is
nice
now
in
practice,
it's
a
little
more
complicated
than
that
for
razer,
because
we
have
so
many
different
languages,
but
we
can
get
so
much
value
out
of
making
things
platform
agnostic
by
depending
on
this,
like
middle
lsp
layer-
and
I
have
live
share
down
here
because
it
what's
one
of
these
things
where
a
live
share
is
an
implementer
of
this
as
well.
They
were,
they
are
remote
development.
B
You
have
something
on
your
client
and
you're
working
with
another
box,
whether
it
be
someone
else's
box,
whether
it
be
something
in
a
totally
different
operating
system
and
code
spaces.
That
is
a
similar
model
here,
where
you're
running
on
a
computer
somewhere
in
azure
coding.
So
our
new
solution
is
basically
being
lsp,
and
our
goal
here
is
to
make
it
so
that
we
can
deliver
features
faster,
better,
as
new
features
come
to
the
language
of
a
protocol
spec,
we
can
adopt
them
quicker.
B
This
is
not
something
that's
been
possible
in
the
previous
editors,
because
one
of
the
cool
things
is
is
if
you
added
a
new
feature
in
visual
studio.
Well,
it
doesn't
mean
it's
there
for
vs
code.
It
doesn't
mean
it's
different
vs
for
mac.
However,
with
our
new
approach
is,
if
you
add
it
to
the
links
for
a
protocol
assuming
these
platforms
support
it
at
the
very
least,
you
don't
break
the
other
platforms
until
they
support
it,
but
once
they
do,
you
magically
get
this
new
behavior
and
you
magically
get
this
new
support.
B
So
it's
something
we're
really
excited
about
so,
okay,
so
I'm
gonna
kind
of
jump
into
a
demo,
real,
quick,
quick,
real
fast
and
we're
showing
a
lot
of
things
right
now
and
first
is
we're
going
to
be
using
different
ides.
Some
of
them
is
going
to
be
vs
code,
so
in
vs
code
how
to
actually
use
the
editor
for
what
you're
going
to
be
seeing
is
all
you
need
to
have
is
the
c
sharp
extension
installed?
That's
it
you'll
get
this
new
editor,
so
you
can
see
here.
B
The
h1
tag
is
different
from
survey
prompt.
It's
because
our
new
editor
is
running.
It's
coloring
like
I
know
that
string.
Our
title
is
a
string.
For
instance,
our
editor
runs
in
vs
code.
This
is
actually
one
of
our
motivators
for
bringing
it
to
the
other
platforms,
so
c
sharp
extension,
and
then
you
should
be
good
to
go.
That's
how
you
do
it
in
vs
code
and
visual
studio,
we
have
a
newel
and
in
everything
16
7
preview,
4
and
above
which
you
can
validate
by
going
help
about
there's
this
little
version.
B
Let's
see
that
that's
probably
impossible
to
see
here.
Isn't
it
oh,
my
gosh
here
we
go.
Can
you
see
that
I
can
no
longer
see
my
own
screen?
So
I'm
hoping
you
you
can
see
this,
but
if
this
is
version,
167
preview,
four
enough,
oh
gosh,
I'm
gonna!
Stop
that!
B
Let's
see,
can
I
go
back
yeah
if
it's
1674
or
above
you
will
get
this
tools.
Options
preview
feature
enable
experimental,
razer
editor,
and
this
is
actually
something
that
daniel
roth
did
a
blog
post
about
a
new
experimental
razor
editor
for
visual
studio.
So
you
can
go
ahead
and
just
search
this
and
see
what
dan
posted,
but
the
idea
here
is.
This
will
then
swap
your
razer
editing
experience
in
visual
studio
to
this
new
experimental
editor
now
hold
your
breath.
B
There's
a
lot
of
bugs
there's
a
lot
of
bugs
like
right.
Now,
like
some
of
the
most
like
drastic
bugs
is,
if
you
close
the
solution,
vs
crashes,
it's
awful!
If
you
close
the
editor
and
you
reopen
it,
you
don't
get
c
sharper,
html
experience
anymore.
So
there's
some
very
glaring,
obvious
issues,
and
it's
it
is
it's
that's
just
what
it
is
we're
working
on
it,
we're
working
on
fix
this
board.
It's
not
perfect.
B
Some
other
glaring
issues
you'll
have
like
colorization
mishaps,
so
like
colorization,
won't
be
as
consistent
as
you
say.
You
want
it
so
taylor,
you're,
really
you're
really.
B
See
how
this
isn't
color
like
we
have
some
glaring
issues,
but
the
one
that
you
know
if
you
are
actually
you
know,
hopefully
in
this,
like
all
the
demos
we're
going
to
show
I'll
show
you
there's
a
lot
more
value,
coming
down
the
pipe
right
like
and
if
you're
crashing,
and
if
things
are
exploding
on
you
anyways,
who
needs
to
close
the
solution
like
there
are
other
issues
that
yes,
this
is
going
to
improve
as
we
go
forward
but
like
I
want
people
to
know
that
this
is
like
our
path
forward
and
it's
going
to
help
us
solve
so
many
different
problems.
B
The
best
way
to
know
if
you're
in
the
new
preview
editor
is
you'll
notice.
There's
no
background
coloring
to
this
at
all,
typically
in
razer
files,
the
background
coloring
is
there
and
that's
a
really
key
way
to
know
if
you're
in
the
new
editor
or
not
so,
and
then
what
you'll
see
some
code
spaces
demos
too.
Throughout
this
those
code,
spaces
demos
are
going
to
like
the
code.
B
Spaces
installs
have
like
a
specific
workload,
so
you
just
kind
of
get
it
magically
for
it,
and
vs
code
is
the
same
exact
way
if
you're
using
vs
code
code
spaces
what
else
oh
and
then
for
the
demos
we
are
going
to
be
using
the
default
starter
web
template
as
much
as
possible.
We
want
to
make
sure
that
everyone
here,
like
most
people
here,
have
done.net
new
blazer.
They
know
what
what
it's
about.
We
have
a
lot
to
show
and
I
don't
want
to.
B
We
don't
want
to
be
explaining
what
each
app
is
doing.
Every
single
time
we
swap
to
a
different
presentation,
so
you're
gonna
have
like
the
typical
like
index
counter
and
the
basic
file
new
blazer
experience
is
what
we're
gonna,
try
and
limit
our
demos
to
so
people
can
kind
of
understand
what
we're
working
with
and
let's
see,
let's
go
back.
We.
A
B
So
it
does
so
it
so
vs
already
entirely
language
server
protocol
driven.
So
the
idea
by
the
way,
so
this
is
kind
of
an
interesting
thing-
is
we
can
kind
of
go
off
off
here
a
little
bit
so
when
I
say
language
protocol
all
it's
doing,
is
it
defines
a
standard
that
says
if
you
want
to
provide
completions
or
if
you
want
to
format
a
document?
A
B
A
B
Sorry,
yes,
it
absolutely
is,
and
to
kind
of
give
some
a
little
bit
of
background
here.
Is
this
all
started
in
vs
code
started
with
that
yeah.
B
B
All
right
so
then
so,
first
one
first
demo
ryan
is
gonna.
Show
you
some
feature.
Feature-Rich
consistent
editing-
and
this
is
kind
of
one
of
our
goals-
is
to
make
razor
slash,
blazer
good
everywhere.
So
if
you
want
to
jump
to
ryan's
screen.
A
A
C
D
C
C
All
of
that
and,
secondly,
consistent
meaning
consistent
across
all
platforms.
It
should
be
the
same
general
experience,
so
I'm
just
going
to
run
through
a
couple
of
our
the
platforms
that
we
already
have
support
for
and
kind
of
show.
What
that
looks
like
we've
got
semantic
colorization,
meaning
that
it's
it's
updating
on
the
fly
based
on
our
understanding
of
like.
C
B
C
Yeah,
so
you
know
this
is
this:
is
the
color
of
your
standard
html
element
and
this
sort
of
pale?
I
don't
know
what
color
you
call
that
greenish
color
is
the
color
of
a
component
or
a
tag
helper,
so
we're
keeping
track
of
that
all
on
the
lsp
and
through
semantic
tokens
and
passing
it
along
as
we
make
edits
both
to
this
file
and
to
others.
C
So
that's
that's
that
in
visual
studio
we
obviously
have
some
platforms
available.
Let
me
get
it
over
here.
We
can
of
course,
do
completion
here
I
am
in
in
bs
code.
C
We
get
completion
on
all
of
the
things
we
expect
well,
except
for
this
c-sharp
that
I'm
typing
myself.
For
some
reason,
we
can
also
get
auto-completion
of
that
hover
support.
We
get
the
pretty
hover
there.
B
And
I
think
I
think
it's
like
it's
one
thing
to
really
call
out
here
by
the
way,
there's
so
many
little
intricacies
in
just
general
editing,
whereas,
like
when
ryan
said,
you
have
auto
completion
right.
The
idea
that
you
get
the
in
tag
automatic
implemented
for
you
is
something
that's
just
taken.
As
is
right.
You
don't
really
understand
that
that's
happening
until
you're,
like
you're
typing
in
notepad,
so
there's
a
lot
of
logic
running
there
to
make
that
possible.
C
Yeah
and
and
of
course,
a
lot
of
this
exists
today
in
in
visual
studio
without
our
experimental
situation,
but
we
in
order
to
bring
it
to
other
ids.
We
have
to
do
a
lot
of
work
to
decouple
and
figure
out.
What
exactly
is
the
desired
experience
and
all
of
that
fun
stuff.
A
I
I
think,
like
you're
right,
it's
something
you
don't
take,
you
don't
think
about
until
it's
not
there
or
it's
slow
or
it's
not
working,
but
it's
yeah,
because
you've
got
to
parse,
basically
like
it
could
depend
on
the
whole
document.
That's
on
the
screen
and
plus
you're
typing
it
and
it's
gotta.
It
could
change
every
single
keystroke
yeah.
C
A
C
C
In
code
spaces
running
the
same
basic
application
and
as
you
can
see,
we
get
the
same
basic
experience,
but
more
to
what
you
said,
it's
actually
it's
actually
impossible
for
us
to
do
razor
colorization
without
some
sort
of
knowledge
about
what
your
project
contains.
You
can't
do
it
syntactically.
You
have
to
do
it
semantically,
so
that
was.
That
was
a
big
thing
that
we
needed
from
a
language
server
protocol,
which
is
still
technically
experimental,
but
we've
worked
with
some
of
the
ide
teams
to
get
that
available
here.
B
Yeah,
it's
like
so
fast
like
first,
like
the
dav
link
that
is
coming
from
the
framework
blazers
framework
says
there
is
a
component
called
navlink
right.
That's
not
like
a
hard-coded
thing
in
the
editor.
That
knows
it.
If
you
write
your
own
files,
like
survey
pro
yeah,
exactly
like
that's
something
that's
in
this
project,
it's
something
specific
to
this
project,
and
so
it's
like.
How
do
you
understand
that?
That's
even
a
thing:
how
do
you
that
understand?
B
So
it's
and
that's
what
we're
trying
to
say
like
semantic
colorization
in
that
sense,.
C
Yeah
and
yeah
we
I
well,
I
personally
have
been
doing
a
lot
of
work
on
the
semantic,
colorization
and-
and
you
know
we're
we're
doing
our
best
to
give
the
the
best
experience
that
we
can
definitely
on
we're,
hoping
for
on
par
with
the
way
things
used
to
be,
and,
of
course,
one
of
the
one
of
the
things
you
expect
there
is
to
be
able
to
customize
all
of
these
elements
to
your
liking.
I
like
big,
bold
colors,
that
let
me
know
when
I
screw
up
so
you
know
I
can.
B
Yeah
he
doesn't
like
bright
lime
green
to
burn
your
eyes
out.
I.
C
B
A
No,
I
mean
it's
kind
of
funny,
but
like
this
works
with
theming
right
and
then
also
there's
like
when
you
dig
into
this.
I
know
this
because
with
vs
for
mac,
we
went
through
some
stuff
for
accessibility
and
all
getting
the
contrast
levels
right
like
there's,
there's
a
lot
of
thought
that
goes
into
getting
colors
like
not
having
just
programmers
pick
the
colors
right.
C
Yeah,
actually,
that's
that's
something
that
we
had
been
thinking
a
lot
about.
We
realized
that
sort
of
over
time
we
had
just
accumulated
these
colors,
they
just
kind
of
showed
up
organically,
depending
on
how
things
worked,
and
that
probably
wasn't
giving
everyone
the
best
experience.
C
So
we
we're
we've
got
this
idea
that
we're
working
on
call
we're
calling
it
project
fcop,
fresh
coat
of
paint
and
basically
we
we
want
to
go
to
the
colors
of
razer
with
a
whole
new
view
and
do
some
research
and
figure
out
what
would
help
people
understand
that
like
hey,
this
is
a
component.
Maybe
maybe
it
is
lime,
green?
You
probably
shouldn't
listen
to
me,
but
maybe
it
is
and
and
in
addition
to
just
helping
everyone
understand.
C
This
is
an
opportunity
for
us
to
increase
the
accessibility
and,
like
you
said,
increase
contrast
between
colors
and
just
generally
clean
up
that
kind
of
area
so,
like.
B
We're
looking
at
that,
like
the
dark,
green,
the
on
click
that
we
have
there,
the
one
that
pre-existing
there
I'm
with
you
like,
in
my
opinion,
that's
hard
to
see.
Maybe
it's
just
my
screen,
but
it's
kind
of
difficult
to
see
and
for
someone
who
maybe
is
a
slightly
colorblind.
Oh
my
gosh,
I'm
so
sorry.
C
And
even
in
even
in
sort
of
the
base
html
here
like
I,
I
don't
have
any
colorblind
situation
or
anything
but
like
this
light
blue
and
this
slightly
darker
blue
there's,
not
a
lot
of
contrast.
There
either.
So
there's
work
we
can
do
and
I
I
think
we're
doing
like
user
studies
and
whatnot
is
that
true
taylor.
B
Yeah
like
well,
it's
one
of
those
things
that
we
have
a
job.
We've
done
a
lot
of
user
studies
already
for
this
stuff
and
then
we're
trying
to
see
what
is
the
best
way
to
go
about
getting
the
next
piece.
Like
I
guess,
in
these
coved
times,
you
can't
really
say
everybody
come
in
here
and
go
ahead
and
try
stuff,
let's
all
get
covered
together.
No,
that's
not
a
great
idea,
it's
more
of
well!
Here's
what
we're
thinking!
What
like?
How
do
people?
B
How
do
people
feel
about
it
and
there's
a
really
interesting
line
of
this
looks
better
versus
this
is
like
distinct
in
terms
of
like
your
mind's
eye,
so
as
you're
diving
through
code
and
you're,
looking
over
it
really
fast
being
able
to
understand
which
pieces
are
distinct
from
others.
Is
it's
a
really
hard
problem
to
answer?
Actually.
A
So
one
thing
just
because
it's
great
we
get
a
broad
reach
people
watching
on
twitch
people,
people
we're
we've
been
experimenting
with
periscope
too
we're
getting
some
people
coming
in
from
there,
so
people
that
aren't
familiar
with
razer,
and
then
you
mentioned
the
things
like
syntactic
understanding
and
all
that.
So
what
and-
and
I
know
taylor
you
talked
at
the
beginning
about
what
razer
is,
but
what's
the
kind
of
elevator
pitch,
what
what
does
razer
do
and
not
do
like
we
had
someone
asked:
does
it
support
typescript?
Does
it?
B
So
razer
in
general
is
a
it
is
an
html
templating
language,
so
the
whole
goal
of
it
is.
You
have
imagine
it's
like
an
html
document.
If
and
you
want
to
also
write
some
c
sharp
inside
of
that
document
that
is
razer
razer
is
the
language
used
to
power
blazer
for
any
blazer
environment.
It
is
the
language
used
for
the
front
and
pieces
of
blazer
and
you
can
interweave
html
and
secret.
Now,
of
course,
since
I'm
saying
interweave,
html
and
c-sharp
html
also
has
javascript.
It
also
has
css
so
you're.
A
C
And,
and
just
one
other
thing
I
kind
of
wanted
to
hit
on
there
as
part
of
our
our
work
here,
we're
targeting
parity
with
the
c-sharp
experience
in
razer
and
the
c-sharp
experience
in
you
know
a
basic
c-sharp
file,
we're
we're
working
on
that.
It's
going
to
be
a
long
road,
as
you
can
see
here
like
we,
we
don't
have
the
syntactic
colorization
quite
there
yet,
but
we're
working
on
it.
A
C
Oh,
you
mean
like,
like
code
actions,
yeah
light
bulbs
yep.
I
think
it
is
a.
I
think.
Tanay
is
talking
about
that.
Actually.
B
To
answer
your
question:
is
it's
not
as
simple
as
just
making
it
work
because
today
is
gonna
show,
but
it's
something.
That's
down
our
mind.
Okay,.
B
So
then,
the
next
segment
here
is
going
to
be
another
demo
about
something
that
we
call
is
closed,
file,
support
and
I'll.
Let
kind
of
let
to
nate
take
it
over
from
there.
But
I
guess
you
could
you
jump
to
my
screen
real
quickly
here
and
you
know
you
can
kind
of
talk
and
then
we'll
jump
to
yours
when
you're
ready.
E
Let
me
unmute
myself:
okay,
thanks
tyler,
so,
as
you
mentioned,
what
I
want
to
talk
today
about
is
close
file
support.
Essentially
what
that
involves
is
say:
you're
on
a
c-sharp
file
being
able
to
navigate
to
say
a
closed
razor
file.
At
first
glance,
this
may
seem
pretty
straightforward,
you're,
just
moving
from
one
file
to
another.
So
like.
What's
the
big
deal,
if
you
can
go
to
the
next
slide
here,
please
thank
you.
So
some
of
the
challenges
lies
in
the
underlying
structure
of
a
razor
document.
E
Consequently,
when
you
want
to
navigate
say
from
a
c-sharp
file,
you
have
to
navigate
through
the
razer
document
into
the
c-sharp
background
document,
understand
where
the
various
structures
are
and
carry
that
all
the
way
back
through
the
ide
and
so
on.
So
by
navigation
I
mean
something
like
a
go
to
definition,
find
all
references
or
even,
if
you
wanted
to
say,
do
a
rename
across
files
and
that
kind
of
stuff.
E
So
that
creates
a
bit
of
a
challenge,
and
this
hasn't
really
been
possible
in
the
existing
razer
experience
with,
say:
finding
references
across
closed
files.
So
we're
really
glad
we
can
bring
this
to
to
you
through
the
language
server
protocol.
So
I
think
I
should
probably
start
and
demo
a
bit.
That's
probably
a
good
idea.
Dang.
Nice
john!
Thank
you,
john
okay.
So
the
first
thing
I
want
to
show
off
is
essentially
going
to
definition
on
closed
box,
so
I'm
on
counter.razer.
E
Here,
hopefully
you
can
see
that,
and
here
I
have
program
function,
which
is
just
a
static
function
in
program.cs.
I
can
just
do
right,
click
go
to
definition,
and
it
takes
me
right
to
the
function.
It
opens
up
the
program
cs
files
and
does
all
the
magic
behind
the
scenes.
So
here
it's
actually
understanding.
Okay,
we
need
to
jump
to
a
c
sharp
file.
It's
a
different
language,
we're
in
the
language
we
need
to
jump
to
and
all
that
well
jump
into
the
right.
A
B
And
if
you
saw
what
today
was
showing
earlier
too
the
generated
c
sharp
document,
it's
it's
not
necessarily
in
the
same
location
like
in
razer.
We
have
to
understand
that
it's
c
sharp
and
then
it's
here
in
c
sharp
and
then
this
place
in
c
sharp
happens
to
map
this
other
place
somewhere
else.
Something
totally
different.
A
Yeah-
and
you
know
like
also
keeping
that
performant
like
here
waldex
saying
about
the
like
and
he's
thinking
of
the
colorization,
but
you
know
like
all
the
stuff
to
make
sure
that
you're
not
slowing
things
down.
Do
you
do
this
on
a
background
thread
or
how
do
you?
How
do
you
interoperate
in
in
order
not
to
you
know
right.
B
Question
so
this
is
actually
one
of
those
pain
points
that
the
existing
editor
suffers
from.
So
as
you're
typing
in
the
existing,
not
what
we're
showing
you
today,
it
was
done
on
the
foreground,
a
lot
of
the
time
where
we
would
be
parsing
stuff
and
then
before
you
get
colorization
results.
It
would
essentially
wait
for
a
parse
to
happen
to
understand
what's
happening
in
colors.
Now
I
guess
ryan.
Do
you
want
to
explain
the
colorization
for
razer,
like
for
the
two?
The
two
ways
for
technically
happens.
C
I
am,
of
course,
I'm
muted
yeah
basic,
so
we
have
two
basic
ways
to
color
color
eyes.
The
first
is
syntactic,
which
is
sort
of
the
the
classical
way,
and
that's
just
you.
You
build
a
series
of
rules
which
describe
your
language
and
then
you
colorize,
based
on
that
and
with
that
we
can
colorize.
You
know
our
html,
our
css
and
javascript,
and
all
that
the
problem
comes
because
razer
components,
I
keep
trying
to
say
tag
helpers,
but
that's
like
inside
baseball.
A
And
especially
now
with
like
html
has
brain
networking,
but
you
can
define
new
elements
in
html
right.
It's
yeah.
We
had
the
fast
framework
folks
on
like
a
few
weeks
ago
and
they
they
were
showing
that
so
you
you
can,
you
can
also
it's
true
like
html,
is,
is
wow.
C
And,
and
so
because
of
that
kind
of
behavior,
we
we
move
into
semantic
colorization,
which
is
the
ide
going
to
our
language.
Server
and
saying:
hey,
give
me
the
semantic
colors
for
this
particular
range
and
we
analyze
the
document
and
send
it.
But,
oh
sorry,
my
cat
is
being
bad
analyze
the
document
and
send
back
the
colors
after
having
messed
around
with
it
generally.
C
Goodness
she
had
surgery
so.
C
Yeah
she's
just
very
restless
because.
C
To
leave
this
room
anyway,
colors.
A
Yeah
so
you're
talking
about
this
semantic
colorization
and
you
send
a
range
and
you
get
the
colors
for
our
range.
C
Right,
yeah
and
yeah:
we
we
also
make
the
request
whenever
there's
an
edit,
so
that
we
can,
we
can
update
just
with
the
change,
and
all
of
that
is
happening
on
the
language
server,
which
in
most
positions,
I
think,
is
going
to
be
on
a
different
thread
entirely.
I
think
for
right
now.
A
C
C
B
No
yes,
so,
basically
it
is
abstracted
away
as
if
it's
like
a
background
thread
for
all
intents
and
purposes
it's
essentially
it
could
be
another
process.
And
yes,
it's
not
it's
run
in
process.
So
to
answer
the
question
fully:
it's
s,
there's
two
ways
to
colorize,
syntactic
and
semantic
syntactic
is
run
on
the
foreground
thread
as
you
type,
but
it's
based
off
of
rules,
as
ryan
mentioned
that
are
not
bound
to
the
parser.
So
there's
these
rules
are
pretty
simple
and
they
give
a
general
sense
of
colorization.
A
I
should
let
tanay
get
back
to
what
he
was
showing
there.
E
No
worries
that
was
great,
okay,
so
just
to
quickly
wrap
up
what
I
was
showing
here.
We
had
just
done
a
go
to
definition
from
razer
file
into
c
sharp
form.
Likewise,
another
thing
that
we
also
enable
now
is
doing
find
all
references
we
have
a.
Finally,
in
fetch
data
static
function
in
fetch
data.
Well,
I
can
just
do
right.
Click
here
find
all
references,
and
the
incredible
part
of
this
is
that
fetch
data
is
a
closed
file
right
now.
What
this
means
is
that
the
id
needs
to
be
able
to
understand.
E
Okay,
what
is
fetchdata.reason?
What
is
that
background-generated
c-sharp
document
that
I
was
talking
about
earlier
and
aware
in
it?
Can
I
actually
find
this
function
if
it
exists
at
all,
so
here
it
does
all
that
and
if
I
were
to
say
hover
over
it,
it
even
gives
me
a
rich
snippet
with
colorization
and
all
that
just
to
give
me
a
brief
idea
of
what
I
would
be
clicking
into
and
speaking
of
clicking
into.
If
I
click
into
it,
it
takes
me
to
fetch
data.razer.
E
It
opens
up
the
function.
Does
all
the
mapping
and
all
that
fancy
stuff
behind
the
scenes-
and
it's
pretty
great
and
like
this,
hasn't
really
been
possible
in
the
existing
editor
with
close
files
and
again
we're
really
happy
that
through
the
lsp
effort,
we
can
relieve
this
pretty
major
pain
point.
It's
pretty
important,
of
course,
to
actually
be
able
to
navigate
between
files
and
find
what
you're
looking
for.
B
It's
one
of
those
things
too,
like
people
all
the
time
they
have
models,
they
have
various
data.
Data
transfer
objects
that
sit
in
their
c
sharp
it's
outside
a
blazer
outside
a
razor
and
when
they're
trying
to
change
or
find
or
understand
how
these
things
are
used.
They
couldn't
do
that
and
do
that
in
the
past,
without
their
files
being
open.
It's
like
the
idea
of
a
closed
file
support
being.
E
Nice,
okay,
thanks
taylor.
So
let's
head
over
to
vs
code
side
of
things,
there
are
a
few
errors
here,
we'll
be
addressing
them
pretty
soon.
So
just
pretend
like
we
aren't
there
for
now.
So
the
first
thing
I
want
to
show
off
is
a
rename
component.
So
speaking
of
all
this
close
passport,
if
I
just
click
here
hit
f2
for
rename,
I
can
just
rename
a
component
right
off
the
bat
it
renames
the
component
file.
For
me,
it
renames
say
additional
reference.
E
I
totally
forgot
about
in
index.razer,
and
it
renames
it
here,
of
course
as
well,
so
it's
all
pretty
smooth
and
you
can
get
going
on
your
merry
way.
Another
thing-
and
I
think
I
saw
a
few
people
mentioning
it
on
the
stream
as
well
asking
about-
is
going
to
definition
on
components.
We
finally
brought
this
over
as
well
through
just
go
to
definition
or
f12,
and
it
takes
you.
It
navigates
you
right
to
the
component
and
you
can
get
going
right
away.
E
So
that's
pretty
great
and
I
think
a
few
people
on
the
stream
may
be
pretty
happy
about
that.
Okay.
So,
along
with
that,
you
may
also
see
these
references
things.
These
are
called
code
lenses
and
they
essentially
give
you
a
brief
preview
of
what
your
code
is
doing
or
where
your
references
are
for
variables
or
functions
and
that
kind
of
stuff.
So
this
is
currently
available
in
vs
code,
but
we
are
working
on
bringing
that
to
visual
studio
as
well,
so
stay
tuned
for
that
nvs
by
the
way
for
16.8.
B
E
Okay,
awesome
and
yeah
like
again,
this
has
been
stuff
that
you've
all
wanted
for
a
long
time,
so
really
glad
it's
here
now:
okay,.
E
So
the
last
thing
I
want
to
show
off
here
is
light
bulbs.
So
have
you
ever
wanted
like
the
same
sort
of
rich
experience
you
see
in
seashore?
So
I
think
john
was
asking
about
this
earlier,
but
essentially
yeah.
If
you
go
to
c
sharp,
you
see
a
light
bulb
with
a
bunch
of
actions.
E
B
A
A
question
that
came
in
so
so
lucas
said
looks
like
that's
working
in
vs
code.
Is
that
something
that
will
work
in
the
other
tooling?
If
I'm
hearing
you
right
the
way
that
you're
building
this
is
it
works
everywhere
because
of
this
whole
language,
server
protocol.
A
B
Yeah
and
specifically
by
the
way
existing
tooling
as
well,
if
you're,
if
they
mentioned
there
and
the
question,
is
it's
not
going
to
work
in
the
tooling
without
the
preview
feature
that
I
showed
off
in
the
beginning?
You'll
have
to
go
into
the
environment,
preview
features
and
click
the
checkbox
to
enable
the
experimental
editor
to
actually
get
the
support.
It
is
not
possible
in
the
existing
one.
Sadly,.
E
Cool
so
yeah,
as
I
was
mentioning
same
great
experience,
that
you
see
with
c-sharp
light
bulbs
and
all
that
kind
of
stuff
we're
actively
working
on
bringing
that
over
to
razer
as
well,
so
in
code
blocks,
function,
blocks
and
that
kind
of
stuff.
So
first
thing:
I'm
gonna
oops
wrong
thing
ignore
that
so
the
first
thing
I'll
be
showing
here
is
essentially
some
of
the
light
bulbs.
We
have
for
razer
blazer
in
specific,
so
things
like
if
I
hover
over
here,
I
have
a
component.
E
The
file
exists,
but
it's
not
really
it's
giving
me
an
error.
If
I
look
at
the
file,
I
see
that
it's
in
a
different
name
space.
So
I'm
just
going
to
navigate
back
and,
as
you
can
see,
we
now
get
a
light
bulb.
So
I
can
just
click
this
here
and
a
using
statement
is
automatically
added
for
me.
So
it's
good
to
go.
I
don't
really
have
to
think
about
it
too
much
it's.
It
works
yeah.
B
That's
a
big
thing
by
the
way
for
like,
if
you
just
brought
in
a
new
framework,
whether
it
be
telerik
devexpress,
your
own,
your
own
library,
it's
a
big
thing
when
you're
adding
a
reference
to
your
project
and
you
want
to
start
using
these
components
from
it.
But
you
don't
necessarily
know
the
name
space
they're
in
having
to
understand
the
using
is
something
so
so
understood
in
c-sharp
via
light
bulbs
that
it's
just
very
easy
that
we're
able
to
bring
it
to
blazer
now
and
yeah.
Go
ahead!
Sorry
today,
yes,
that's
very
cool.
E
I
think
someone
on
the
team
was
saying
this
week
that
they
do
light
bulb
driven
development.
So
it's
really
great
to
have
that
sort
of
capability
right
off
the
bat
I'm.
E
Totally
agree:
yep,
yeah
thanks,
so
another
light
bulb
that
we've
also
enabled
is
creating
a
component.
So
here
I
have
the
super
fancy
new
prototype.
It
doesn't
even
exist,
yet
I
can
just
click.
The
light
bulb
create
the
component.
It
creates
the
file
for
me.
I
can
do
writing
by
component
right
away
and
it's
all
great
and
that's
cool.
And
lastly,
I
promise
this
last
one.
E
This
is
going
to
be
extracted
code
behind
so
have
you
ever
wanted
to
just
modularize
your
code?
A
bit
more?
You
don't
want
to
have
all
your
c
sharp
code
blocks
and
one
file.
Well.
This
enables
you
to
do
just
that.
If
I
just
do
extractor
code
behind
it
takes
all
my
c
sharp
code
in
the
code
block.
It
creates
a
counter,
dot
razer
file
and
puts
it
all
there.
E
So
you
can
get
working
on
that
right
away
and
you
don't
really
have
to
worry
about
anything
else
and
that's
basically
it
for
the
blazer
specific
light
bulbs.
These
are
already
available
in
the
latest
in
the
latest
c-sharp
extension
right
now
and
they'll
be
coming
over
to
the
visual
studio
side
of
things
pretty
soon.
E
Okay
and
just
one
final
note,
sorry,
this
isn't
a
new
light
bulb.
So
I'm
not
breaking
my
promise
there.
Essentially
with
regards
to
c-sharp
specific
light
bulbs,
which
I
was
mentioning
earlier
so
say.
E
If
I
go
into
program
dot
cs,
you
see
light
bulbs
for
encapsulating
a
field
or
creating
a
private
variable
or
that
kind
of
stuff
we're
working
on,
bringing
that
over
to
razer
code
blocks
as
well,
but
there's
just
a
bit
more
complexity
around
that,
so
we're
working
on
how
to
best
handle
that
complexity
and
bring
it
to
users,
so
it's
scalable
and
maintainable,
and
all
that
great
stuff.
So
yeah,
that's
it
for
me.
Today.
A
B
E
B
B
Yes,
you're
not
going
to
get
an
eraser
right
away
and
we're
sorry
about
that.
But
the
reason
why
is
because
we
want
to
make
sure
it
works
and
we
don't
want
to
destroy
your
document.
Are
you
accidentally
clicking
a
light
bulb
so
we're
taking
the
approach
of
we'll
wait
for
community
feedback
to
say,
hey,
I
really
like
lightbulb,
x,
y
and
z
and
we'll
just
go
and
add
it
to
our
whitelist
and
next
thing
you
know
you
have
it.
B
All
right,
so
I
think
our
next
one
is
everyone's
joy
here.
So
one
of
the
funny
things
is,
people
have
always
hated
razer
formatting
because
it
is
so
destructive
destroys
their
documents
too
much
and
it's
one
of
the
problems
we're
trying
to
solve,
and
so
I
think
aj
is
going
to
be
showing
us
a
little
more
about
razer
formatting.
If
you
want
to
hand
it
off
to
him.
D
Yeah
so
yeah,
as
shayla
said,
we've
been
making
a
good
amount
of
investment
in
formatting,
specifically
with
redoing
it
with
the
language
server
protocol,
so
yeah.
I
just
wanted
to
talk
a
little
bit
about
that
today,
show
a
little
quick
demo
of
what
we
have
so
far
as
well
as
give
you
a
little
peek
under
the
hood
of
how
it
all
comes
together
or
what
challenges
we're
facing.
D
So
I
have
this
visual
studio
open
here
I
have
the
checkbox
enabled
that's.
Taylor
showed-
and
I
have
this
beautiful
little
code
right
here
and
let's
go
ahead
and
format
that.
D
A
A
So
there
is
support
for
editor
config
right,
so
you
can
set
that
up
and
I
was
wondering:
is
there
any
kind
of
like
you
can
define
using
editor
config
the
rules
of
how
you
want
your
code
to
be
formatted
and
a
lot
of
other
things?
How
does
that
interrelate
with
what
you
folks
are
working
with?
Like?
Does
editor
config,
bring
up
any
kind
of
headaches
or
problems.
D
Definitely
so
it's
it's
one
of
the
things
we
are
actually
looking
at.
So
that
was
the
other
thing
I
was
going
to
mention
later
on,
which
is,
we
are
in
fact
investigating
things
around
what
people
want
and
what
what
people
don't
want,
but
with
respect
to
settings
and
all
that,
so
people
could
write.
D
Do
people
want
to
write
c
sharp
in
a
certain
style
and
then
in
razer?
Do
they
want
a
different
style
and
do
they
want
it
to
be
configurable
things
like
that,
so
all
of
that
are
definitely
something
we're
looking
at
and
we're
so
looking
for
feedback
on
that,
just
to
know
what's
important
to
users
and
what's
something
that
they
don't
really
care
about,
so
yeah.
Definitely
something
on
our
roadmap
to
look
at
the
similar
things
to
edit
to
config
and
export.
B
Yeah
and
it's
it's
interesting
right,
because
it's
more
than
I'd
ever
think
these
days
because
editor
could
think
is
new.
It
didn't
exist
when
vs
like
as
long
as
the
s
has
existed
so
there's
settings
that
go
back
prior
to
it
right.
So
it's
not
a
simple
for
us
anyways,
it's
not
as
simple
as
let's
just
make
it
a
config
work,
it's
well.
How
far
back
do
we
go
and
is
that
even
important.
D
Yeah
yeah,
so
continuing
on
what
I
showed
you
just
now
already
exists
in
vs
code
as
well
as
visual
studio,
but
in
vs
code
or
sorry
in
visual
studio
for
168
preview,
2
there's
the
other
thing
that
we
introduced,
which
is
format
on
type.
If
I
can
only
type.
D
So
you
can
see
that
when
I
type
semicolon
it
automatically
adds
spaces
and
all
that.
So
this
is
new,
and
I
know
that
this
looks
like
something
that
yeah
this
already
existed
in
the
old
editor
and
whatnot.
D
But
this
is
all
based
on
language
server
protocol
now
and
we
are
slowly
incrementally
adding
features
one
by
one,
and
there
is
good
reasons
for
us
doing
taking
that
approach,
rather
than
opening
up
the
floodgates
and
all
right,
just
let's
format,
everything,
that's
because
that
might
lead
to
the
same
pain
points
the
users
currently
have
which
I'll
talk
to
talk
about
in
just
a
little
bit.
Similarly,
we
also
have
format
on
type
just
for
cases
like
these.
It
brings
the
curly
down
and
things
like
that.
D
B
C
D
Yeah
yeah,
I
was
going
to
show
just
that
in
a
bit,
so
I
have
let
me
switch
to
as
more
simpler
file.
So
let's
say
I
have
this
file
as
tane
mentioned
and
showed
a
slide
a
little
bit
earlier.
We
have
a
background
generated
document
associated
with
every
razor
file,
so
we
have
a
an
html
one
and
then
a
c
sharp
one.
So
this
is
what
it
looks
like.
So
this
is
the
html
one.
As
you
can
see,
it
looks
pretty
similar
except
it
strips
out
all
the
non-html
pieces
right.
D
So
how
lsp
in
general
works
is
like
this.
This
is
just
to
give
you
a
peek
behind
the
hood,
so
how
lsp
works
there
if
you
type
a
open
triangle
right
here
right,
what
happens?
Is
we,
in
the
background,
go
actually
type
this
in
the
html
document,
pull
all
the
completions
out
and
then
bring
it
back
and
show
it
right
here?
So
that's
what
happens
and
then
we
also
have
another
razor
provided
that
provides
you
components
and
things
like
that.
D
So
similarly
for
formatting,
here's
what
will
happen
so
you
say
let's
say
I
want
to
format
this
part.
You
go
to
the
html
document
and
say:
hey
format
this,
so
it's
going
to
say
do
that,
which
means
we
pick
up
the
change
right
here.
It
says
all
right.
I
need
to
do
that
and
then
we
go
back
and
apply
it
right
here.
So
that's
how
formatting,
in
the
simple
case
works.
This
is
simple
right,
okay,
cool!
D
But
what
really
happens
if
you
look
at
a
little
more
complex
scenario
right,
let's
look
at
the
c
sharp
document.
This
definitely
does
not
look
as
simple
as
you
can
see,
if
so
look
at
this
specific
line
here.
So
if
you
look
at
that
that,
if
true
is
actually
somewhere
around
here
inside
a
class
inside
a
method
and
then
it
we
have
a
little
bit
of
markers
here
to
say
where
it
actually
belongs
to
in
the
original
document
line.
D
Nine,
but
really
they
all
are
present
in
opposite
areas,
so
meaning
it's
so
not
opposite,
but
just
in
a
different
line,
really
the
curly
and
if
there
are
different
lines
rather
than
the
same
line
right
here.
So
what
really
happens
is,
if
you
say
format
in
the
c
sharp
document.
It's
going
to
say,
hey
put
this
curly
right
here
and
then
move
this
curly
back
a
little
bit
right
here,
so
actually
before
formatting.
It
would
look
something
like
this
right
and
then
you
format,
and
it
says
all
right
do
this.
D
So
if
you
actually
pick
that
up
and
try
to
apply
it
right
there,
this
is
what
would
happen
like
it
would
just
put
the
if
two
all
the
way
up
here-
and
this
would
just
bring
it
all
the
way
down
here
and
voila
your
app
is
broken.
This
is
what
will
happen
if
we
just
let
it
go
through.
Just
like
that,
and
now
I
didn't
even
talk
about
this
little
piece
right
here.
Imagine
I
go
to
the
html
document
and
say:
hey
format.
D
This
html
document
is
just
going
to
say:
hey
put
all
the
way
over
here
this
line
and
damn
what's
going
to
happen,
is
it's
just
going
to
do
like
this
and
everything's
gone?
Your
app
is
completely
broken
now.
So
this
is
just
something
a
little
bit
of
a
corner
case.
D
There's
a
bunch
more
corner
cases
that
we
have
to
solve
to
get
formatting
working
properly
in
razer,
and
these
are
the
kind
of
things
we're
invested
in
right
now,
just
trying
to
figure
out
how
best
to
solve
it
in
a
more
consistent
way
that
works
on
all
platforms
in
all
scenarios
too,
because
what
you
just
showed
is
a
super
simple
scenario.
D
B
D
Quick
thing
which
is
kind
of
the
opposite
problem,
is
this:
if
you
look
at
this
code
block,
you
can
clearly
see
okay.
This
is
definitely
not
correctly
indented.
This
needs
to
be
here,
whereas
in
the
c
sharp
document,
according
to
c
sharp,
at
least
this
is
correct,
because
this
is
inside
a
class
and
you
have
two
level
indented.
D
D
To
check
them
you're
like
yo
you're,
talking
about
exactly
so,
we
have
to
run
a
bunch
of
cleanup
passes
over
all
of
these
things.
Just
to
get
them
look
normal
and
not
just
be
crazy.
So
yeah.
D
D
D
And
yeah,
when
you
introduce
javascript
css
and
all
of
that,
it's
it's
going
to
be
it's
a
fun
problem
to
solve,
but
yeah
it's
really
challenging
and
we're
working
on
it.
So.
B
B
I
would
say
yeah
absolutely
and
I
think
you
can
consider
turning
it
on
and
if
you
don't
like
it,
if
it
breaks
you,
because
again,
I
told
you
there's
a
lot
of
issues,
but
there's
a
lot
of
value
to
it
too,
and
if
it
breaks,
you
will
turn
it
off
and
wait
for
the
next
preview
and
give
it
another
shot.
B
C
D
D
Yeah
no
yeah,
just
to
finish
off,
as
I
showed
you.
Hopefully,
they
gave
you
some
insights
on
how
how
what
kind
of
challenges
that
we
are
currently
working
on
and
that
sort
of
thing
and
like
like,
like
I
said
earlier,
we're
definitely
looking
for
feedback
more
people
to
try
out
this
new
editor
and
yes,
you
there
will
be
rough
edges,
but
definitely
file
issues.
We
are
actively
looking
into
all
of
that
and
the
more
corner
cases,
especially
with
formatting,
the
more
coordinate
cases
you
provide
hey.
D
This
actually
doesn't
work,
even
though
you
said
it
works,
so
those
things
will
help
us
make
it
better
and
the
sooner
we
get
all
of
that,
we
can
incorporate
that
incorporate
that
into
the
original
design
and
rather
than
providing
bug
fixes
later
on,
which
actually
leads
to
a
more
complicated
solution.
So
yeah
yeah
with
that
I
wanna.
B
Switch
over
another
pause,
real,
quick,
actually
so
any
plans
to
allow
or
factoring
css
from
component
to
scope
code
behind
success.
No
not
currently.
Actually,
however,
that
being
said,
the
new
experience
or
the
new,
editor
and
tooling
is
pretty
accessible.
I
would
totally
be
down
for
a
light
bulb
if
someone's
willing
to
do
that
for
us,
like
tinney's
working
hard
on
light
bulbs,
and
I'm
sure
that
you
can
reach
out
to
him
on
github
and
kind
of
give
you
some
guidance
on
how
to
write,
how
to
write
it
and
to
potentially
contribute
it.
E
Yeah
wow
and
just
a
other
quick
point
regarding
that.
I
think,
as
someone
else
also
mentioned,
with
one
of
the
future.net
releases,
we
also
have
scope
css
files,
so
you
should
be
like
if
we
were
to
implement
that
component,
it
would.
D
Yes,
so
that
was
formatting.
So
until
now
we
saw
a
whole
bunch
of
features,
so
I
just
wanted
to
talk
a
little
bit
about
the
overall.
Like
experience,
we
we
keep
saying
all
right.
We
do
multiple
platforms,
we
support
all
of
that.
So
I
just
wanted
to
show
a
little
bit
of
just
one
or
two
quick
things,
so
I
want
to
start
with
wsl.
So
there
some
of
you
could
be
linux
fans.
D
Your
code
might
be
you,
you
would
love
to
write
your
code
in
a
wsl
container
or
in
your
wso
image
and
everything
so
vs
code.
We,
the
razer,
now,
is
supported
in
wsl
as
well.
So
when
you
have
this
remote
wsl
extension,
you
can
just
go
it'll
list
your
wsl
targets
you
can
just.
I
have
my
app
already.
D
Okay,
I
will
start
over
from
this,
so
if
you,
if
you're
a
fan
of
the
linux
environment,
if
your
code
is
in
wsl,
you
wanna,
though
you
wanna
use
vs
code
with
all
our
rich
editing
experience
with
razer.
You
can
actually
do
that.
You
can
go
download
the
remote
wsl
extension
and
it'll
list
all
of
the
wso
targets
that
you
have
as
well
as
the
apps
inside
them,
the
folder
structure.
You
can
just
directly
open
them,
as
you
can
see,
and
you
get
all
that.
D
Oh,
that's
true:
I
do
that
how
about
this
yeah,
beautiful,
okay,
oh,
I
was
thinking,
there's
going
to
be
a
demo
fail,
but
it
actually
worked,
but
it
worked
yeah
you
get
all
of
them,
nice,
completions
and
all
the
experience
that
you
get
as
if
you
are
doing
it
in
a
local
windows
machine
rather
than
rather
than
it
looking
like
you're
on
linux,
but
just
to
prove
that
I'm
on
linux.
Here
it's
running
on
linux
and
the
c.
D
So
the
way
it
works
really
is
that
it
actually
downloads
a
copy
of
the
linux,
specific
c
sharp
extension
in
your
wsl
container,
and
then
it
kind
of
communicates
with
it
remotely
through
lsp
and
that's
how
this
whole
thing
is
making.
B
D
B
It's
magic,
that's
what
I
said.
It's
a
really
like
interesting
point,
though
right
like
we
can
do
this
where
you
like.
Yes,
it's
wsl!
Yes,
it's
on
your
same
machine,
but
this
also
works.
If
it
wasn't
your
same
machine,
it's
remote
development
in
a
nutshell
right
so,
and
we're
showing
off
code
spaces
and
we're
showing
off
wsl.
This
works
remotely
because
we're
lsp
based.
D
So
speaking
of
code
spaces,
let
me
switch
over
to
visual
studio
to
show
off
code
spaces.
So
this
is
how
you
connect
to
a
code
space.
You
say:
connect
to
a
code
space.
I
already
have
one
set
up
with
my
git
repository
right
here.
So
what
happens?
Is
I
let
the
let
it
clone
my
git
repository
and
then
it
hosts
that
code
in
an
azure
instance
somewhere.
So
that's
what's
happening
right
now.
It
is
right
now
connecting
to
that
code
space
that
is
hosted
somewhere
else.
D
It
is
going
to
establish
like
a
remote
connection,
and
it's
going
to
now
start
communicating
right
now.
The
instance
that
I
have
is
the
client
instance
and
it's
going
to
communicate
with
avs
headless
instance
running
in
the
server.
So
all
of
that
communication
is
that
happens
through
lsp,
so
you
still
get
that
familiar
code
spaces
familiar
local
experience
in
codespaces.
D
B
B
D
D
If
I
click
on
this
thing,
you
you
would
have
not
even
noticed
that
it
highlighted
all
the
related
current
counts.
This
doesn't
happen
locally
because
that,
even
though
it
has
the
same
name,
it
could
be
different
in
terms
of
it
could
be
some
other
html
text
that
says
current
count,
but.
A
D
It's
going
to
the
g
language
server
and
asking
it
what
are
the
other
references
to
this
and
then
it's
bringing
it
all
back
and
then
highlighting
it
on
the
client
so
yeah.
That
is
what's
happening
right
here
and
you
still
you
get
all
the
you
can
even
debug
the
app
and
put
breakpoints
and
stuff,
and
you
get.
D
Yeah,
so
you
can
you
can
you
can
have
just
a
native
coding
experience?
You
you'll
see
nothing
different.
This
is
the
shell
that
he
was
talking
about.
So
you
can
see.
This
is
all
in.
This
is
not
my
machine.
I
don't
have
a
workspace
folder
in
my
c.
This
is
all
connected
to
the
server
machine.
What
else
did
I
want.
B
D
D
A
way
of
showing
it
so
you
can
see
it's
actually
streaming
the
console
right
here.
There's
this
other
mouse
pointer.
You
can
see
that's
happening
on
the
server
machine
and
you
I
still
get
that
thing
running
and
even
though
it
says
localhost,
it's
not
really
localhost
to
my
machine.
It's
just
forwarding
all
the
ports
and
that's
how
you
get
you're
able
to
access
localhost
on
your
server
machine
as
if
it's
local
to
you
so.
C
D
There's
that
now
let's
go
one
level
further.
I
already
have
this
code
running
in
some
other
machine.
Now
I
want
some
help
debugging
something
from
someone
right.
There
you
go
live
share.
You
can
actually
share.
So
I'm
gonna
share
this
with
taylor.
Let's.
A
D
A
D
Just
like
that
in
his
client,
he
will
be
able
to
get
look
at
that
it
just
auto
indented
that
as
well
as
everything.
What
is
he
doing?
Wow
nice.
D
I
see
I
see
how
it
is
well
yeah,
I'm
going
to
start
this
before
he
runs
and.
D
All
up
but
yeah,
the
lesson
learned
here
is
never
let
taylor
access
your
machine,
but.
D
Is
a
great
feature
that
you
can
use
and
razer
is
fully
supported.
You
get
the
same
experience
both
on
the
codespace
client,
as
well
as
the
live
share,
guest
and
we're
still
working
on
making
this
experience
a
lot
better.
Just
like
the
local
experience,
there's,
maybe
a
little
kinks
here
and
there
with
sometimes
code
space
is
not
loading.
Components
like
you
see
here
it
happens
intermittently
we're
working
on
fleshing
that
out
yeah.
D
B
B
Okay,
so
I'm
going
to
hop
back
over
to
my
screen
real
quickly.
I
was
going
to
show
debugging
what
I
just
show
you
can
debug.
You
can
break
points
that
works
everywhere.
I
was
going
to
show
doing
a
blazer
wasmap.
You
could
do
debugging
and
blaze
or
wasm
nvs
and
in
vs
code.
Now
those
are
things
there
search
it.
You
can
go
ahead
and
find
the
right
answers.
There.
B
Oh
yeah,
I
actually
didn't
know
that
that's
awesome,
yeah,
very
cool,
so
then
timelines
so
vs
code.
This
is
always
on
it's
there
already
and
for
dinette
five
dot.
Five
is
going
to
require
16.8
whatever
168
is.
B
We
are
not
going
to
be
on
by
default
with
a
new
editor,
but
we're
going
to
still
have
that
preview
feature
available.
That
being
said,
when
16
8
is
there
and
rtms,
we
will
have.
There
will
be
a
16
9
preview,
one
in
which
we
will
be
on
by
default.
We
will
have
replaced
the
existing
razer
editor,
and
I
think
this
is
all
kind
of
like
looking
at
early
next
year
for
like
a
full
replacement.
B
So
you
get
all
these
wonderful
features,
this
better
experience
more
stable
early
next
year,
so
that's
kind
of
our
our
timelines
high
level
view
of
the
future.
This
is
yeah.
We
want
c
sharp
to
work
great,
consistent,
yeah
lots
of
refactorings,
I'm
just
trying
to
fly
through
this
reporting
issues.
I'll.
Do
this
really
really
quickly,
because
I
I
saw
the
question
was
asked
so
the
best.
B
Yeah,
it's
a
big
one,
so
dot
net,
just
dot
net,
slash
ace
unit
core.
So
the
report
issues
you
go
to
dotnet
asp.net
core
and
you
do
new
issue
and,
oh,
my
goodness,
I'm
not
logged
in
here
great
really.
Why
does
it
you
have
to?
Actually
I
didn't
realize
you
actually
had
to
do
that
great
there's,
a
razor,
tooling
command
or
a
prompt
over
here.
I
don't
know
why
it
signed
me
out.
B
That's
great,
probably
because
I'm
an
incognito,
maybe
I
don't
know
anyhow,
there's
a
razor,
tooling
template
and
create
new
issue
that
has
all
the
instructions
on
how
to
capture
the
information
that
we
need
in
order
to
properly
diagnose
your
your
bugs.
Please
do
that
like
too
frequently
people
they
just
find
issues
and
they
glance
over
them.
They
think
it's
no
big
deal
it'll
be
fixed.
Honestly,
we
get
so
much
feedback.
It's
really
hard
to
understand
when
issues
are
reported,
so
the
more
you
do
it,
the
better
and
especially
in
this
forum.
A
B
Absolutely
because
worst
case
we
say
we
know
about
it.
It's
there
so
do
not
like
do
not
worry
about
filing
them.
We
love
seeing
this
community
engagement.
Oh
go
ahead,
sir!
Oh,
I
think
he
froze.
Oh
no
did
we
just
lose
our
coordinator.
We
lost.
Oh
there
we
go
john's,
showing.
B
B
And
then
one
last
thing:
we
do
plan
to
integrate
this
better
with
visual
studio,
meaning
you
should
be
able
to
go
ahead
and
click
this
button.
I
know
it's
hard
to
see,
but
the
report,
a
problem
button
up
in
the
top
right
hand
corner
and
we
should
pull
all
the
logs
we
care
about
from
there.
So
in
the
future,
that's
coming
in
16,
8
preview,
3.,
it's
not
there
yet.
Hence
why
I'm
pointing
you
towards
asp.net
core
in
terms
of
resources?
B
Github.Com.Net,
it's
connect
core
tooling.
I
mentioned
you
can
contribute
the
css
light
bulb.
If
you
want
to
this,
is
our
tooling
reboot?
We
keep
it
separate.
The
reason
why
we
keep
it
separate
is
because
there's
a
lot
of
different,
tooling
releases
that
are
not
asp.net
core
related,
so
for
every
like
dot
net
five
preview,
one
two,
three,
four
five
et
cetera.
We
have
like
a
vs
or
mac
a
vs
code
of
yes
release.
We
have
a
different
repo
because
of
that.
So
this
is
where
we
do
the
code.
B
We
follow
the
issues
in
aste
net
core.
We
do
the
code
here.
I
know
it's
a
little
confusing,
but
this
is
where
we
kind
of
you
can
try
stuff
out
and
see
how
things
work.
We
have
a
readme.
Tell
you
how
to
get
started
here.
Are
our
twitter
and
github
handles
please
we
love
feedback.
This
is
dan's
link
in
the
beginning.
I
think
that
was
lightning
round
dish.
Yeah
plea,
if
you
have
any
questions
at
all
like
reach
out
on
twitter,
to
anyone
github
to
any
any
of
us
like.
B
We
are
all
super
open
to
questions.
We
love
helping
and
we're
all
very
passionate
about
what
we're
doing.
We
want
to
make
blazer
tooling
experience
razor,
tooling
experience
everything
just
better,
like
I
hate
that
everyone,
everyone
has
so
many
qualms
to
the
existing
dueling
experience,
and
we
want
this
to
be
like
the
best
in
class
experience
for
you.
So.
A
This
is
really
cool.
I'm
sharing
the
link
so
I'll.
Add
that
to
the
community
links
thing
that
I
share,
and
then
I'm
also
sending
it
out
in
the
comments
now.
So
that's
that's
the
link
over
to
that
blog
post.
So
this
is
great.
This
is
I
mean
I
was
not
surprised.
We
went
kind
of
long.
I
think
that's
fine.
This
is
this
is
really
really
good
stuff.
So
yeah.
B
And
if
you
and
we
glaze
past
debugging,
if
you
have
issues
reach
out
too,
can
totally
show
that
off
like
or
can
help
you
out
in
person.
So.
A
As
a
reminder
to
people
watching,
we've
got
our
machine
learning
community
stand
up
starting
tomorrow,
so
that's
wednesday
at
10,
pacific,
17
utc,
and
with
that
I
think,
we'll
we'll
end
up
and
thanks
a
bunch
for
watching
cool.