All language subtitles for 11-Visual Studio 2022 for extension authors (720p_30fps_H264-128kbit_AAC)

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish Download
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
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:07,199 [Music] 2 00:00:05,120 --> 00:00:09,759 hey everyone i'm leslie richardson from 3 00:00:07,200 --> 00:00:12,400 the visual studio extensibility team and 4 00:00:09,759 --> 00:00:14,559 welcome to this talk on what's new for 5 00:00:12,400 --> 00:00:17,278 both existing and aspiring extension 6 00:00:14,558 --> 00:00:20,559 developers and visual studio 2022 7 00:00:17,278 --> 00:00:22,719 so vs 2022 is super exciting there are a 8 00:00:20,559 --> 00:00:24,640 lot of major updates to it including 9 00:00:22,719 --> 00:00:26,479 64-bit which can help improve 10 00:00:24,640 --> 00:00:29,118 performance across the board and there 11 00:00:26,480 --> 00:00:30,960 have never been more ways to customize 12 00:00:29,118 --> 00:00:33,679 your ideal development environment with 13 00:00:30,960 --> 00:00:35,679 additions such as color tabs or themes 14 00:00:33,679 --> 00:00:38,238 or just all the new github integrations 15 00:00:35,679 --> 00:00:40,878 than there have been in this version but 16 00:00:38,238 --> 00:00:42,799 for a lot of people creating that ideal 17 00:00:40,878 --> 00:00:44,399 development environment is not complete 18 00:00:42,799 --> 00:00:45,919 without the extensions that they've come 19 00:00:44,399 --> 00:00:48,558 to know and love and that's where you 20 00:00:45,920 --> 00:00:50,879 all fit in as extension authors so the 21 00:00:48,558 --> 00:00:52,558 goal for this talk is to share with you 22 00:00:50,878 --> 00:00:54,718 some steps for how to successfully 23 00:00:52,558 --> 00:00:56,959 migrate your extension to visual studio 24 00:00:54,719 --> 00:00:58,558 2022 so that everyone can continue 25 00:00:56,960 --> 00:01:00,558 taking advantage of all the awesome 26 00:00:58,558 --> 00:01:03,039 productivity and customization add-ons 27 00:01:00,558 --> 00:01:05,039 that your extension offers while also 28 00:01:03,039 --> 00:01:07,118 introducing a new toolkit that can help 29 00:01:05,040 --> 00:01:10,840 you write your extensions even faster 30 00:01:07,118 --> 00:01:14,640 and easier than before so let's check it 31 00:01:10,840 --> 00:01:16,400 out so migration is the first and 32 00:01:14,640 --> 00:01:18,719 probably most important topic that we'll 33 00:01:16,400 --> 00:01:21,359 be discussing today in order for your 34 00:01:18,719 --> 00:01:23,200 extensions to continue being used in 35 00:01:21,359 --> 00:01:25,280 visual studio 2022 you're gonna have to 36 00:01:23,200 --> 00:01:27,920 follow a couple migration steps that 37 00:01:25,280 --> 00:01:30,159 we're gonna demonstrate today 38 00:01:27,920 --> 00:01:33,599 all right so i am currently in visual 39 00:01:30,159 --> 00:01:34,880 studio 2022 and i've got this 2019 40 00:01:33,599 --> 00:01:38,319 extension that i've written that i'd 41 00:01:34,879 --> 00:01:40,959 like to migrate to vs 2022 42 00:01:38,319 --> 00:01:42,719 and after doing all my modernization 43 00:01:40,959 --> 00:01:44,319 updates so making sure that my.net 44 00:01:42,719 --> 00:01:47,438 framework is still compatible with 45 00:01:44,319 --> 00:01:49,758 visual studio 2022 as well as any other 46 00:01:47,438 --> 00:01:51,919 package references we can get into the 47 00:01:49,759 --> 00:01:53,599 core migration which comes down to 48 00:01:51,920 --> 00:01:56,079 creating two 49 00:01:53,599 --> 00:01:58,239 two separate v6s you want to create two 50 00:01:56,078 --> 00:02:00,718 projects one that targets visual studio 51 00:01:58,239 --> 00:02:03,359 2019 and lower and the other one that is 52 00:02:00,718 --> 00:02:04,959 targeting visual studio 2022 and both of 53 00:02:03,359 --> 00:02:06,560 these v6 projects are going to be tied 54 00:02:04,959 --> 00:02:09,359 together by what's called a shared 55 00:02:06,560 --> 00:02:10,800 project which allows us to share code 56 00:02:09,360 --> 00:02:13,599 that's going to be similar between the 57 00:02:10,800 --> 00:02:15,360 two versions and the reason why we are 58 00:02:13,598 --> 00:02:18,238 setting up the extension in this way 59 00:02:15,360 --> 00:02:20,800 when migrating is because we need to 60 00:02:18,239 --> 00:02:22,719 address all of the breaking api changes 61 00:02:20,800 --> 00:02:25,599 and interop assembly changes that have 62 00:02:22,719 --> 00:02:27,680 happened in the transition to 2022 of 63 00:02:25,598 --> 00:02:29,679 which there are a lot of especially with 64 00:02:27,680 --> 00:02:31,200 the addition of 64-bit so in order to 65 00:02:29,680 --> 00:02:33,360 make sure that 66 00:02:31,199 --> 00:02:34,958 certain uh assembly references work in 67 00:02:33,360 --> 00:02:38,160 one version but not on the other then we 68 00:02:34,959 --> 00:02:39,759 can use the shared project setup to 69 00:02:38,159 --> 00:02:41,039 differentiate between the two fairly 70 00:02:39,759 --> 00:02:41,919 easily 71 00:02:41,039 --> 00:02:44,159 so 72 00:02:41,919 --> 00:02:45,598 i've got my 2019 targeting project and 73 00:02:44,159 --> 00:02:47,919 the first thing that i'm going to do is 74 00:02:45,598 --> 00:02:49,679 just add my shared project to the 75 00:02:47,919 --> 00:02:52,159 solution 76 00:02:49,680 --> 00:02:53,599 so create a new project 77 00:02:52,159 --> 00:02:56,239 go into shared 78 00:02:53,598 --> 00:02:59,280 i'm going to call mine add author 79 00:02:56,239 --> 00:02:59,280 underscore shared 80 00:03:00,479 --> 00:03:04,560 okay so there's my shared project of 81 00:03:02,878 --> 00:03:07,199 course we need to include a reference to 82 00:03:04,560 --> 00:03:10,000 that project in the 2019 83 00:03:07,199 --> 00:03:12,158 project so let's go to reference 84 00:03:10,000 --> 00:03:14,479 add that 85 00:03:12,158 --> 00:03:16,560 so now the question becomes what goes in 86 00:03:14,479 --> 00:03:19,919 this shared project so usually most of 87 00:03:16,560 --> 00:03:21,280 your cs and res x files are fair game 88 00:03:19,919 --> 00:03:23,679 anything you intend to share between 89 00:03:21,280 --> 00:03:26,640 both versions of your extension so 90 00:03:23,680 --> 00:03:28,560 specifically your commands your 91 00:03:26,639 --> 00:03:32,759 tool windows that sort of thing and 92 00:03:28,560 --> 00:03:32,759 that's what i'm going to add in mine 93 00:03:36,878 --> 00:03:42,000 so as for what not to add to this shared 94 00:03:39,680 --> 00:03:43,519 folder you don't want to add your vsct 95 00:03:42,000 --> 00:03:45,199 file but you do want to make sure that 96 00:03:43,519 --> 00:03:47,519 your build action under properties is 97 00:03:45,199 --> 00:03:49,759 set to vsct compile 98 00:03:47,519 --> 00:03:51,680 and 99 00:03:49,759 --> 00:03:55,039 there you go and you want to make sure 100 00:03:51,680 --> 00:03:56,640 that your include and b6 property is set 101 00:03:55,039 --> 00:03:58,239 to false 102 00:03:56,639 --> 00:03:59,759 and similarly you also don't want to 103 00:03:58,239 --> 00:04:02,158 move your b6 manifest which we're going 104 00:03:59,759 --> 00:04:04,878 to play around with in a second 105 00:04:02,158 --> 00:04:06,318 so we've got the vs 2019 project set up 106 00:04:04,878 --> 00:04:07,919 and we have the shared folder or the 107 00:04:06,318 --> 00:04:10,719 shared project and now we're going to 108 00:04:07,919 --> 00:04:12,878 add the vs 2022 project which i've 109 00:04:10,719 --> 00:04:16,560 already set up so i'm going to add an 110 00:04:12,878 --> 00:04:16,560 existing project and go find that 111 00:04:27,040 --> 00:04:30,879 great so there is our vs 2022 project 112 00:04:29,680 --> 00:04:32,879 and there's a couple things that we need 113 00:04:30,879 --> 00:04:34,719 to address here in order to 114 00:04:32,879 --> 00:04:38,000 actually get this extension to run 115 00:04:34,720 --> 00:04:39,919 properly in bs2022 so the first being 116 00:04:38,000 --> 00:04:41,600 let's add a reference to that shared 117 00:04:39,918 --> 00:04:44,799 project like we did with 118 00:04:41,600 --> 00:04:44,800 the 2019 one 119 00:04:45,040 --> 00:04:47,439 so there it is 120 00:04:46,240 --> 00:04:49,918 and then 121 00:04:47,439 --> 00:04:52,079 we need to make sure that we have our 122 00:04:49,918 --> 00:04:54,399 nuget packages updated specifically the 123 00:04:52,079 --> 00:04:57,680 sdk and the build tools ones and you 124 00:04:54,399 --> 00:05:00,239 want them to target a 17.0 version 125 00:04:57,680 --> 00:05:02,478 of uh visual studio and this is what 126 00:05:00,240 --> 00:05:04,478 will allow us to continue using the 127 00:05:02,478 --> 00:05:07,120 extension libraries and apis and visual 128 00:05:04,478 --> 00:05:09,199 studio 2022. 129 00:05:07,120 --> 00:05:12,160 all right so from there we're going to 130 00:05:09,199 --> 00:05:13,439 modify our v6 manifest i'm going to open 131 00:05:12,160 --> 00:05:14,560 up the code version because we're going 132 00:05:13,439 --> 00:05:18,079 to add 133 00:05:14,560 --> 00:05:20,000 a different tag manually 134 00:05:18,079 --> 00:05:22,839 so first and foremost make sure that 135 00:05:20,000 --> 00:05:26,879 your installation target is set to 136 00:05:22,839 --> 00:05:26,879 17.0 to 18.0 137 00:05:27,120 --> 00:05:29,519 and then 138 00:05:28,079 --> 00:05:31,279 inside your installation target we're 139 00:05:29,519 --> 00:05:33,279 going to add a new tag called product 140 00:05:31,279 --> 00:05:34,559 architecture so this is like the money 141 00:05:33,279 --> 00:05:37,038 shot right here this is something that 142 00:05:34,560 --> 00:05:39,120 you have to make sure that you have 143 00:05:37,038 --> 00:05:41,839 otherwise your users won't be able to 144 00:05:39,120 --> 00:05:43,519 install visual suit and won't be able to 145 00:05:41,839 --> 00:05:45,599 install your extension in visual studio 146 00:05:43,519 --> 00:05:48,478 2022 and we don't want that 147 00:05:45,600 --> 00:05:49,840 so we're going to add 64 and this is 148 00:05:48,478 --> 00:05:51,359 accounting for the fact that visual 149 00:05:49,839 --> 00:05:53,359 studio is 64-bit therefore your 150 00:05:51,360 --> 00:05:55,520 extension needs to be compatible with 151 00:05:53,360 --> 00:05:57,038 64-bit bs 152 00:05:55,519 --> 00:05:58,799 and also make sure you update your 153 00:05:57,038 --> 00:06:02,719 prerequisites to 154 00:05:58,800 --> 00:06:04,478 go to 17.0 to 18.0 as well 155 00:06:02,720 --> 00:06:06,000 all right so from there we've updated 156 00:06:04,478 --> 00:06:09,360 our manifest we've updated our nuget 157 00:06:06,000 --> 00:06:11,680 packages and before you hit run stop do 158 00:06:09,360 --> 00:06:13,360 not pass go do not collect 200 because 159 00:06:11,680 --> 00:06:14,879 we need to address those breaking api 160 00:06:13,360 --> 00:06:17,360 changes that have happened in that 161 00:06:14,879 --> 00:06:19,519 transition and luckily even though 162 00:06:17,360 --> 00:06:21,600 there's a lot of them we have provided a 163 00:06:19,519 --> 00:06:23,680 lot of resources with the list of all 164 00:06:21,600 --> 00:06:25,680 the different apis that have changed 165 00:06:23,680 --> 00:06:28,079 have been broken or have been moved as 166 00:06:25,680 --> 00:06:30,879 well as solutions for how to fix them 167 00:06:28,079 --> 00:06:32,879 so in my case my issue is going to deal 168 00:06:30,879 --> 00:06:35,199 with this dte and underscore dte 169 00:06:32,879 --> 00:06:37,120 typecast failure so i bet it would be 170 00:06:35,199 --> 00:06:39,600 addressed if i just change my namespace 171 00:06:37,120 --> 00:06:42,240 to the latest envdte80 172 00:06:39,600 --> 00:06:46,000 namespace instead 173 00:06:42,240 --> 00:06:48,400 so going into my code specifically this 174 00:06:46,000 --> 00:06:49,918 issue is going to take place 175 00:06:48,399 --> 00:06:50,799 in 176 00:06:49,918 --> 00:06:53,839 my 177 00:06:50,800 --> 00:06:53,840 one of my shared files 178 00:06:59,038 --> 00:07:04,560 you'll notice that i get an error but if 179 00:07:01,918 --> 00:07:07,439 i'm looking at the visual studio 2019 180 00:07:04,560 --> 00:07:09,199 version of this shared file it's not 181 00:07:07,439 --> 00:07:11,680 giving me an error when i use this 182 00:07:09,199 --> 00:07:14,240 definition but if i were to swap over to 183 00:07:11,680 --> 00:07:17,519 vs 2022 then it is going to give me the 184 00:07:14,240 --> 00:07:22,000 error so we can just fix this by 185 00:07:17,519 --> 00:07:22,000 changing to enb dt 80. 186 00:07:23,598 --> 00:07:27,759 and from there 187 00:07:25,038 --> 00:07:29,680 we should be good to go and give this a 188 00:07:27,759 --> 00:07:31,120 try and see if the extension has 189 00:07:29,680 --> 00:07:32,240 successfully been migrated so i'm going 190 00:07:31,120 --> 00:07:34,240 to set 191 00:07:32,240 --> 00:07:35,918 that project as my startup 192 00:07:34,240 --> 00:07:38,000 and hit run 193 00:07:35,918 --> 00:07:40,079 so depending on the complexity or the 194 00:07:38,000 --> 00:07:42,160 size of your extension you may have to 195 00:07:40,079 --> 00:07:43,598 address a lot of breaking changes or you 196 00:07:42,160 --> 00:07:44,400 might get lucky and not have to address 197 00:07:43,598 --> 00:07:46,639 any 198 00:07:44,399 --> 00:07:48,159 so keep in mind please double check them 199 00:07:46,639 --> 00:07:51,680 either way just to make sure that it's 200 00:07:48,160 --> 00:07:51,680 going to work right for all the users 201 00:07:51,918 --> 00:07:56,000 okay so i've got this random project 202 00:07:53,839 --> 00:07:58,079 open and this is a very basic extension 203 00:07:56,000 --> 00:07:59,519 that is supposed to write my name as a 204 00:07:58,079 --> 00:08:01,839 comment in 205 00:07:59,519 --> 00:08:04,159 the doc of my choice so 206 00:08:01,839 --> 00:08:05,839 i'm gonna go to edit that's a good sign 207 00:08:04,160 --> 00:08:06,960 there's my command right there i'm gonna 208 00:08:05,839 --> 00:08:08,719 add 209 00:08:06,959 --> 00:08:10,560 my author name to the file 210 00:08:08,720 --> 00:08:12,720 there we go so we successfully migrated 211 00:08:10,560 --> 00:08:14,319 this extension 212 00:08:12,720 --> 00:08:16,560 awesome so 213 00:08:14,319 --> 00:08:18,800 uh basically the core in summary of 214 00:08:16,560 --> 00:08:20,720 migrating consists of two separate v6 215 00:08:18,800 --> 00:08:22,240 projects tied together by a shared 216 00:08:20,720 --> 00:08:23,759 project make sure you update your 217 00:08:22,240 --> 00:08:25,199 manifests especially that product 218 00:08:23,759 --> 00:08:27,840 architecture tag that you'll need to 219 00:08:25,199 --> 00:08:29,759 include for 64-bit and last but 220 00:08:27,839 --> 00:08:32,079 certainly not least make sure that you 221 00:08:29,759 --> 00:08:33,599 are addressing any breaking api changes 222 00:08:32,080 --> 00:08:36,000 that might have occurred 223 00:08:33,599 --> 00:08:37,839 all right so we just finished migrating 224 00:08:36,000 --> 00:08:39,759 but i'm not as happy as i could be 225 00:08:37,839 --> 00:08:41,919 because honestly the time it took me to 226 00:08:39,759 --> 00:08:44,158 write that extension was a bit longer 227 00:08:41,918 --> 00:08:46,639 than i expected because something as 228 00:08:44,158 --> 00:08:49,360 seemingly simple as writing text to a 229 00:08:46,639 --> 00:08:51,199 text buffer to a document turned out 230 00:08:49,360 --> 00:08:52,800 it was actually really hard to find in a 231 00:08:51,200 --> 00:08:54,640 document or online and then once i 232 00:08:52,799 --> 00:08:55,759 finally did find that information 233 00:08:54,639 --> 00:08:58,319 i 234 00:08:55,759 --> 00:09:01,360 needed to learn up on several different 235 00:08:58,320 --> 00:09:04,160 apis which took a long time 236 00:09:01,360 --> 00:09:05,759 so if you've ever been in that situation 237 00:09:04,159 --> 00:09:08,000 where it's taken you a long time just to 238 00:09:05,759 --> 00:09:10,958 get started applying all of your great 239 00:09:08,000 --> 00:09:12,958 extension ideas and implementing them 240 00:09:10,958 --> 00:09:15,119 then we are addressing that by 241 00:09:12,958 --> 00:09:17,838 introducing a new toolkit called the 242 00:09:15,120 --> 00:09:20,159 visual studio community toolkit emphasis 243 00:09:17,839 --> 00:09:22,800 on community here so this is a 244 00:09:20,159 --> 00:09:25,360 completely open source community driven 245 00:09:22,799 --> 00:09:27,679 project that has the goal of making 246 00:09:25,360 --> 00:09:29,519 writing your extensions easier by 247 00:09:27,679 --> 00:09:32,079 providing helpful templates helper 248 00:09:29,519 --> 00:09:34,480 methods and api wrappers and my personal 249 00:09:32,080 --> 00:09:37,839 favorite visual and textual intellisense 250 00:09:34,480 --> 00:09:40,000 additions to a lot of the common apis 251 00:09:37,839 --> 00:09:41,920 and we're also providing more 252 00:09:40,000 --> 00:09:44,080 descriptive and accurate documentation 253 00:09:41,919 --> 00:09:46,799 with more examples than ever 254 00:09:44,080 --> 00:09:49,360 and also the end game of this toolkit is 255 00:09:46,799 --> 00:09:51,599 to provide a smoother transition into 256 00:09:49,360 --> 00:09:53,278 the out of process extensibility model 257 00:09:51,600 --> 00:09:54,800 which is still a work in progress but is 258 00:09:53,278 --> 00:09:57,360 coming very soon 259 00:09:54,799 --> 00:09:59,519 and that model has the goal of also 260 00:09:57,360 --> 00:10:01,600 making writing your extensions easier 261 00:09:59,519 --> 00:10:03,278 while also making them more secure and 262 00:10:01,600 --> 00:10:06,399 more reliable 263 00:10:03,278 --> 00:10:09,200 so as an experiment let's try to write 264 00:10:06,399 --> 00:10:12,720 that same extension using the community 265 00:10:09,200 --> 00:10:15,040 toolkit in order to see the differences 266 00:10:12,720 --> 00:10:16,560 all right so i'm back in vs 2022 and 267 00:10:15,039 --> 00:10:19,679 i've already got my 268 00:10:16,559 --> 00:10:22,159 project open that i want to use with the 269 00:10:19,679 --> 00:10:23,439 community toolkit and i actually used 270 00:10:22,159 --> 00:10:25,039 one of the 271 00:10:23,440 --> 00:10:26,880 templates that this toolkit gave me 272 00:10:25,039 --> 00:10:30,319 which provided me by default with a 273 00:10:26,879 --> 00:10:32,799 commands folder and a my commands file 274 00:10:30,320 --> 00:10:34,079 as well as a vsct file which is great so 275 00:10:32,799 --> 00:10:37,359 if you want to get started using this 276 00:10:34,078 --> 00:10:38,199 toolkit make sure that you have 277 00:10:37,360 --> 00:10:41,039 this 278 00:10:38,200 --> 00:10:44,000 extensions oh here we go extensibility 279 00:10:41,039 --> 00:10:45,519 essentials 2022 pack installed so this 280 00:10:44,000 --> 00:10:47,839 is a pack that consists of multiple 281 00:10:45,519 --> 00:10:49,759 extensions such as insert guide and 282 00:10:47,839 --> 00:10:52,160 image optimizer and just a lot of tools 283 00:10:49,759 --> 00:10:54,078 that help expedite some of those 284 00:10:52,159 --> 00:10:56,958 everyday extensibility writing tasks 285 00:10:54,078 --> 00:10:56,958 that you might experience 286 00:10:57,039 --> 00:11:00,480 so from there the first thing i'm going 287 00:10:58,639 --> 00:11:02,720 to do is define where i'd like my 288 00:11:00,480 --> 00:11:04,480 command to be placed by default it's set 289 00:11:02,720 --> 00:11:07,040 in tools and you'll notice when i hover 290 00:11:04,480 --> 00:11:09,360 over tools this is awesome you get a 291 00:11:07,039 --> 00:11:11,278 visual representation and intellisense 292 00:11:09,360 --> 00:11:13,759 of what that window looks like so it's 293 00:11:11,278 --> 00:11:15,278 like a cheat sheet of here are all the 294 00:11:13,759 --> 00:11:17,519 different possible locations where you 295 00:11:15,278 --> 00:11:19,600 could place your extension in the tools 296 00:11:17,519 --> 00:11:21,600 window so really great if you're not as 297 00:11:19,600 --> 00:11:23,278 familiar with bs or you're not as 298 00:11:21,600 --> 00:11:25,200 familiar with all the different ide 299 00:11:23,278 --> 00:11:26,799 choices so i'm going to change mine to 300 00:11:25,200 --> 00:11:29,120 edit because i'd like mine to go in the 301 00:11:26,799 --> 00:11:31,919 edit window there it is 302 00:11:29,120 --> 00:11:36,560 and again if we compare and contrast 303 00:11:31,919 --> 00:11:36,559 we can go to that same location 304 00:11:38,240 --> 00:11:42,399 and you'll see that this is a lot 305 00:11:40,399 --> 00:11:44,159 less intuitive to understand and there's 306 00:11:42,399 --> 00:11:46,159 a lot of ideas that look like this that 307 00:11:44,159 --> 00:11:48,000 you may not really know what corresponds 308 00:11:46,159 --> 00:11:49,519 to what off the top of your head and 309 00:11:48,000 --> 00:11:51,200 require you to have a doc open at the 310 00:11:49,519 --> 00:11:52,320 same time so 311 00:11:51,200 --> 00:11:54,079 less ways 312 00:11:52,320 --> 00:11:56,240 it gives you less of an opportunity to 313 00:11:54,078 --> 00:11:58,319 experiment and just test the waters of 314 00:11:56,240 --> 00:11:58,320 it 315 00:11:58,559 --> 00:12:02,239 so we've got that in place and then i 316 00:12:00,799 --> 00:12:03,919 think the most noticeable difference 317 00:12:02,240 --> 00:12:07,039 with the toolkit comes when you open up 318 00:12:03,919 --> 00:12:10,159 your command file by default this 319 00:12:07,039 --> 00:12:11,838 is awesome it's only 11 lines versus if 320 00:12:10,159 --> 00:12:13,519 you go into 321 00:12:11,839 --> 00:12:15,519 your version of the extension that 322 00:12:13,519 --> 00:12:17,600 doesn't use the toolkit 323 00:12:15,519 --> 00:12:19,679 there is a lot more going on that you 324 00:12:17,600 --> 00:12:21,920 need to consider addressing such as the 325 00:12:19,679 --> 00:12:23,759 initialize async function or service 326 00:12:21,919 --> 00:12:24,639 provider what is service provider i 327 00:12:23,759 --> 00:12:26,720 don't know but you're gonna have to 328 00:12:24,639 --> 00:12:27,759 learn up on it when you get started 329 00:12:26,720 --> 00:12:30,560 writing your 330 00:12:27,759 --> 00:12:33,838 extensions so if you want just a quick 331 00:12:30,559 --> 00:12:35,679 way to put down all of your ideas in one 332 00:12:33,839 --> 00:12:38,079 spot and just see your extension running 333 00:12:35,679 --> 00:12:41,039 that much faster than having the toolkit 334 00:12:38,078 --> 00:12:42,399 in place to define the stuff that's most 335 00:12:41,039 --> 00:12:44,159 important to you 336 00:12:42,399 --> 00:12:46,078 is great in this case the thing that's 337 00:12:44,159 --> 00:12:48,000 most important to me is defining what my 338 00:12:46,078 --> 00:12:50,239 command is supposed to do once it gets 339 00:12:48,000 --> 00:12:51,519 triggered which is why execute async is 340 00:12:50,240 --> 00:12:54,159 here by default 341 00:12:51,519 --> 00:12:57,679 so i'd like to write that same comment 342 00:12:54,159 --> 00:13:00,639 in this case my name to text buffer and 343 00:12:57,679 --> 00:13:03,120 as i mentioned before we have a lot of 344 00:13:00,639 --> 00:13:05,278 great documentation for this ongoing 345 00:13:03,120 --> 00:13:07,600 toolkit project my personal favorite is 346 00:13:05,278 --> 00:13:10,399 the tips and tricks section which has a 347 00:13:07,600 --> 00:13:12,000 lot of very common scenarios that occur 348 00:13:10,399 --> 00:13:14,240 when you're writing an extension that 349 00:13:12,000 --> 00:13:15,759 you probably want to know about and i'm 350 00:13:14,240 --> 00:13:17,120 going to copy paste 351 00:13:15,759 --> 00:13:19,120 this top one 352 00:13:17,120 --> 00:13:23,200 which will allow me to write 353 00:13:19,120 --> 00:13:23,200 text to the active text view 354 00:13:25,759 --> 00:13:28,720 so i'm going to add that in 355 00:13:29,360 --> 00:13:34,919 and i'm going to change this to my name 356 00:13:36,320 --> 00:13:40,360 and let's go ahead and hit run 357 00:13:53,600 --> 00:13:57,839 okay so we're back with that same random 358 00:13:56,078 --> 00:14:00,958 console application that i have and i'm 359 00:13:57,839 --> 00:14:02,800 just gonna add my name to the top of it 360 00:14:00,958 --> 00:14:06,000 so as you can see i now have the toolkit 361 00:14:02,799 --> 00:14:07,838 version of that extension command 362 00:14:06,000 --> 00:14:09,278 and there it is 363 00:14:07,839 --> 00:14:12,959 see how much simpler that was that was 364 00:14:09,278 --> 00:14:14,559 really quick just to put that basic idea 365 00:14:12,958 --> 00:14:16,879 on paper and have it 366 00:14:14,559 --> 00:14:18,399 out in the world in action like that so 367 00:14:16,879 --> 00:14:19,838 if you want to take advantage of that 368 00:14:18,399 --> 00:14:22,000 toolkit be sure to check out the 369 00:14:19,839 --> 00:14:24,639 extensibility essentials extension 370 00:14:22,000 --> 00:14:26,240 download it and experiment and also 371 00:14:24,639 --> 00:14:29,039 because this is open source and 372 00:14:26,240 --> 00:14:32,079 community driven share your feedback and 373 00:14:29,039 --> 00:14:34,480 also get involved so if you've got ideas 374 00:14:32,078 --> 00:14:36,719 that only your mind could come up with 375 00:14:34,480 --> 00:14:39,759 the possibilities are endless and you 376 00:14:36,720 --> 00:14:42,079 have the power to change it 377 00:14:39,759 --> 00:14:43,919 and that concludes the talk on what's 378 00:14:42,078 --> 00:14:46,638 new for extension developers and visual 379 00:14:43,919 --> 00:14:48,078 studio 2022 we talked about migration so 380 00:14:46,639 --> 00:14:49,839 if you haven't migrated your extension 381 00:14:48,078 --> 00:14:52,239 already and want to learn more be sure 382 00:14:49,839 --> 00:14:54,880 to check out the extension support link 383 00:14:52,240 --> 00:14:57,360 we also talked about the toolkit to help 384 00:14:54,879 --> 00:14:58,480 make writing your extensions easier 385 00:14:57,360 --> 00:14:59,839 and if you want to learn more about how 386 00:14:58,480 --> 00:15:01,759 to get started with that go to 387 00:14:59,839 --> 00:15:03,760 v6cookbook.com 388 00:15:01,759 --> 00:15:05,198 and last but not least as i mentioned 389 00:15:03,759 --> 00:15:07,519 before that toolkit is going to be a 390 00:15:05,198 --> 00:15:09,838 transition into the upcoming out of 391 00:15:07,519 --> 00:15:11,600 process extensibility model designed to 392 00:15:09,839 --> 00:15:13,199 let you write your extensions easier 393 00:15:11,600 --> 00:15:14,879 help your extensions to be more reliable 394 00:15:13,198 --> 00:15:16,559 and more secure so if you'd like to 395 00:15:14,879 --> 00:15:18,559 learn more about that experiment with 396 00:15:16,559 --> 00:15:20,399 the initial bits see samples and 397 00:15:18,559 --> 00:15:22,078 honestly just see any more upcoming 398 00:15:20,399 --> 00:15:24,159 announcements in the world of visual 399 00:15:22,078 --> 00:15:26,879 studio extensibility be sure to check 400 00:15:24,159 --> 00:15:28,559 out the vs extensibility repo and with 401 00:15:26,879 --> 00:15:30,320 that thank you so much for watching and 402 00:15:28,559 --> 00:15:33,039 thank you so much for providing all of 403 00:15:30,320 --> 00:15:35,040 your awesome extensibility ideas to help 404 00:15:33,039 --> 00:15:39,838 users be more productive across visual 405 00:15:35,039 --> 00:15:39,838 studio and until next time happy coding 29457

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.