►
Description
Paul Slaughter, Staff FE Engineer, and Eric Schurter, Sr. Product Manager, demo a proof of concept implementation of VS Code running in the web, replacing the GitLab Web IDE.
Part 4 is focused on the ways we can customize VS Code to make it feel more integrated with the GitLab experience.
Learn more here: https://gitlab.com/gitlab-org/gitlab/-/issues/345718
A
This
might
be
more
of
a
discussion
because
there's
I
didn't
prompt
you
with
anything
here
for
the
proof
of
concept.
This
is
something
that
we've
talked
about,
though,
about
vs
code.
A
Generally
speaking,
the
impression
was
that
it
is
a
little
less
flexible
when
it
come
when
compared
to
our
current
web
id
and
that
we
don't
have
as
much
control
over
the
ui
the
button
placement,
the
line
height,
the
way
things
work,
the
mr
creation
flow
the
commit
flow
things
like
that,
but
I'm
going
to
turn
it
over
you
to
talk
about
ways.
We
can
extend
vs
code
running
on
the
web
and
and
potential
that
we
could
explore
down
the
road.
B
Yeah,
so
talking
about
some
of
the
interesting
things
we
would
want
to
that.
We'd
want
to
do
here,
so
I'm
just
going
to
open
up
a
markdown
file
to
show
how
things
like
open
preview
to
the
side
vs
code.
B
B
Prob
is
gonna,
receive
things
from
the
file
system
because,
as
I
make
changes
here
and
actually
actually
make
changes
here,
we
see
it
actually
change
and
be
updated
and
very
similarly
would
be
really
cool
to
have
a
more
lovable
live
preview
like
feature
here
or
if
we
wanted
to
implement
our
own
wysiwyg
content
editor
here,
those
things
would
be
doable
and
so
vs
code
has
a
fantastic
guide
for
all
the
capabilities
that
extensions
have
and
then
some
one
of
the
really
cool
ones
we
were
just
talking
about
is
web
view,
and
I
was
trying
to
find
an
example
for
this,
but
it
is
basically
a
view
that
can
render
almost
any
html
content,
but
some
of
the
examples
they
use
for
like
an
editor
for
or
maybe
it's.
B
Oh
it's
custom
editors,
that's
the
one,
I'm
thinking
of
yeah
yeah,
so
you
also
create
like
custom
editors.
That's
the
one
that
we
would
do
for
content
editor,
but
some
examples
are
like
things
that
demo
shaders
or
like
3d
models
and.
A
B
A
Yeah,
we
do
by
the
way
just
not
to
interrupt,
but
we
do
have
a
fair
few
customers
that
work
on
like
games
or
lots
of
by
large
binary
files
that
they
might.
B
And,
what's
cool
too
is
if
we
are,
if
we
are
able
to
hook
in
be
being
running
vs
code,
we
also
can
hook
into
the
vs
code
marketplace.
So
if
we
can
run
extensions
that
already
provide
those
kind
of
editors,
we
don't
have
to
remake
those
or
anything
like
that,
and
so
we
have
a
whole
host
of
lovable
editing
features
that
are
already
being
used
in
the
wild
that
are
quite
possible
for
us
to
use
out
of
the
box
over.
Here
we
saw
in
part
two
that
there's
a
little
bit
of
hiccups.
B
We
need
to
solve
with
the
extension
marketplace,
but
the
vs
code.
Extensions
api
is
all
there
and
works
the
same
on
the
web
as
it
does
on,
as
it
does
locally
as
long
as
you're
not
running
like
actual
terminal
commands
and
stuff
which
extensions
providing
custom
editors.
Wouldn't
that's
a
good,
that's
a
good
point,
there's
something
else.
I
was
gonna
say
about
the
extensibility,
oh,
like
there's,
also
there's
apis,
for
we
can
actually
create
a
terminal.
B
So
if
we
want
to
move
forward
to
doing
actual
sort
of
sort
of
cloud
compute
where
we're
running
tests
or
whatever
there's
apis
for
hook
for
how
you
would
hook
this
ui
into
that,
there
are
also
apis.
The
api
for
source
controls
is
very
robust
too.
It's
not
necessarily
tied
to
git
because
think
about
vs
code
also
sometimes
want
to
support
things
like
subversion
or
whatever.
B
So
if
we
want
to
have
a
very
good
strict,
you
know
changes
staged
split
of
files
like
we
used
to
have
in
the
web
id
we
can
implement
that
or
we
can
have
it
simple
like
our
current
web
id
is
where
we
just
keep
track
of
all
changes,
and
if
you
don't
want
to
change,
you
don't
need
it,
so
their
source
control
functionality
is
quite
extensible
too.
I'll
show
that
I
show
that
you
can
change
the
the
coloring
of
things.
B
That's
probably
the
easiest
thing
we
can
change
is
like
the
color
font
text
a
little
bit
of
the
look
and
feel
we
can't
quite
change
some
of
their
like
marketplace
like
they're
baked
in
they
actually
do
provide
like
an
api
where
you
could
provide
some
set
of
those,
but
they
don't.
They
don't
talk
about
a
whole
lot,
but
yeah.
B
Right,
there's
one
other
thing:
yes,
so
it's
talking
about
the
ui
as
far
as
the
ui
goes
things
that
we
can
adjust
very
easily
our
things
on
the
status
bar.
B
We
can
add
these
little
boxes,
which
they
call
tree
views,
but
they
don't
necessarily
have
to
have
be
a
tree
of
things.
So,
for
example,
I
added
one
here
called
commit
changes.
We're
like
oh,
if
you're
done
with
your
changes,
hit
the
commit
button.
B
It'll
just
take
you
to
here,
because
we
kind
of
have
a
similar
button
in
the
current
web.
Id
saying,
hey
commit
be
done.
You
can
also
add
our
own
little
tabs
and
windows
and
stuff
as
well
from
as
a
ui
perspective.
This
is
the
easiest
stuff
to
change.
B
That's
definitely
not
all
the
things
we
can
change,
there's
some
things
we
might
be
able
to
tweak
from
that,
but
a
lot
of
the
ui
you're
gonna
is
you're,
not
gonna,
be
able
to
leave
this
look
and
feel
too
much,
which
is
necessarily
a
bad
thing,
because
it's
kind
of
the
ui
everyone's
used
to.
A
Let's
see
the
other
thing
you
talked
about
on
their
last
demo
was
like
the
ability
to
potentially
go
outside
of
it
and
and
communicate
through
the
api
for
things
like
a
merge,
request,
flow
or
something
like
that
or
in
a
modal,
or
something
like
that.
Right.
B
Yeah
yeah,
that's
a
good
point
too.
There
is
I'm
trying
to
see
if
I
could
find
one.
I
can't
find
a.
I
can't
think
of
a
way
to
demo
this
necessarily,
but
they
do
have
they
call
it.
B
Oh
quick
pick
this
kind
of
like
drop
down
where
you
open
up
this,
where
I'm
typing
in
things
and
doing
commands
they
use
this
kind
of
drop
down
actually
and
support
a
number
of
like
form
fields.
So
if
you
have.
B
Process
a
user
needs
to
go
through,
like
our
workflow
extension
has
enter
your
gitlab
token
and,
like
you
know,
what
branch
do
you
want
to
connect
to
and
we'll
ask
a
list
like
two
or
three
questions
for
here?
So
for
our
like
merge
request,
workflow
on
commit,
we
could
ask.
Do
you
want
to
commit
to
the
your
branch
you've
selected
or
do
you
want
to
commit
to
a
new
branch?
Do
you
want
to
open
up
a
new,
mmr
or
or
not?
B
That
looks
like
this
kind
of
drop
down
thing
where
there's
like
baked
in
asking
a
question
and
different
kinds
of
inputs
based
on
the
type
of
value
you're
expecting.
So
that's
a
really
nice
feature,
but
we
could
also
open
up.
You
notice,
like
we're,
still
have
the
main
gitlab
top
nav
here,
so
we're
still
inside
of
gitlab.
B
A
The
last
bit
on
customization-
I
just
wanted
to
ask-
I
think
we
touched
on
this
a
little
bit
in
our
longer
demo,
but
the
idea
that
these
settings,
as
you
I
can't
remember,
which
part
of
this
four
separate-
calls
that
we're
definitely
recording
at
separate
times
when
we
demo
this.
A
But
you
showed
that
the
settings
persist
for
like
themes
and
stuff,
the
idea
that
you
could
have
at
a
project
or
group,
or
instance,
level,
a
standard
editor
config
that
gets
pre-installed
and
references
from
a
file
that
kind
of
sets
a
baseline,
where
obviously
the
user
could
override
very
easily.
A
But
you
know
an
organization
may
have
particular
settings.
They
want
to
encourage
or
extensions
they
want
installed.
So
I
know
that
interfacing
with
editor,
config
and
being
more
customizable
like
that,
is
something
that's
on
the
web
id
backlog.
So
I
was
just.
I
guess
I
wanted
to
just
prompt
that
this
approach
also
enables
us
to
have
like
a
standard
config,
maybe
even
across
projects.
B
Yeah
so
like
talking
about
project
specific
configuration
like
baked
baked
out
of
it,
vs
code
will
look
for
vs
code.vs
code
directories.
I
haven't
tried
a
project
like
this
on
the
web
build.
So
it's
worth
you
know
that's
worth
testing
out,
but
that
code
is
there,
it's
doing
something,
but
definitely
a
lot
of
the
the
editor
settings.
Like
you
see
here,
like
you
know
what
spaces
am
I
at,
and
what
kind
of
based
on
the
file,
type
and
stuff?
B
These
are
all
can
be
workspace,
configurations
or
global
configurations
that
are
shared
but
it'd,
be
interesting,
it'd
be
interesting
to
and
stuff
that
we
could
set
on
on
bootstrap
too.
So
if
there
was,
we
wanted
to
have
this
setting
be
some
sort
of
git
lab
setting,
that's
not
necessarily
baked
into
the
repository
we
can.
We
can
set
those
settings
here
too.