Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:01,389 --> 00:00:06,960
[Music]
2
00:00:05,200 --> 00:00:08,720
hey everybody i'm jordan mathis and i'm
3
00:00:06,960 --> 00:00:10,800
a program manager on the visual studio
4
00:00:08,720 --> 00:00:12,240
for mac team at microsoft and today i'm
5
00:00:10,800 --> 00:00:14,719
going to take you through our new visual
6
00:00:12,240 --> 00:00:17,198
studio 2022 for mac and the latest
7
00:00:14,718 --> 00:00:18,559
preview 3 release that we just put out
8
00:00:17,199 --> 00:00:21,600
so this is our release that now has
9
00:00:18,559 --> 00:00:23,919
support for net 6 c 10
10
00:00:21,600 --> 00:00:25,920
and really big focus on this release for
11
00:00:23,920 --> 00:00:27,599
us is on
12
00:00:25,920 --> 00:00:29,439
updating the ide to have a much more
13
00:00:27,599 --> 00:00:31,599
comfortable feel for developers
14
00:00:29,439 --> 00:00:33,439
presumably like yourselves who like to
15
00:00:31,599 --> 00:00:35,759
work on a mac and so we've focused
16
00:00:33,439 --> 00:00:38,718
heavily on the ui of the ide moving it
17
00:00:35,759 --> 00:00:39,839
to a fully native mac os ui
18
00:00:38,719 --> 00:00:41,840
now if you've been with us for a while
19
00:00:39,840 --> 00:00:43,920
in visual studio for mac the ide has
20
00:00:41,840 --> 00:00:46,399
been a combination of ui technologies
21
00:00:43,920 --> 00:00:48,239
that were native mac os ui
22
00:00:46,399 --> 00:00:49,679
as well as a cross-platform toolkit that
23
00:00:48,238 --> 00:00:52,799
we used to use
24
00:00:49,679 --> 00:00:54,558
and um beyond that that could lead to
25
00:00:52,799 --> 00:00:56,238
some experiences didn't feel quite mac
26
00:00:54,558 --> 00:00:57,679
like certain things like tabs feeling
27
00:00:56,238 --> 00:00:58,959
off or
28
00:00:57,679 --> 00:01:00,159
just little controls it didn't feel
29
00:00:58,960 --> 00:01:02,239
quite right
30
00:01:00,159 --> 00:01:03,759
so this was a big opportunity for us to
31
00:01:02,238 --> 00:01:05,920
go ahead and revisit those and do it
32
00:01:03,759 --> 00:01:08,239
right to get this nice comfortable feel
33
00:01:05,920 --> 00:01:09,760
for being a mac native application and
34
00:01:08,239 --> 00:01:11,920
so along with that it also gave us an
35
00:01:09,760 --> 00:01:13,760
opportunity to go and fix a number of ui
36
00:01:11,920 --> 00:01:14,799
glitches that have been in the ide for a
37
00:01:13,760 --> 00:01:16,799
while
38
00:01:14,799 --> 00:01:19,118
as well as
39
00:01:16,799 --> 00:01:20,799
smooth out the experience for you so a
40
00:01:19,118 --> 00:01:22,478
big thing you'll notice will be this ui
41
00:01:20,799 --> 00:01:24,960
responsiveness things like resizing
42
00:01:22,478 --> 00:01:26,400
windows generally moving around the ide
43
00:01:24,959 --> 00:01:27,759
should feel snappier
44
00:01:26,400 --> 00:01:30,560
so that was a really big goal of the
45
00:01:27,759 --> 00:01:31,920
release as well as getting it to feel
46
00:01:30,560 --> 00:01:33,759
more comfortable for those of you who
47
00:01:31,920 --> 00:01:36,000
are familiar with using say visual
48
00:01:33,759 --> 00:01:37,200
studio from on windows we've got a
49
00:01:36,000 --> 00:01:38,719
number of developers that come in you've
50
00:01:37,200 --> 00:01:40,159
got some history working with visual
51
00:01:38,719 --> 00:01:41,840
studio and we want you to be able to
52
00:01:40,159 --> 00:01:43,040
take the knowledge you may have from the
53
00:01:41,840 --> 00:01:44,799
past to go ahead and bring it into
54
00:01:43,040 --> 00:01:46,320
visual studio for mac and find your ways
55
00:01:44,799 --> 00:01:47,840
around so i have a few things i'll give
56
00:01:46,319 --> 00:01:50,239
you a demo of there of the changes we've
57
00:01:47,840 --> 00:01:52,159
made along those lines
58
00:01:50,239 --> 00:01:54,560
as well as another big thing that we
59
00:01:52,159 --> 00:01:57,680
announced this week is
60
00:01:54,560 --> 00:02:00,320
our future plans for support of the
61
00:01:57,680 --> 00:02:02,799
m1 processor from apple running the ide
62
00:02:00,319 --> 00:02:04,798
natively on m1 processors so this is
63
00:02:02,799 --> 00:02:06,479
apple's arm 64 processor if you weren't
64
00:02:04,799 --> 00:02:08,080
familiar and we're going to do this and
65
00:02:06,478 --> 00:02:10,639
i love this part kind of a geeky detail
66
00:02:08,080 --> 00:02:13,520
of moving the ide to running on top of
67
00:02:10,639 --> 00:02:15,598
net 6 clr the common language runtime
68
00:02:13,520 --> 00:02:17,280
itself which will also bring a number of
69
00:02:15,598 --> 00:02:18,959
improvements to the id for things like
70
00:02:17,280 --> 00:02:21,199
low level performance of our file
71
00:02:18,959 --> 00:02:23,039
operations things like working with file
72
00:02:21,199 --> 00:02:24,159
system watchers that are used across the
73
00:02:23,039 --> 00:02:25,359
ide
74
00:02:24,159 --> 00:02:27,520
so
75
00:02:25,360 --> 00:02:28,879
that combined with our new front end of
76
00:02:27,520 --> 00:02:31,200
the ide
77
00:02:28,878 --> 00:02:32,479
makes for a really good release for us
78
00:02:31,199 --> 00:02:34,159
around these improvements on
79
00:02:32,479 --> 00:02:36,560
long-standing issues we've had with
80
00:02:34,159 --> 00:02:37,840
performance so we've got a blog post
81
00:02:36,560 --> 00:02:39,439
that i put out
82
00:02:37,840 --> 00:02:42,959
that has some details of our findings
83
00:02:39,439 --> 00:02:44,239
working on the m1 support and
84
00:02:42,959 --> 00:02:46,159
what's coming up there soon we don't
85
00:02:44,239 --> 00:02:48,878
have the release ready yet but i'm going
86
00:02:46,159 --> 00:02:51,039
to demo right now but keep an eye out on
87
00:02:48,878 --> 00:02:53,199
our blog going forward to see when that
88
00:02:51,039 --> 00:02:54,560
m1 processor support comes out
89
00:02:53,199 --> 00:02:56,399
so let's go ahead and dive on into the
90
00:02:54,560 --> 00:02:58,080
ide
91
00:02:56,400 --> 00:02:59,280
and today i'm going to take you through
92
00:02:58,080 --> 00:03:02,159
some of those things i just mentioned
93
00:02:59,280 --> 00:03:03,680
the new stuff that we're working on
94
00:03:02,158 --> 00:03:04,479
so here you're looking at the visual
95
00:03:03,680 --> 00:03:07,439
studio
96
00:03:04,479 --> 00:03:09,439
2022 for mac ide and
97
00:03:07,439 --> 00:03:11,759
right away if you've used prior versions
98
00:03:09,439 --> 00:03:13,519
you might notice a few things
99
00:03:11,759 --> 00:03:16,000
our status messaging has moved from the
100
00:03:13,519 --> 00:03:17,599
window title on down to the bottom of
101
00:03:16,000 --> 00:03:19,680
the ide and you'll see this when i do
102
00:03:17,598 --> 00:03:22,399
things like go to run my project which
103
00:03:19,680 --> 00:03:22,400
we'll do right now
104
00:03:22,878 --> 00:03:25,598
status messaging moves down towards the
105
00:03:24,479 --> 00:03:27,840
bottom
106
00:03:25,598 --> 00:03:29,359
the tabs have a more modern mac os feel
107
00:03:27,840 --> 00:03:32,719
as well as a visual studio kind of a
108
00:03:29,360 --> 00:03:33,920
feel to them
109
00:03:32,719 --> 00:03:36,080
and if you weren't familiar with visual
110
00:03:33,919 --> 00:03:38,079
studio for mac there's three major types
111
00:03:36,080 --> 00:03:39,599
of projects you can work on
112
00:03:38,080 --> 00:03:40,640
uh there's this case i'm working on a
113
00:03:39,598 --> 00:03:42,158
dot net
114
00:03:40,639 --> 00:03:44,079
project this was uh this one i believe
115
00:03:42,158 --> 00:03:45,679
is dot net five the ide supports
116
00:03:44,080 --> 00:03:47,519
building apps
117
00:03:45,680 --> 00:03:51,040
for the web and console with dot net
118
00:03:47,519 --> 00:03:52,799
core31 dot net 5 and now.net 6 as well
119
00:03:51,039 --> 00:03:55,759
as building out mobile applications
120
00:03:52,799 --> 00:03:58,000
using the traditional xamarin project
121
00:03:55,759 --> 00:04:00,158
and maui support will be coming soon and
122
00:03:58,000 --> 00:04:02,239
it's not in the build yet but if you're
123
00:04:00,158 --> 00:04:04,158
looking for dot net six and maui support
124
00:04:02,239 --> 00:04:05,519
stay tuned on the blog there'll be
125
00:04:04,158 --> 00:04:06,719
updates after the calendar year to
126
00:04:05,519 --> 00:04:07,680
support that
127
00:04:06,719 --> 00:04:09,438
and then finally if you're game
128
00:04:07,680 --> 00:04:11,120
developer for unity you can go and edit
129
00:04:09,438 --> 00:04:11,840
your scripts in vs for mac and be able
130
00:04:11,120 --> 00:04:14,480
to
131
00:04:11,840 --> 00:04:16,879
edit and debug those in the ide moving
132
00:04:14,479 --> 00:04:18,399
back and forth from unity
133
00:04:16,879 --> 00:04:20,798
that's all supported in this preview
134
00:04:18,399 --> 00:04:20,798
release
135
00:04:21,358 --> 00:04:26,959
so what i'm demoing right now is a
136
00:04:24,959 --> 00:04:28,719
sample application we've had for a bit
137
00:04:26,959 --> 00:04:31,599
that is like an online marketplace and
138
00:04:28,720 --> 00:04:32,960
then here i can add something to my cart
139
00:04:31,600 --> 00:04:34,400
and i was looking at a bug that was
140
00:04:32,959 --> 00:04:36,239
going on in here that we can just
141
00:04:34,399 --> 00:04:38,239
troubleshoot together
142
00:04:36,240 --> 00:04:39,680
this is where if i remove i can remove
143
00:04:38,240 --> 00:04:41,439
an item from my cart by changing the
144
00:04:39,680 --> 00:04:42,478
quantity to zero and i click this update
145
00:04:41,439 --> 00:04:43,439
button
146
00:04:42,478 --> 00:04:44,879
and
147
00:04:43,439 --> 00:04:46,639
it's supposed to go away but it's not
148
00:04:44,879 --> 00:04:48,399
going away
149
00:04:46,639 --> 00:04:49,600
so let's go back to visual studio for
150
00:04:48,399 --> 00:04:52,399
mac and we'll troubleshoot this and see
151
00:04:49,600 --> 00:04:52,400
what's going on there
152
00:04:54,959 --> 00:04:59,120
now right now we're in a debug mode i am
153
00:04:57,439 --> 00:05:00,560
the time being now we're going to stay
154
00:04:59,120 --> 00:05:02,478
in here actually
155
00:05:00,560 --> 00:05:04,560
and i know that the code i want to look
156
00:05:02,478 --> 00:05:06,319
at is in this piece of the application
157
00:05:04,560 --> 00:05:08,160
called the basket service and if i use
158
00:05:06,319 --> 00:05:10,560
the search bar up in the ide i can
159
00:05:08,160 --> 00:05:13,680
search for basket service
160
00:05:10,560 --> 00:05:16,160
in this bar it searches both files
161
00:05:13,680 --> 00:05:18,478
types and members in your code as well
162
00:05:16,160 --> 00:05:20,320
as commands in the ide
163
00:05:18,478 --> 00:05:23,360
menu items in this case i'm going to
164
00:05:20,319 --> 00:05:26,079
pick into the basket service class
165
00:05:23,360 --> 00:05:27,759
and i know that what i want to work on
166
00:05:26,079 --> 00:05:29,038
is a method that's called set quantities
167
00:05:27,759 --> 00:05:33,120
i got this far in my debugging
168
00:05:29,038 --> 00:05:33,120
previously and then had to stop here
169
00:05:33,360 --> 00:05:37,520
so let's go ahead and set a breakpoint
170
00:05:35,839 --> 00:05:39,038
and i'm switching back to the browser
171
00:05:37,519 --> 00:05:40,799
we'll try this action again with the
172
00:05:39,038 --> 00:05:42,000
update button
173
00:05:40,800 --> 00:05:45,038
and then
174
00:05:42,000 --> 00:05:45,038
our breakpoint gets hit
175
00:05:45,839 --> 00:05:50,560
so you can this is just to show that our
176
00:05:47,839 --> 00:05:52,239
native ui is up and running all these
177
00:05:50,560 --> 00:05:54,000
usual features for debugging are here
178
00:05:52,240 --> 00:05:55,038
the ability to come in and work with
179
00:05:54,000 --> 00:05:57,439
your
180
00:05:55,038 --> 00:05:59,839
locals window the watches window
181
00:05:57,439 --> 00:06:02,719
i could explore items in line here and
182
00:05:59,839 --> 00:06:04,079
take a look at this collection
183
00:06:02,720 --> 00:06:05,520
drill into the different items all the
184
00:06:04,079 --> 00:06:08,639
tools you're used to using for debugging
185
00:06:05,519 --> 00:06:10,560
are up and running in this preview
186
00:06:08,639 --> 00:06:12,000
and i can actually see if i look down i
187
00:06:10,560 --> 00:06:13,680
had a note to myself that i just forgot
188
00:06:12,000 --> 00:06:15,680
about was to actually implement this
189
00:06:13,680 --> 00:06:17,280
remove item functionality so i'm going
190
00:06:15,680 --> 00:06:20,840
to stop debugging and we'll just write
191
00:06:17,279 --> 00:06:20,839
some code real quick
192
00:06:21,600 --> 00:06:25,439
so the first thing i need to do i know
193
00:06:23,038 --> 00:06:28,079
that there's this basket
194
00:06:25,439 --> 00:06:30,319
object and i need to call
195
00:06:28,079 --> 00:06:30,318
a
196
00:06:30,478 --> 00:06:35,918
remove empty items method on this so
197
00:06:33,439 --> 00:06:38,079
here's our intellisense list and it lets
198
00:06:35,918 --> 00:06:39,038
me filter through options like members
199
00:06:38,079 --> 00:06:41,439
of the
200
00:06:39,038 --> 00:06:44,000
the types of methods properties
201
00:06:41,439 --> 00:06:45,839
uh if i click on remove empty items i
202
00:06:44,000 --> 00:06:47,680
can just type the semicolon now and it
203
00:06:45,839 --> 00:06:49,598
will auto close the parenthesis because
204
00:06:47,680 --> 00:06:52,400
it's got no parameters to that method
205
00:06:49,598 --> 00:06:53,839
and finish off the line this is a
206
00:06:52,399 --> 00:06:57,439
change that came in i think in the past
207
00:06:53,839 --> 00:06:58,799
few releases just a nice little shortcut
208
00:06:57,439 --> 00:07:00,959
and then there's one more step in here
209
00:06:58,800 --> 00:07:03,680
with this basket repository
210
00:07:00,959 --> 00:07:05,038
where i need to call this update async
211
00:07:03,680 --> 00:07:06,478
method which
212
00:07:05,038 --> 00:07:08,478
takes
213
00:07:06,478 --> 00:07:10,159
that basket as a member of it so you can
214
00:07:08,478 --> 00:07:11,038
see some tooltips popping up here to
215
00:07:10,160 --> 00:07:13,599
show us
216
00:07:11,038 --> 00:07:15,120
ways to work with this code
217
00:07:13,598 --> 00:07:16,639
and
218
00:07:15,120 --> 00:07:19,199
let's save that
219
00:07:16,639 --> 00:07:20,639
so if i had implemented some unit tests
220
00:07:19,199 --> 00:07:22,800
for this piece of the code which i did
221
00:07:20,639 --> 00:07:24,400
not but if i did i could go into our
222
00:07:22,800 --> 00:07:26,560
tests window right now and be able to
223
00:07:24,399 --> 00:07:28,879
take these and run the unit test there's
224
00:07:26,560 --> 00:07:32,800
a test results window that'll come up
225
00:07:28,879 --> 00:07:34,879
um and let me debug that in this case i
226
00:07:32,800 --> 00:07:36,800
did not have unit tests for this which
227
00:07:34,879 --> 00:07:38,959
would have been a good practice so we'll
228
00:07:36,800 --> 00:07:43,240
go ahead and run the project and just
229
00:07:38,959 --> 00:07:43,239
see if it's fixed in the web browser
230
00:07:48,879 --> 00:07:52,319
so one other little item of node in here
231
00:07:51,120 --> 00:07:54,240
while this is running you might have
232
00:07:52,319 --> 00:07:55,360
noticed the menu items in the ide are
233
00:07:54,240 --> 00:07:57,519
different if you've been with us for a
234
00:07:55,360 --> 00:07:59,360
while with visual studio for mac
235
00:07:57,519 --> 00:08:01,439
so this is one of those steps to make it
236
00:07:59,360 --> 00:08:03,199
feel more like visual studio make it
237
00:08:01,439 --> 00:08:05,120
easier to bring what you're familiar
238
00:08:03,199 --> 00:08:06,879
with from visual studio with you into
239
00:08:05,120 --> 00:08:08,478
visual studio for mac so we've got a git
240
00:08:06,879 --> 00:08:10,800
menu now
241
00:08:08,478 --> 00:08:12,560
project build debug have items that you
242
00:08:10,800 --> 00:08:15,120
might be familiar with
243
00:08:12,560 --> 00:08:16,399
from working in uh other visual studio
244
00:08:15,120 --> 00:08:18,478
products
245
00:08:16,399 --> 00:08:19,679
including a quick watch window which has
246
00:08:18,478 --> 00:08:21,439
been a request we've heard from a number
247
00:08:19,680 --> 00:08:22,639
of customers if you were
248
00:08:21,439 --> 00:08:25,519
stopped at a break point now i could
249
00:08:22,639 --> 00:08:25,519
fire up quick watch
250
00:08:25,680 --> 00:08:28,319
okay so now let's double check to see
251
00:08:27,120 --> 00:08:29,918
that this is
252
00:08:28,319 --> 00:08:32,320
fixed for us we'll go in we'll add
253
00:08:29,918 --> 00:08:33,679
another item to the basket
254
00:08:32,320 --> 00:08:35,519
and see if we can go ahead and remove
255
00:08:33,679 --> 00:08:36,799
this
256
00:08:35,519 --> 00:08:38,080
if i drop the account and now i hit
257
00:08:36,799 --> 00:08:40,799
update
258
00:08:38,080 --> 00:08:42,800
yay now our item is fixed and
259
00:08:40,799 --> 00:08:45,918
bug is done so next step would be let's
260
00:08:42,799 --> 00:08:45,918
commit this to source control
261
00:08:46,799 --> 00:08:51,278
so i showed you some of our new menus a
262
00:08:49,039 --> 00:08:52,799
moment ago with the ide
263
00:08:51,278 --> 00:08:54,958
now if we go over here to the get
264
00:08:52,799 --> 00:08:56,719
changes window this is another big new
265
00:08:54,958 --> 00:08:58,399
feature that we're bringing in so in
266
00:08:56,720 --> 00:09:00,560
visual studio there's been a number of
267
00:08:58,399 --> 00:09:02,639
improvements over on windows to the get
268
00:09:00,559 --> 00:09:04,079
experience over the past few years and
269
00:09:02,639 --> 00:09:05,759
so we're beginning to start bringing
270
00:09:04,080 --> 00:09:08,240
these items into visual studio for mac
271
00:09:05,759 --> 00:09:10,720
so the git changes is one of the first
272
00:09:08,240 --> 00:09:12,480
now real big examples of that work
273
00:09:10,720 --> 00:09:14,000
so here i can come in and i could review
274
00:09:12,480 --> 00:09:16,720
changes that have been made
275
00:09:14,000 --> 00:09:17,600
say to this cs proj i could compare it
276
00:09:16,720 --> 00:09:20,240
with
277
00:09:17,600 --> 00:09:23,278
what's up and get kind of see what kind
278
00:09:20,240 --> 00:09:24,799
of what edits have been made
279
00:09:23,278 --> 00:09:26,159
i could
280
00:09:24,799 --> 00:09:27,919
take a look at the history of any
281
00:09:26,159 --> 00:09:29,439
changes made to the file
282
00:09:27,919 --> 00:09:30,799
in this case i've been working in this
283
00:09:29,440 --> 00:09:33,040
one
284
00:09:30,799 --> 00:09:34,559
service for a bit
285
00:09:33,039 --> 00:09:36,399
so let's go find the basket service we
286
00:09:34,559 --> 00:09:38,799
were just working on
287
00:09:36,399 --> 00:09:40,480
and i could take a look at
288
00:09:38,799 --> 00:09:42,958
history of changes that were made to see
289
00:09:40,480 --> 00:09:44,320
when that to do note got left was it
290
00:09:42,958 --> 00:09:45,599
something i forgot did it come somewhere
291
00:09:44,320 --> 00:09:47,760
else
292
00:09:45,600 --> 00:09:49,680
i come through here and browse and get a
293
00:09:47,759 --> 00:09:52,720
summary of changes that were made to
294
00:09:49,679 --> 00:09:55,039
with historic edits to this file
295
00:09:52,720 --> 00:09:57,278
or as a final step i can come and just
296
00:09:55,039 --> 00:09:58,639
take the items that i want say if this
297
00:09:57,278 --> 00:10:01,519
list looks good i want to move the
298
00:09:58,639 --> 00:10:03,439
basket service up i can stage the change
299
00:10:01,519 --> 00:10:05,600
now i could type in a commit message
300
00:10:03,440 --> 00:10:08,800
push it up to the server or pull the
301
00:10:05,600 --> 00:10:08,800
next set down and go from there
302
00:10:09,039 --> 00:10:11,838
so this i mentioned is one of the first
303
00:10:10,559 --> 00:10:13,439
steps in the git tooling we're working
304
00:10:11,839 --> 00:10:14,959
on we're also working toward adding in a
305
00:10:13,440 --> 00:10:16,880
get branch selector so it's not in the
306
00:10:14,958 --> 00:10:18,159
builds you're using yet
307
00:10:16,879 --> 00:10:20,720
but it's another one to keep an eye on
308
00:10:18,159 --> 00:10:22,879
that we will have before we release
309
00:10:20,720 --> 00:10:25,278
uh the plan is to release visual studio
310
00:10:22,879 --> 00:10:27,519
2022 for mac after the
311
00:10:25,278 --> 00:10:29,439
the new calendar year so we're working
312
00:10:27,519 --> 00:10:30,879
on still finish a few finishing details
313
00:10:29,440 --> 00:10:33,839
and i get branch selector will be one of
314
00:10:30,879 --> 00:10:33,838
those
315
00:10:33,919 --> 00:10:37,199
so let's go back to the thirst code for
316
00:10:35,600 --> 00:10:38,800
a moment which is a big area a lot of us
317
00:10:37,200 --> 00:10:40,240
spend our days
318
00:10:38,799 --> 00:10:43,278
and
319
00:10:40,240 --> 00:10:47,278
i want to call your attention to
320
00:10:43,278 --> 00:10:50,159
the light bulbs that were coming out
321
00:10:47,278 --> 00:10:51,519
now you may already be familiar with
322
00:10:50,159 --> 00:10:53,439
the light bulbs but if not let me
323
00:10:51,519 --> 00:10:55,200
explain how these work
324
00:10:53,440 --> 00:10:56,399
so when i'm on a line of code like i am
325
00:10:55,200 --> 00:10:58,480
here
326
00:10:56,399 --> 00:11:00,240
you'll see you may see a light bulb pop
327
00:10:58,480 --> 00:11:01,600
up and this is the ide telling you that
328
00:11:00,240 --> 00:11:03,680
there's a change you should make to your
329
00:11:01,600 --> 00:11:05,839
code either to
330
00:11:03,679 --> 00:11:08,078
meet the code formatting requirements of
331
00:11:05,839 --> 00:11:09,519
your code base or to deal with something
332
00:11:08,078 --> 00:11:12,159
say it's
333
00:11:09,519 --> 00:11:13,600
identified in.net six is like this is a
334
00:11:12,159 --> 00:11:14,799
built-in thing that you should do with
335
00:11:13,600 --> 00:11:16,480
your source code look for the light
336
00:11:14,799 --> 00:11:17,679
bulbs as those strong suggestions to
337
00:11:16,480 --> 00:11:19,440
make changes
338
00:11:17,679 --> 00:11:21,679
there are other types such as a
339
00:11:19,440 --> 00:11:22,880
screwdriver icon that shows up and this
340
00:11:21,679 --> 00:11:25,039
will give you suggestions for
341
00:11:22,879 --> 00:11:27,120
improvements that are maybe nice to have
342
00:11:25,039 --> 00:11:28,799
or you could make them but not a strong
343
00:11:27,120 --> 00:11:30,159
suggestion
344
00:11:28,799 --> 00:11:32,719
in this case if we come back up i'll
345
00:11:30,159 --> 00:11:34,159
click on the light bulb that showed up
346
00:11:32,720 --> 00:11:36,160
and what you're seeing here is our new
347
00:11:34,159 --> 00:11:37,919
quick fix dialog
348
00:11:36,159 --> 00:11:39,838
so we have
349
00:11:37,919 --> 00:11:41,439
changed this up brought back a preview
350
00:11:39,839 --> 00:11:43,279
pane to show you what will happen if you
351
00:11:41,440 --> 00:11:45,279
select on the left side one of these
352
00:11:43,278 --> 00:11:47,919
suggested improvements to your code on
353
00:11:45,278 --> 00:11:49,519
the right side it shows you what that
354
00:11:47,919 --> 00:11:51,039
say refactoring will do to your code
355
00:11:49,519 --> 00:11:52,000
base
356
00:11:51,039 --> 00:11:53,519
and
357
00:11:52,000 --> 00:11:55,200
the
358
00:11:53,519 --> 00:11:57,039
uh one of our themes in the work that
359
00:11:55,200 --> 00:11:59,440
we're doing in the ide is to improve
360
00:11:57,039 --> 00:12:01,759
accessibility and this was one of the
361
00:11:59,440 --> 00:12:03,600
drivers for this new ui we the
362
00:12:01,759 --> 00:12:06,078
previous solution wasn't very accessible
363
00:12:03,600 --> 00:12:07,759
for working through items so while we
364
00:12:06,078 --> 00:12:09,679
revisited making it into a more
365
00:12:07,759 --> 00:12:12,078
accessible ui we also worked on some
366
00:12:09,679 --> 00:12:14,000
improvements for making it easier to
367
00:12:12,078 --> 00:12:15,919
quickly get to a refactoring you want to
368
00:12:14,000 --> 00:12:17,278
apply so for example right now i can hit
369
00:12:15,919 --> 00:12:18,879
option enter
370
00:12:17,278 --> 00:12:20,639
brings up that list i could say that i
371
00:12:18,879 --> 00:12:21,919
actually want to invert the if
372
00:12:20,639 --> 00:12:23,360
i can type a
373
00:12:21,919 --> 00:12:26,639
filter in and then i can just hit enter
374
00:12:23,360 --> 00:12:26,639
and apply that change to my code
375
00:12:27,600 --> 00:12:31,440
so i just mentioned accessibility that
376
00:12:29,519 --> 00:12:33,278
is a another really big piece of the
377
00:12:31,440 --> 00:12:34,560
native mac os ui work that we've got
378
00:12:33,278 --> 00:12:35,278
going on
379
00:12:34,559 --> 00:12:36,958
so
380
00:12:35,278 --> 00:12:38,480
previously there were portions of the ui
381
00:12:36,958 --> 00:12:40,159
that you couldn't really get into well
382
00:12:38,480 --> 00:12:42,480
with apple's built-in accessibility
383
00:12:40,159 --> 00:12:44,399
tools like voice over the text-to-speech
384
00:12:42,480 --> 00:12:46,639
service that they provide
385
00:12:44,399 --> 00:12:49,679
now that we're all native ui everything
386
00:12:46,639 --> 00:12:51,440
can be accessed using those tools
387
00:12:49,679 --> 00:12:53,199
so if i were to come in here to the
388
00:12:51,440 --> 00:12:56,880
system preferences
389
00:12:53,200 --> 00:12:58,240
and go into the accessibility settings
390
00:12:56,879 --> 00:13:00,320
i can start using some options like
391
00:12:58,240 --> 00:13:02,000
voiceover to be able to navigate through
392
00:13:00,320 --> 00:13:03,920
my ide
393
00:13:02,000 --> 00:13:06,159
or i can go in and we actually now have
394
00:13:03,919 --> 00:13:07,838
a new high contrast themes available
395
00:13:06,159 --> 00:13:09,039
both the dark and the light themes of
396
00:13:07,839 --> 00:13:10,560
the ide
397
00:13:09,039 --> 00:13:11,919
so now you've got if we go back and i
398
00:13:10,559 --> 00:13:13,838
actually really like the way this looks
399
00:13:11,919 --> 00:13:16,159
that i almost was thinking making it my
400
00:13:13,839 --> 00:13:19,120
daily color theme these stronger strokes
401
00:13:16,159 --> 00:13:21,759
around borders higher contrast kind of
402
00:13:19,120 --> 00:13:23,440
makes it pop more
403
00:13:21,759 --> 00:13:25,759
and likewise this applies if we go to
404
00:13:23,440 --> 00:13:27,600
light mode
405
00:13:25,759 --> 00:13:30,159
so this is always a
406
00:13:27,600 --> 00:13:32,079
fun easy way to see
407
00:13:30,159 --> 00:13:34,078
that it's a native id
408
00:13:32,078 --> 00:13:36,159
native ui for the ide is i can change
409
00:13:34,078 --> 00:13:38,000
the option now at the system level and
410
00:13:36,159 --> 00:13:40,480
mac and uh visual studio for mac or
411
00:13:38,000 --> 00:13:42,799
respect system settings and adapt to the
412
00:13:40,480 --> 00:13:44,159
light or the dark theme as you choose or
413
00:13:42,799 --> 00:13:45,919
you could choose the auto theme with mac
414
00:13:44,159 --> 00:13:48,958
os which will go light during the
415
00:13:45,919 --> 00:13:51,120
daytime dark at night nighttime
416
00:13:48,958 --> 00:13:53,439
let's change i'm going to go
417
00:13:51,120 --> 00:13:56,480
back to dark and we'll turn back off the
418
00:13:53,440 --> 00:13:56,480
high contrast mode
419
00:13:58,639 --> 00:14:03,680
now let's talk preferences for a moment
420
00:14:02,159 --> 00:14:05,039
and this is where you could go if you
421
00:14:03,679 --> 00:14:06,638
wanted to
422
00:14:05,039 --> 00:14:09,039
actually choose a different
423
00:14:06,639 --> 00:14:11,278
theme for the ide you could go light if
424
00:14:09,039 --> 00:14:13,439
you prefer other apps and
425
00:14:11,278 --> 00:14:15,039
the the os to be light but maybe the os
426
00:14:13,440 --> 00:14:16,639
is a dark theme or you could mix it up
427
00:14:15,039 --> 00:14:19,519
or in this case choose the default which
428
00:14:16,639 --> 00:14:21,198
is auto to adapt to the os settings
429
00:14:19,519 --> 00:14:23,198
but preferences is a fun screen i always
430
00:14:21,198 --> 00:14:24,479
like to go in here on any new app i'm
431
00:14:23,198 --> 00:14:26,159
trying out
432
00:14:24,480 --> 00:14:27,440
it's a fun area to look and see what are
433
00:14:26,159 --> 00:14:28,719
some of the options you might be able to
434
00:14:27,440 --> 00:14:31,920
turn on in the product you're working
435
00:14:28,720 --> 00:14:33,680
with it's also one of the best examples
436
00:14:31,919 --> 00:14:35,519
of our native ui work because this was
437
00:14:33,679 --> 00:14:37,278
one of those places in the ide that
438
00:14:35,519 --> 00:14:40,240
everything was this
439
00:14:37,278 --> 00:14:42,000
other ui toolkit i mentioned so here
440
00:14:40,240 --> 00:14:44,560
all of the controls are now native mac
441
00:14:42,000 --> 00:14:47,759
os ui
442
00:14:44,559 --> 00:14:49,119
there's a full refresh of these screens
443
00:14:47,759 --> 00:14:50,799
so there's more of these screens we're
444
00:14:49,120 --> 00:14:52,879
still working on they aren't all in the
445
00:14:50,799 --> 00:14:54,240
preview 3 release just yet but we're
446
00:14:52,879 --> 00:14:56,399
rolling out more and more of these and
447
00:14:54,240 --> 00:14:58,159
so by the time we hit our
448
00:14:56,399 --> 00:15:00,480
general release next year we'll have all
449
00:14:58,159 --> 00:15:02,480
the preferences brought over as well as
450
00:15:00,480 --> 00:15:04,480
a few sprinklings of some new options as
451
00:15:02,480 --> 00:15:07,440
well that we'll be uh
452
00:15:04,480 --> 00:15:09,839
bringing in over time
453
00:15:07,440 --> 00:15:12,000
so we've just covered a bunch native ui
454
00:15:09,839 --> 00:15:14,480
of the product some new features from
455
00:15:12,000 --> 00:15:16,000
windows like the the get changes window
456
00:15:14,480 --> 00:15:18,320
and
457
00:15:16,000 --> 00:15:20,078
um mention dot net 6
458
00:15:18,320 --> 00:15:22,079
and c sharp 10.
459
00:15:20,078 --> 00:15:23,759
i mentioned earlier but i want to
460
00:15:22,078 --> 00:15:27,519
hit on it again about what's coming soon
461
00:15:23,759 --> 00:15:30,159
with us running the ide on the.net 6
462
00:15:27,519 --> 00:15:31,198
common language runtime so the clr
463
00:15:30,159 --> 00:15:33,919
that
464
00:15:31,198 --> 00:15:35,838
to users of the id will have some nice
465
00:15:33,919 --> 00:15:38,000
improvements for things like
466
00:15:35,839 --> 00:15:40,320
as you work with the file system and
467
00:15:38,000 --> 00:15:42,159
make some changes maybe through git the
468
00:15:40,320 --> 00:15:43,440
ide should be able to be more responsive
469
00:15:42,159 --> 00:15:45,679
and picking those up because we've got a
470
00:15:43,440 --> 00:15:47,040
whole new low level like io stack for
471
00:15:45,679 --> 00:15:48,958
the ide so those are things that are
472
00:15:47,039 --> 00:15:50,958
harder to demo but that you'll see
473
00:15:48,958 --> 00:15:54,159
coming on as we change up this last
474
00:15:50,958 --> 00:15:56,958
lower layer of the ide and get it on.net
475
00:15:54,159 --> 00:15:56,958
yeah clr
476
00:15:59,679 --> 00:16:03,439
one last mention
477
00:16:01,919 --> 00:16:05,599
i mentioned the refactoring a little bit
478
00:16:03,440 --> 00:16:07,279
another kind of fun one in here is with
479
00:16:05,600 --> 00:16:09,278
c sharp 10 in a project there's a few
480
00:16:07,278 --> 00:16:10,559
new refactorings too we'll have more in
481
00:16:09,278 --> 00:16:12,799
our release notes but for example i
482
00:16:10,559 --> 00:16:15,039
could come in here now start converting
483
00:16:12,799 --> 00:16:17,599
my project over to c-sharp
484
00:16:15,039 --> 00:16:19,679
10 and use this new refactoring to
485
00:16:17,600 --> 00:16:21,040
move my namespace to be file scoped
486
00:16:19,679 --> 00:16:22,799
we've got a number of other nice things
487
00:16:21,039 --> 00:16:24,399
like that across the id coming in more
488
00:16:22,799 --> 00:16:25,519
and more refactoring so the list keeps
489
00:16:24,399 --> 00:16:27,120
growing
490
00:16:25,519 --> 00:16:28,560
check our release notes to see more
491
00:16:27,120 --> 00:16:31,679
examples of some of the ones available
492
00:16:28,559 --> 00:16:31,679
in the ide these days
493
00:16:33,278 --> 00:16:37,198
finally i mentioned windowing changes
494
00:16:35,839 --> 00:16:39,120
one other thing coming soon is the
495
00:16:37,198 --> 00:16:40,639
ability to more easily move around your
496
00:16:39,120 --> 00:16:42,480
tool windows
497
00:16:40,639 --> 00:16:43,759
so the build i'm running right now
498
00:16:42,480 --> 00:16:45,440
doesn't have some of this in but we're
499
00:16:43,759 --> 00:16:46,959
working to improve the drag and drop
500
00:16:45,440 --> 00:16:49,040
experience for your tool windows much
501
00:16:46,958 --> 00:16:51,359
like visual studio gives you a spot you
502
00:16:49,039 --> 00:16:52,958
can drop your window and be able to
503
00:16:51,360 --> 00:16:54,800
dock say to get changes on the right
504
00:16:52,958 --> 00:16:57,119
side or the left side of the ide that's
505
00:16:54,799 --> 00:16:59,599
a spot you'll see us improving
506
00:16:57,120 --> 00:17:01,519
and in this build here you're able to
507
00:16:59,600 --> 00:17:03,199
come in and work with document groups so
508
00:17:01,519 --> 00:17:04,720
i could say a new vertical document
509
00:17:03,198 --> 00:17:07,599
group and be able to look at two
510
00:17:04,720 --> 00:17:09,279
documents side by side
511
00:17:07,599 --> 00:17:11,438
move those back and it's another example
512
00:17:09,279 --> 00:17:13,119
of where we're adopting some similar
513
00:17:11,439 --> 00:17:16,959
terminology from visual studio where
514
00:17:13,119 --> 00:17:18,558
there's support for document groups
515
00:17:16,959 --> 00:17:20,078
so with that i'll just leave
516
00:17:18,558 --> 00:17:21,359
with uh some
517
00:17:20,078 --> 00:17:22,480
more information on where to get more
518
00:17:21,359 --> 00:17:24,558
details
519
00:17:22,480 --> 00:17:27,038
we put out a blog post about the preview
520
00:17:24,558 --> 00:17:28,639
3 release highlighting the items i
521
00:17:27,038 --> 00:17:30,798
mentioned here today
522
00:17:28,640 --> 00:17:33,280
and talking a bit about what's next with
523
00:17:30,798 --> 00:17:36,160
running natively on the m1 processor as
524
00:17:33,279 --> 00:17:37,918
well as our git branch selector
525
00:17:36,160 --> 00:17:40,160
you can go out to the blog post download
526
00:17:37,919 --> 00:17:41,520
the release now and if you want to stay
527
00:17:40,160 --> 00:17:43,519
up with us too we're working on a
528
00:17:41,519 --> 00:17:45,038
preview newsletter so you can join in
529
00:17:43,519 --> 00:17:46,639
and just get updates directly from the
530
00:17:45,038 --> 00:17:47,839
team when we put out a new preview
531
00:17:46,640 --> 00:17:49,200
release and what are the new features
532
00:17:47,839 --> 00:17:50,558
we've introduced
533
00:17:49,200 --> 00:17:52,240
uh giving you some opportunities to
534
00:17:50,558 --> 00:17:53,279
provide some more feedback to us things
535
00:17:52,240 --> 00:17:55,038
like those
536
00:17:53,279 --> 00:17:56,879
so please go ahead take a look go check
537
00:17:55,038 --> 00:17:58,798
it out and let us know what you think
538
00:17:56,880 --> 00:18:01,600
anytime go into the ide you can use the
539
00:17:58,798 --> 00:18:04,160
help menu choose report a problem share
540
00:18:01,599 --> 00:18:05,678
you know problems you run into and
541
00:18:04,160 --> 00:18:06,720
yeah we
542
00:18:05,679 --> 00:18:08,400
we've
543
00:18:06,720 --> 00:18:09,759
thrive on your feedback so the more of
544
00:18:08,400 --> 00:18:12,080
that we can get in these early days of
545
00:18:09,759 --> 00:18:13,679
previews the better so in closing uh
546
00:18:12,079 --> 00:18:16,399
again this release will be we'll be
547
00:18:13,679 --> 00:18:19,200
looking at generally available the final
548
00:18:16,400 --> 00:18:22,080
release of 2022 for mac will be after
549
00:18:19,200 --> 00:18:23,600
the new year and
550
00:18:22,079 --> 00:18:25,759
preview 3 available now and look for an
551
00:18:23,599 --> 00:18:27,519
update soon with that m1 native support
552
00:18:25,759 --> 00:18:28,400
so thanks so much for joining me today
553
00:18:27,519 --> 00:18:31,679
hope you
554
00:18:28,400 --> 00:18:31,679
do well and happy coding
39471
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.