ASP.NET Community Standup - Visual Studio 2022 Razor Editor

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] do [Music] [Applause] [Music] and hello everyone welcome to the.net community stand up as as is it's regular custom my computer locked up right before we started so it's just it's just waking me up every every tuesday so welcome to the razer team this is quite exciting so we have peeler ryan and allison and they're going to show us all the goodies of what's new with the visual studio what is the official topic yeah so visual studio 2022 razer editor we have changed so much i mean i have to i feel like i have to make a nod too like it's not just us there's a lot of people involved in the razor space and another really big impactful person that wasn't able to make it here today due to time zones is david wanger um time zones aligned we would have another another square encompassing him here because he has done so much also in this area very cool awesome all right well as we do we will start with the community links some quite exciting ones this week let me see i will share these out in the chat i will put them up on the banner i will fax them to you okay here we go so first of all this one this post stephen does these like once a year or what went the release and this is like my favorite time of the year i love these posts so here he goes through in just amazing detail benchmarks on all the cool new stuff in dot net six and oh my gosh so i mean so neat to see all these things where just small things that look like they would be a small little incremental improvement but because it bubbles up all the way through the stack it's just like it affects performance all the way through here let me remove the banner so ryan doesn't get squash because there we want to see ryan okay cool yeah so this is just really fun so he goes through and just tons of benchmarks you'll see um changes in performance a lot of time in memory and in code size um a lot of like i mean assembly changes just like amazing stuff one of the favorite um benchmarks that he does in here is a it's a string replacement on a bunch of text and he he calls his method the yell method and he replaces all periods with exclamation points so i don't know anything jump out at any of you on this i i just there's just so much good stuff honestly he did he was very exhausted in a really good way right it's one of those like massive posts that you get once a year and you just read through every little detail of it and it just makes you want to go to the next version just that much quicker and yeah for me personally like i was saying oh my goodness i write a lot of code that runs in visual studio yes it's not currently on sx um but i'm like okay i want to get there because holy cow these improvements will change lives yeah it's neat things like here um pgo um which um like you know guided optimizations and like over time where it like profiles your application and sees and then combining that with tiered jit i mean just basically everything all through the stack so it's it's amazing i just love these so much take like pour yourself a big cup of coffee plan to just block an hour on your on your um you know calendar and uh but yeah i just love these posts so um another neat one here from david this is uh this is short and sweet uh compared to that but just a lot of other you know nice things bubbling up through the stack so you know reading writing files random number generators again just all these apis definitely help um with any net application definitely with with asp.net apps so i think it's also like worth mentioning too that like even though tobe did the whole net six at its core how it got faster there's a lot of things up the stack like in david's post that we've also been working on religiously to make faster so it's not just the core apis that are faster themselves it's also the ones that we've built into frameworks we're also improving their speeds as well so i think it kind of cascades on itself and you just get performance improvements just like all up which is incredible yeah i am like as an example i you know just regularly things like configuration like you know or um another one that jumped out at me was just reading writing files and we've been reading writing files with file stream forever and it's so cool to see like whoa there's actually updates to this no longer requiring a scatter gather and all kinds of stuff so yeah really cool stuff here all right so we're going from the super advanced to the more basic this is cool jeff fritz just released a series beginner's guide to blazer beginner series to blazer so this is 11 videos they're all you know short little videos and and just a great introduction um so it's it's cool i i love how these beginner series break things down at the basic level so you don't have to if you're completely new to a topic you can start with the what is you know so and and there's so there's beginner series to blazer but there are other ones in this beginners series um as well and i don't i don't actually see where to click on to get to it but they're just trust me they're there so that's oh i love this i didn't realize jeff had done this this is absolutely incredible yeah it just came out so and this was this was um something we're also working on doing some um some uh microsoft learn things also based on the same content jeff is running that and jeff is in fact awesome so cool all right uh so this is cool just um from satish so writing up uh defense in depth and this is creating some um some middleware so the idea with this the the uh problem he was solving was uh preventing too long of requests so like if if you have a large content being posted or whatever that can that can cause performance issues or can be an attack now there is a kestrel setting that you could just set at the kestrel level and you could say prevent anything over this specific size but if you wanted something configurable with logging and he goes through and does some things with making it reusable middleware that's you know you can completely like at run time or based on configuration all those sorts of things so you know i i think the um the idea of using this middleware to to do a certain thing is great but also just the the kind of steps through of creating reusable configurable middleware with all the logging and all that kind of stuff is really nice i think it's one of those things that you kind of take for granted building your own middleware is so easy to do yeah i feel like a lot of people just use what's included in the box because it's very it seems intimidating from an external perspective but once you start doing it you realize oh wait this really isn't too bad to do that's yeah they did this it's um it's something too where i remember way back as i was you know doing before.net core writing anything that was like middleware was really hard you know modules and handlers and run into something and you want to do something just slightly wrong and i i was all of a sudden like oh man i have to read c plus plus docs for iis extensions managing event life cycle you do something just ever so the wrong event life cycle or something else does something at an event life cycle next thing you know everything you've done is just on the floor yeah yep so yeah very cool post and uh looking forward to more from you satish uh okay cool damian bowden again kind of i try and group these i don't know if it ever makes sense but i try and put posts in some sort of order this is another one that's um also security related and this is looking at security headers and so i called out i believe last week this uh security headers nuget package from andrew locke and so in this post damien's just kind of digging in in some detail so i um i really like this these security headers are complex and security in general is complex but like understanding the problems and understanding like these different policies is is tough i wouldn't want to try and implement this on myself i would like someone else to read and understand these policies and then take bug reports from community and keep improving them so neat to see and also a nice thing that that damien does or yeah damian's doing in here is showing how to test them out so for instance securityheaders.com uh going through a csp evaluator and so these just kind of different tests and then as he always does links to you know tons of links at the end of the post um i've worked on some sites where we were audited and started getting all these things with you know security policies and it's like whoa it's a lot to handle so i'm glad that this package is out there and just a i think just kind of a good standard thing to include all right um so uh whale writing about micro front ends with blazer web assembly so it can be you know it's interesting seeing different kind of application patterns emerge with webassembly and it's very easy to just kind of create a big monolith i've actually seen this in some apps i've worked with where it's just very easy to just kind of start throwing things all together also because of sort of the way that web assembly is loaded that's that's kind of the easy path however you can get kind of a big bloated download um and it can it can really slow things down uh you know your initial hit and that sort of thing so uh whale references florian's dot net comp presentation on micro front ends and talks about kind of the pattern of breaking things up and one thing that really kind of enables this in more detail is using lazy loading and so the idea here is enabling lazy loading in a webassembly application and then loading things progressively or uh depending on where you navigate to in the site so breaking up and making things more modular um when i've like i've had conversations with with dan roth about you know some kind of just blazer architecture and he's cautioned that you know once you start getting into this it is more complex you do you have opportunities to mess things up you know with like aot causing different you know there's there's different things where you definitely need to test it um but it's a really powerful feature to uh to enable yeah it used to be where you would go to a blazer was map and next thing you know you need to download literally everything and that was obviously less than ideal so we started doing tree trimming to try and make sure we could remove as many dependencies as possible but kind of going that next step and saying okay well depending on what page you actually need that's a huge step right it really is and and you know there's different um like for instance in the dot net website we have just a couple of pages that are currently using blazer web assembly and then as we're looking at using it more we're looking at do we create separate projects and do and in this case i think we're going to approach it more as a like component library laser web assembly project because they're not super heavy but i can definitely see as you build up to a larger application where it really does pay to componentize all right uh last one here before i turn it over to you so it's already writing about repeatable and clear tests for asp net core services so uh definitely as you build up you know more complex uh tests you you know the kind of standard is this a range act assert and if you have a more complicated business logic it can be tough to understand exactly what you're testing um you know what am i arranging what am i asserting what it what does it actually mean so um so the the structure helps keep your code structured but doesn't make your code actually super readable so cesari went through and and used xbehave.net first of all and so xbehave is a plugin on top of xunit and you can write these kind of fluent things where you say you define what the test is as a string and um and then you execute it and so you're grouping things based on you know a more readable structure um yeah yeah so so that and one nice thing with that is then you get your test output grouped like this right so you actually see very readable this is exactly what was tested this is what failed or passed um so do you wonder how dependencies are resolved for this that's very interesting i'm just thinking of a test failure right if it's due to something in your outer scope failing i imagine that could be difficult to maintain state between tests but that is it's it's a fascinating idea because we've always been stuck with the idea of you build a method you put underscores like a test method you put underscores in between the words of spaces right to try and describe what you're testing this is definitely a different approach i love the i love the idea and the yeah kind of the exploratory vision of saying what else can we do yeah exactly and and really this this is written to completely favor readability over you know like rigid like code structuring right yeah yep so because we're all programmers and can't leave anything you know simple enough alone cesare said i kind of like it but there's some things i don't like um so some issues are it's it's x unit so it's it's limited to x unit tests also the um the there's a dot x extension method which actually kind of threw me off the first time i read the code right so the dot x is saying you define the string and then this dot x is saying like basically like execute the test which is fine but it's a little bit not super readable um and there's there's some other issues about like uh you know grouping and structuring your code and so he wrote in scenario which is similar um so his actually is you know scenario.step and then he has he has his written as a bunch of separate steps um so and in these the await is more like obvious it's it's a little i can see you know some honestly i think both would work fine but i do like this when people take a you know an opinionated approach to this sort of thing so yeah it's kind of interesting because i know that at least in some of our like microsoft repositories we break tests up and do a range act and assert like we just use comments to denote that um but having the separate steps is a little is interesting um because it would enable you to understand which portion of the test is failing very very clearly yep and one thing but you know possibly to what you were talking about earlier is the possibility of creating nested steps so here he's showing created creating nested steps and then making that easier to see exactly what part pastor failed so so this for instance we've got like this first license key and then there's steps within this uh so yeah really interesting and and i do like you know then you can have these more structured outputs and um integrated into you know the whole test driven development workflow and that sort of thing so that is all for me um i i love sharing all the community links i will put them out in the chat again and then i will stop sharing and i will turn it over to you folks cool um oh my goodness so much love in the chat i i'm seeing so many questions asked by the way and for the people asking stuff specifically the blazer editor i've looked i've read all of them um i believe i have and they should ideally be answered in this uh and what we're showing off today so i'll leave it for that and i also have to give a nod um i i saw a past friend build started mention me in the chat kind of a funny story here nearly a decade ago when i joined microsoft um yeah there it is nearly a decade ago when i joined microsoft um we hung out we built open source together and uh yeah it was incredible um so yeah i felt like i have to give that nod but you know ben's always writing really cool stuff and sometimes it's it's just he's constant every time i chat with her we we chat pretty regularly and he'll always share like i just wrote this cool library i just wrote this whole website and he's always cranking out really oh yeah yeah i think one of the very first endeavors we did was i i was building for those who remember shoot r it was using signalr a video game effectively on the web i think it's even still up for something i don't know i don't know you know what happened to that i rewrote it like three times but helped me rewrite it like three times and yeah it was a fun adventure i just have to share one cool thing that he's built recently i shared it in the chat it's lynx4.dev and it's i get a lot of information off of twitter but twitter can also be super distracting and you know there's all kinds of random stuff on there and so he's written the system that kind of extracts links um from from twitter and from some other places and uh kind of just makes a like a dashboard um so i love how the first one is my mom took this picture of our dog and also doesn't know memes there is some semi-random stuff in there but there's definitely like a lot of um because he follows certain accounts um and pulls in a lot of like really cool tech links oh i love that yeah that's a good one to share cool all right so what whose screen are we sharing first all right well uh well let's play with mine for now all right all right so uh yeah so vs2022 um if you all have played around if you have not played around with it i would highly suggest going off and giving it a shot it is our first visual studio release ever that is 64-bit uh that's pretty exciting we and like honestly if you were to look into the internals of microsoft we have tried to do this so many times and finally we said you know what we have to do it and we get it um it was it's no small task every single one of the teams working on visual studio accessibility has doubled down on what it means to build something for a 64-bit application um it's really really exciting though um razer is one of those things we have tried to rethink what can we do what can we make better faster a more coherent and really kind of fit the flow of developers of the current day and age a razor was built a long time ago right and we really haven't changed all that much in the razer editor because it's been okay we have heard so many complaints about it and we're really trying to solve pretty much all those uh nvs 2022 now we're not perfect uh we don't have infinite amounts of time so we're picking our battles but i think the goal is to deliver the best possible experience and we are actually investing the time and resources to making it really really good and that's what this talk here is about today is sorry but one question okay man which i think oops uh so there's a couple of people saying what about blazer and i think it's important to point out razer is syntax is used for blazer right it's a common shared sent so razer is a language that's used across nbc razor pages blazer like it's it is a way to combine html and c-sharp code right yeah exactly yeah just using it for mvc web pages um all these other pieces like pre-blazer it's so razor um and blazer's another flavor of like just things you can do using the razer language so like there are we we've extended the language to be some things are kind of more specific to blazer in a way um but yeah it is the language it's the course when we're saying razer in the stock it is actually applicable to not only like mvc and regular razer pages of the past it's also fully applicable to blazer and honestly we're looking at a lot of the blazer scenarios and we are trying to really think okay this is the next wave of devs doing brand new models on how to build like something in the browser like webassembly right how to build a model that can work anywhere whether it be blazer server laser web assembly um there's so many things that we're investing in the blazer landscape that we are just trying to make so the editing experience is just as coherent and as good and as fast as that so yeah so that's what this talks about uh is what have we done in vs 2022 how is it different from the past we have made tons of changes and so we're kind of just like like alice and ryan myself and david wanger have just been really pulling it apart and trying to rethink what it means to to create a really nice editor so we're going to kind of pull it apart and go through each of the features one by one um so i always start little talks like this with this slide i know slides like we i feel like we have to do slides and there's a lot of people you have to do some level of slides to orchestrate who's talking when um and blazer is equal to razer in the browser there you go um i love it but yeah so razer tooling i always use this like i love it i find it funny but i'm also corny so that's just part of it um so our first topic is actually to be led by allison for completion um and i guess alison will go to the next slide and john if you swap to her screen yep sure thanks so one of the top features users probably expect out of an ide is completion and in the past couple months in the razer space we've made quite a few improvements to completion lots of bug fixes but we've also made quite a few improvements in snippets item filtering and override completion so some of these are existing features and some of these features such as item filtering are new features that haven't been in razer before um so let's see here so first we'll start out with snippets so for those of you who are unfamiliar snippets are common code patterns that you can quickly insert into your code so for example here we're inserting an if snippet and most of the basic structure is already done for you as a user all you need to modify is just the condition and the body of the block so what's changed between now and then so one of the big problems um we've seen with snippets is that they're not super discoverable so some people don't even know that snippets exist and if they do know they exist then they're not really sure how to apply it or what the snippets look like when applied so there's quite a few problems with um like this just general discoverability honestly it's one of those things that we have found it is amazing how many people don't even know snippets i'd be super curious in the chat for people who saw the previous gif that allison had i had no idea that was even possible right like the idea that you can insert one thing and it spits out a whole bunch of code but then also allows you to replace things move your cursor around dynamically um a lot of people don't realize this is even a thing uh and we've seen telemetry that like indicates this as well it's so it's one of those really powerful features that just not a lot of people know about yeah it's and the whole kind of workflow when you're this whole thing tab tab it's it's amazing and i use the prop one all the time like when i'm writing a class it's like class prop and then just type the name type the type tab tab next one next one you can crank out a class so quickly with that so yeah any love for snippets it's it's a huge multiplier in productivity for sure yeah um i guess there's just so many items in the completion list too it's also just hard to notice that snippets are there so and it just in addition to like kind of just for thinking how snippets work we've also um introduced a couple of formatting fixes for existing snippet issues and there's lots of future potential directions that we're potentially planning on like taking with snippets for example contextual snippets which i'll go into in a bit and reader and html snippets because today snippets only apply technically to c-sharp so in terms of discoverability looking at this for the first time what would you guess that prop inserts well as like a first-time user you probably wouldn't expect that it inserts public in my property blah blah blah um there's just nothing really in that in the prop name that indicates exactly what it inserts so that's one of the problems that we're trying to solve here it's kind of interesting right because like how like because i've seen in the chat and john i heard from you you're saying prop is like my favorite it's my go-to how in the world did you hear a prop how do you even know that's a thing like do you remember do you remember when you you're even told that was a thing somebody showed me or i saw somebody do it yeah there's no way you would discover it on your own you wouldn't accidentally type prop and yeah so it's like could you imagine like for brand new blazer users razer users c sharp users coming into visual studio and trying this out they would never know unless they went through all thousands of items that are provided to them when they try and get completion and try and insert them one at a time and then when you do like as you see it allison's example like prop is just there like you have to do tab and tab again for that even to happen like it's not even just inserting you also have to know what to do yeah yeah sorry kind of hijacked you there also no it's completely true it's one of the and that's a difficult thing with a lot of i complain about you know like phone features and a lot of you know like features that are magical but there's no way you could know it was there without someone telling you or you know yeah so i mean i guess just to start addressing these problems there's a couple of things that we've um been doing um you saw lots of room for improvement as well but um we started separating out the items in the completion list so for example in the old editor there used to be only one item in the list that encompassed both the keyword and the snippet uh for four but now we've separated it out into two items so um one is for the keyword the first one and the second one um is for the snippet and it contains like parentheses dot dot dot paren that kind of hopefully indicates that there's something more being inserted rather than just the key word um we also oh i'm sorry but what does the so you've got the completion for what is the the first one what is the point of the first one the key word in the completion list like it'll just finish typing the or for me yeah okay maybe not super helpful but uh well i want to understand i want to make sure i'm not missing anything okay yeah i think also like if you reach 4-h is longer than 4 right so as you get to the longer ones you almost you want that auto-completion more yeah right yeah so what one tab used to insert uh just the keyword and two tabs used to insert the snippet got it okay that makes sense yeah so we uh experimented with just having two separate items and just having one tab insert uh each item so hopefully it's a lot more discoverable than just knowing you have to press two tabs um to insert a snippet [Music] so we have more improvements planned which is like what we've preliminarily done to improve snippets a future improvement that hasn't yet been implemented but what we're looking at potentially doing in the future is be smarter about where we offer snippets so for example we offer the prop snippet today in a method which technically isn't valid um so um with our new lsp based editor um we should be able to hopefully offer contextual snippets so that's something we're looking into doing and this is like not just prop this is like every single snippet note like known you have all of them offered to you all the time effectively bloating your completion list which is obviously less than ideal so so that reminds me of you know there's like intellicode and there's some other things in visual studio where it kind of like uses this ai and understands more of what you're trying to do is that something where along the way that the you know like with the lsp-based editor and that sort of thing it can continue to improve that it's like filtering filtering is definitely like like the huge win right like don't even show me prop if it's not valid but like i do wonder even though like i'd love to see those little stars on there you know at some point sean that's a that's a brilliant question and we've thought about this a lot actually internally um where the idea of a snippet being contextually available immediately ties into okay well can i just make my intel like my intellicode type experience more aware and more knowledgeable and the answer is for some of these things yeah absolutely um we probably won't be able to insert like an entire method like intellicode can like like with all the contacts include but we probably give you the groundwork for that method it can probably give you a place to replace the name and then get your instantly into the body so that is something that we are investigating in and as i think i really want to act what alice is saying this is an experiment we are trying out different ways to make it so these become more powerful features so more people know about them uh like so for instance in this example uh if allison were to hit prop like it they committed with the tab we're instantly in the snippet session there's no tab tab anymore because there's no reason for it to be that way right it's just it's a snippet like you type some random keyword prop and one tab is plenty to get you into that flow right so it's one of those things where uh we can because we can be contextual opens the doors for all sorts of other improvements cool yeah so um great points there um in addition to snippets uh we've also been doing a lot of work with item filtering so this is a new feature in razer and it's actually taken from c sharp and it allows users to filter items in the completion list and since this is super popular in c sharp we decided to also bring it over to razer so the item filtering is just this part highlighted in red here which allows you just to just filter by um for example like methods interfaces etc um so as you can see here this is the before and after the old razer editor we didn't have this item filtering but now we do and here is item filtering in action so we can now filter by tag helpers and elements or multiple filters at the same time so hopefully this just allows users to find items they're looking for more quickly that looks really useful to me um having i've been doing more razor pages dev lately and it's it's so much that you can do and razor pages right or razer because you've got c sharp you've got html depending on the scope you've got javascript or css and so like filtering things down as much as possible looks really useful first first oh sorry taylor were you seeing something oh no go ahead i wasn't saying i was gonna respond in the chat that's all go ahead i wasn't really saying anything i i i was i was just gonna respond to a question in the chat if this section was done that's all um yeah this section is pretty much done all right um so in the chat there was a question of i see a lot of people think is tap tap gone um so for the razer editor actually and the uh in vs 2022 the tab tab will be gone initially um now i know that's a controversial question this is a temporary thing um we do plan to re-add tab tab for the if and for and for each um prop itself will not have tab tab there's no plan to bring tab dab back to prop it should just be that you inserted property you want there's no reason to have a second tab included in that in that gesture um so that is our current plan and that's where that's kind of how the state of the world is expected to land so temporarily tab tab gone for four and if and those things and then we'll we should be able to read those shortly after uh so moving on from that um the last thing that i want to discuss about completion is override completion so in the new editor we've made it much more usable um so overall completion did exist in the old editor editor but it was like pretty buggy and messed up formatting and even occasionally used to delete code so as you can see in this example here on the left um the formatting is pretty messed up in the old editor and on the right it's four along the lines of what a user would probably expect when they commit the item oh my gosh allison i just realized i mean the left one it act in the old action it's actually broken code it's not even valid right there's no public in front of i didn't even realize that was the case oh yeah i didn't realize that either hey we fixed it but yeah that's a funny thing to let this see in the moment yeah i mean hopefully the experience is much more seamless now um definitely let us know if you see any bugs um through reporting on our github page uh with override completion or any of these um different features so moving on from completion um oh john where are you going to say no i'm just you know there's a comment on you know and i was honestly thinking this myself if you've got that muscle memory of tab tab i i guess i don't know i don't know if i could be worried about that oh so no it is it's actually it's it's something that you should be worried about and it's something that we do want to bring back now the prop tab tab that is it's a wasted keystroke in a way that doesn't make a lot of sense um people can prove me wrong if the tab tab is meant to be there and they want to have that and we can go ahead and do the same exact thing with the in the old keyword we have prop is one that you just magically insert this random string and hit tab again to expand it out you could totally do that and add a separate one underneath it that represents the public like int my property blah blah blah um that's possible i think right now it's not that we chose not to do it it's that we just didn't have time to do it because it just that's fair yeah and to be very specific by the way this is justin razer this is not a c sharp yet we are trying things out in the razer exp and the razer experience because these uh we have the ability to do this at a very low cost we have the flexibility to do it um and so that's where it is currently cool nice um so moving on for completion from completion um now i want to talk a little bit about settings so in the new razer editor um we have a new razer settings panel under tools options and um this adds a couple settings like line numbers virtual space et cetera but the big one that it adds that a lot of users have asked for and i know it's a very hot button topic is tabs versus spaces um so the quick demo that i'm going to just switch my screen to share okay so now i'm in the new razer editor if you go to tools options um you can see under text editor we now have this new razer um panel that has a couple of options like line numbers scroll bars and tabs versus spaces um so our old razer editor we used to have our options contained under html which didn't really make a ton of sense so it definitely makes more sense to have it out into its own section and note that this only applies to asp.net core does not apply to any other type of projects so for example here i can like toggle on and off the line numbers and have that apply um but the big one is uh taz versus spaces so that was actually mentioned too in the chat but this is what i was like someone was saying what about my tabs where are they and i'm like oh goodness this is a great segue into what we're gonna show yeah for sure um so for example the default is spaces but if i wanted to switch the tabs i could um this file by default um is already formatted with spaces we're not automatic automatically going to change that for you but if i were to add a new razer component for example um to my project it's now generated with tabs instead of spaces and if you'd like if you wanted to change your existing file to spaces or to tabs um you could just do that on the bottom right here and have it apply as well so you can see that we now have tabs i mean i'm not going to officially join any team but this has markedly improved the code very very much [Laughter] no that's really nice are you see there are tab lovers there are spaces lovers and they both view each other as totally wrong and that's okay we live in a world where there's different opinions um yeah yup no it's good i i it's yeah yeah i could everyone in the chat is trying to is trying to guess what team you're on we cannot pick memes okay spaces are john we can't pick teams it's they are on an individual basis wonderful um the owner yeah i would actually okay creating a pull would actually be very interesting to see overall in the community where do people fly and i think there's a difference like what do you prefer versus like what is right um in my opinion preference it shouldn't matter people can prefer tabs or spaces and that's okay everything compresses down basically the same anyways so yeah or you can use unicode oh there you go yeah exactly you know i just just got to throw that unicode in there yeah oh my god a whole list app that converts tabs to spaces when viewing coded vs yes it's just for your viewing pleasure oh yes that was very cool yeah i'm glad we finally have this in and it's very requested uh feature so before we go to the next section real fast um there was a few questions we should probably answer in chat uh before we get too far off the line here i don't know if you have been um capturing them john but if not i can kind of scroll back up yeah i mean if you call them out i think i can probably click on a lot of them okay got it so um okay so one of the questions was like the biggest problem they have with the editor is that it slows way down when you get to bigger files yeah we totally get that we're actually changing that a lot um one of the things we are doing with this new vs 2022 editor is we are taking the approach we're not gonna stall and hang your ide if you have too big of a file for us um in the worst case we'll degrade other experiences if we if we can't keep up but we're also making huge perf improvements and making sure we can keep up so ideally we can always keep up right um but there are like if someone has like a gig file there's no chance we're going to keep up with the gig file right i'm sorry there's zero chance uh it's gonna explode literally everything um but in scenarios that are um extra is what i'll call it we are degrading to make it so that we just maybe we don't provide completion as often um we are not trying to obstruct what you're typing as the just and trying to make so you can just type very fluently and that's like our number one big thing um and there's another comment or filtering by eraser component seems very useful totally it also works for the attributes as well um there's a another question asking can you filter by hotkey and the answer is yes uh you can there is a if you hover over the filters there it shows the hockey i believe it's alt h for um tag helpers and i forget the one for html but yes there are hotkeys associated with the filters which is nice um let's see um just to make sure it it you kind of i feel like you kind of made it sound like we uh we were only making sure that the experience didn't degrade but we've also done a lot of work to make it faster even for the large files sorry we go into that a little bit in in my section later on but i just wanted to call it out now we're working it from all angles yes thank you ryan yeah definitely uh was phil whether the filter is persistent or belongs that it belongs to that appeared list only it belongs to that appeared list only it is not persistent um i think that might was everything uh will code formatting be improved we'll get to that in a bit do not worry um oh my goodness you all have so many questions i'm trying to uh i'm i'm trying my best to dig through this before we move forward there's a lot yeah i think the tabs versus spaces conversations it all went off the rails yeah it all went off the reels okay i'm gonna leave it i don't think i'm missing anything my oh gosh as i'm scrolling it's loading more um okay i think this i think that's it so so one thing to uh to help is if if you have a question you'd like uh you know like answered just put like hash question at the beginning um and then you know then uh i'll try we can use those to filter down a little bit because there's a lot also a lot of just discussion right but so if you can throw that hash question at the beginning yeah i think i think we got everything if if we didn't get it repost your question with that hashtag question the beginning and we'll make sure to answer it okay awesome great questions yes um so the last feature i wanted to show off is a live share and i believe this might have been discussed uh previous or possibly shown off at a previous showcase as well but um we'll just show it off again um so live chair it just allows you to collaborate and edit code with others in lifetime so i started a live share session up here and it'll just automatically generate a link and i'm going to invite taylor and ryan to this session um let's see sharing the chat okay copy link and keep in mind this is one of those things that in the old editor you got zero experience in live share like well like in the not like in the 2019 editor and vs 2022 that you basically get a coherent experience no matter where you are um so like ryan and i have full experience full colorization as alison does it's truly like no different which is quite nice we can do all sorts of cool things um oh we did that oh yeah yep oh geez okay yep but it can do all sorts of things and we can destroy documents if we want to you have full control it's fantastic yeah whatever changes uh changes i make i think ryan and taylor should be able to see them too yeah hopefully oh just totally messed up right now from this what is it oh you know we're just injecting in a whole bunch of code is fantastic amazing productivity yes so when it when in doubt and insert randomness to it but yes and live share is uh powered by the language server protocol which is also what powers our new editor and uh we discussed it at our showcase back in january um in case anyone wants to go back and take a look at that cool and um that's all i had uh i forget honestly live share is that what level is that is that pro or community i forgot i actually forget also that's a great question i really don't know um i i don't have an answer for that i'm so sorry oh yeah i do not have an answer for that yeah i'm not quite sure either unfortunately yeah um and then there was a question um that they had that someone was saying they have no intellisense in their visual studio 2020 project at all for blazer that's a problem um those are things we absolutely want to hear about and if we are falling over in some way we need to resolve that um the greatest way to do that is to report a problem in vs and uh alice would you mind clicking next yeah like so that little send feedback button right there if you click it there's a report a problem clicking this is going to go ahead and open up a web browser for you it'll provide all sorts of logs that we need to really understand your issue the more you can provide us the better we can kind of get to the bottom of it and ideally that shouldn't happen there were some issues in preview 2 of visual studio that are actually even i think it was even in preview another preview too um where there was no experience and this happened to do with content items not including razer files at all we fixed that in preview 3. so there's a good chance you fall into that category if not though we want to make sure that we can at least understand what's going on um one one bug which completely blocked some experiences was having a space or a plus sign in your path which i know seems really random but uh it happens um so we we uh have fixes out for that but yes do do you check if that fixes you but do definitely use the reporter problem button so that we can fix it for everyone yep cool and is there another question so i'm i'm verifying that neil said live share works is for everyone cool cool yeah and that's actually that's actually another piece to this puzzle too by the way uh because we are now fully language server protocol um you can actually go across id if you want to which is pretty sweet so yes yeah yes to vs code so it doesn't matter what id you're working in this if it does live here it works which is a neat feature as you're saying with live share just to make sure people got that so like alison could have created this in vs 2022 and shared it to me and i've just got vs code and i'm on a linux machine or whatever or mac and i pop it open and that still continues to work with live share ebs code very cool pretty cool stuff great okay i think ryan and just to make sure it's like i feel like we can't repeat this enough that report a problem or suggestion in visual studio really really really helps us because it it does a lot of things it lets us know like what builds you're using it lets us know if you've got any kind of it can allow you to submit like a stack trace if you get an exception it also goes into our system and says like 20 people reported this same problem on the same build and it helps prioritize and so it actually goes directly into our bug tracking systems so while it may be tempting to like complain on twitter or to email somebody or whatever this is by far the most productive way to let us know of a problem with visual studio there is a there's another great question in chat about how can i test vs 2022 if it is a la if it is now not obviously this is not allowed to be used with production code and for all my products so it's actually new to me that they were saying that it's not allowed to be used for production code i think you're not it's not encouraged to publish from vs um editing is truly just editing in a sense um but i i could be wrong there i i i would not be the subject matter in the next video if we're saying you can't um edit your production code that um i guess yeah that would be that would absolutely be a blocker so sometimes when we say that like whether something has a go live license or whatever i i haven't seen that either with visual studio 2022 but when we say that a lot of the time what we're saying is it's not officially supported meaning like if you file a support ticket or whatever if you have like an enterprise support agreement or that sort of thing we'll say okay you're using a preview edition we can't give you that same level of support but in general like you're saying it's it's a code editor it's a developer tool and so you should be able to and also visual studio 2022 is side by side nothing that you're showing here would cause it like if i have a problem with vs 2022 close it open it in vs 2019 and keep going right yeah yep that's exactly what i would do actually ideally though before you close it report a problem yeah exactly and honestly report a problem we will do nothing we don't know about it if you don't report it like yes there's a chance it's a duplicate um honestly more often than not it's not a duplicate uh in my experience so coding's hard uh yeah and i believe the uh the reporter problem dialogue will suggest things that it thinks are are duplicates so you don't you don't have to worry too much about that if you if you check against that little area all right i think ryan's next then i shouldn't meet myself uh yeah uh so i've talked about it a little bit before but i've got uh some more to say about colorization uh we have some totally new colors in razer uh on the left side you can see our old colorization scheme for some reason with fewer pixels don't know how that happened um but uh you can see that it was it was a bit darker even in dark mode uh and it had these uh background highlighting around any sort of c-sharp area our feedback seemed to indicate that the background highlighting made things a little harder to read uh it also becomes a bit of a concern for accessibility if you have a decreased ability to to contrast colors uh then highlighting ends up being a bit of a problem so on the right you can see our new colors you we've simplified it a fair bit the directive colorization is a bit different than it was before no highlighting obviously and uh that's it in dark mode here it is in light mode uh yep same same basic changes uh one one little quibble here is this this darker yellow should be a lighter yellow but uh working on it uh so this makes me happy partly because i remember showing this and showing these you know like we did polls and we we asked the community for input several times along the way right and i i think that was helpful in terms of getting something that most developers are going to see and say yeah that looks that looks really good yeah and and the changes can look relatively small but i think you know i don't have any vision problems or anything but i do think that the the right side here does look more readable than the left side but you know file feedback let us know if you uh if you disagree uh let's see oh uh other things that we did was improve uh readability here we have uh a link tag is this uh is this html or is this razer it's razer because we have about tilde yeah because of that tilde uh okay and one other the other thing that keys it for me is that purple on the link right right yeah so the uh this is a screenshot from the old editor and the link is not purple new editor we colorize that uh because we have more access to information about the state of the world we can do things like that uh so yeah now you know when you're using a tag helper um another thing we did was increase the the number and descriptiveness of classifications so this is in the fonts colors dialog you can see on the left here there were only four classifications and i will be very impressed if anyone knew that html server sidescript was a thing we were using but we were and here on the left you can see the new 2022 view where we're a lot more descriptive about what's going on we've split the component attributes off from the tag helper attributes we've split directors off from either yeah so hopefully that is uh easier for everyone to understand and customize uh we also just to go call back a little bit to what we saw before where are my gifts playing apparently my gifts are broken uh but this should be uh if you click on them no i guess they're advances um ryan how are you uh playing the slideshow um you might have to go like edit in browser first and then play it from there technical difficulties yeah okay i don't know why the other one doesn't work uh but here you can see the the difference in speed we mentioned earlier that we're working hard to increase the speed as you can see on the left there's a significant delay about a half second between each time i paste a tag helper instance and when it gets colorized on the right it's nearly instantaneous uh that was like five different fixes that all added together into being a lot faster and we are continuing to erade on that just as uh just as fast as we can and i guess i'm in this view now because i have other gifts i think that won't work um uh correctness uh obviously being wrong is is like the worst thing we can do so uh we did a lot of work to prevent things like that uh this is just a bunch of random screenshots of incorrect things that the old editor did flashing of of diagnostics was uh something that we saw repeated a lot that should be improved um scenarios where cross language barriers caused diagnostics which were not really there like this one where uh inside c sharp it's complaining about html things uh those should be resolved hit f11 to full screen your your browser at least there you go yes i think also in the bottom right corner the little thing that's the projector button i think your your gifts will still play apparently not but oh now they go okay um uh yeah so that kind of uh cross-language uh issue here's another instance of kind of cross-language issues where uh it's complaining about the c-sharp in a css context that should be resolved there were instances where your components weren't recognized in in the older editors that should also be fixed and we also had problems with the the wow i really zoomed in on that huh i lost all the pixels uh where the the uh escape operator was causing difficulty when used in in certain html context all of those should be fixed so uh if you see any other sort of correctness problems obviously go straight to that report and issue button but yeah hopefully that scenario is improved the bottom right by the way of that reported like that component that definitely has a value that was probably the number one thing i saw from customers like people who were using it had that all the time and the fact that we can say this is finally resolved is really exciting yeah and and as i recall the thing was that we we couldn't we never actually did figure out what caused it it was just that when we modernized and moved to the lsp it fixed it because we were in a more understandable system so to recap for people that like haven't followed the whole saga the original razer editor was like it's it's i mean it's legacy code and it's not so this new language server protocol is a more like advanced how how would you like describe what's the elevator pitch for what is the lsp and how is it better i would say that the the elevator pitch is you are you are targeting a prescribed uh shape a prescott a prescribed endpoint prescribed apis and that sort of guides you along a path that is more understandable uh it also helps you you know have an ex the same experience across multiple editors uh you know you you a lot of the changes that we do uh targeting visual studio they end up doing nice things for vs code um so i think those are those are the two main wins it also allows for neat stuff like live share because it's an inherently uh client server-based model uh being over a network doesn't mess things up one of the bees that i would add is lsp language server particle is asynchronous by default so a lot of the perf concerns you'd have in the past and you'd be typing and next thing you know your entire id would lock up and it would hang and then crash oh it's not a thing anymore because it's asynchronous um it allows us to host in more locations and yeah everything ryan said it's yeah having having a standard to abide by is a huge thing for an embedded language um prior the old editor didn't have that so literally as the c-sharp team as the typescript team as the html team would produce features guess what they were building features about the idea of being hoisted into something else and so if you happen to in a c-sharp file if you add a using you can't just add a using an eraser file blindly it's a different syntax it's totally different um so things would explode editors would crash so that's because we now have a standard for what those operations actually entail and makes all that very very understandable and it's super appealing to an embedded language like eraser yeah okay so so what i'm hearing there is other language teams would come up with a cool feature and then it would roll down it would get dumped on the razer team to say now you need to implement this or customers would say why why can't i do this code that i can write in a c-sharp file or whatever and now and it was not thought through at the beginning of this is gonna need razer support and so this new protocol is designed for systematic like uh approach to that yes yeah it's a fair way to think it's every feature in the past used to be five different teams that have to agree on a feature and now each team can implement lsp and then we can choose to absorb it because it's lsp yeah it's also nice from the sort of platform perspective when we when we make a suggestion back to visual studio when we uh make an improvement for them or or through them or because of something that we did uh all the other languages benefit that use lsp benefit from that as well so yeah that's a big one ak once vs supports codelines and lsp you're gonna get codelines in your c sharp portions of razer files and it will be like nothing for us to implement so yeah things no longer take months to deliver they take like a week let's not make promises um yeah so that was correctness uh we've also got some nice quality of life features is that gonna work that does work uh you can do things like uh go to definition i've got here a razor component that i have defined in inside my project and i can just right click go to definition here i am in the file where it's defined uh i can do that within the file as well or or i did that from the wrong direction right here obviously you can also use f12 but you guys can't see me hit the f12 button so that's not super helpful to you uh yeah um oh i saw a bunch of people in the chat asking about um navigating to background files i believe that's f7 yes f7 if there is one yep yes and uh and david winger added that so we've did i say his name right he would say it's all correct okay because you said it differently that i did but he's never corrected me anyway uh yeah so there's there's some quick navigational uh features that we hope will make things nicer for y'all and that that's really cool just i realized intuitively i don't think of razer as being a c-sharp i don't expect c-sharp things like go to definition and that sort of thing because i feel like i'm in weird razor land and i i don't like it's just an intuitive feel you know what i mean so i wouldn't have even thought to try that and so it's cool to see like this whole like it's becoming a full-fledged editor um for you know like it's neat to see it all kind of fit together yep uh a few questions can you hit break points or can you put breakpoints into codeblocks razer pages yes you absolutely can do that we're actually working on expanding that to even work in implicit expressions implicit expressions is just at like datetime.now for instance uh we're working on making so you can do that uh this wasn't really supported before another question what happens on components from libraries great question we don't currently support navigating to those components if they're in the library however if you've written them yourself we'll navigate to them but we do need the source there eventually you can imagine us decompiling it and showing you that though there's a question before on just general discussion on whoops on language server support can this work with custom or other languages can somebody else plug into lsp yeah absolutely lsp is a specification that anyone can plug into each ide implements lsb differently so you can think of lsp saying if you try to like well a completion list here is how you do that so if it an id like visual studio or vs code or visual studio for mac if those say i understand lsb it means anyone who is abided by the spec can now provide a completion list and those ides the value there is that well you write one server a language server that implements this and then you can run it anywhere because it's just a single standard um so yeah you can absolutely do this and this is uh if you've used vs go this is actually how almost every single thing in vs code is built um and we are pulling this out like across many many different products as well now too nice that's it for me i think taylor's up next yeah go for it all right oh wrong thing i'll do here boom all right i guess have a single slide so um we've gone over a lot of things and really it's we have done so much in this area and i can keep going through i'm showing you more features uh for me i am bad at doing that i'm nowhere near as because allison or ryan at kind of showing off features like that so for me i kind of resonate better doing an example so let's just let's do a sample let's pretend the eures 2021 i guess it is the world is um having a hard time well it is um and i am a nice little developer who wants to save the world so i want to build something that really resonates well in washington here we have smoke we have smoky weather days now where you can't go outside so this is similar things to this are happening across the planet so why don't i build a weather app let's see what this would look like in this new world so i have a nice little weather website here that i've just put together it's using the default template i have just some scaffolded pieces and as a a a random person who wants to save the world what is your first step so typically one of the very most common flows that we see people do is they go ahead and they go to stack overflow and say okay well how do i save the world um well like i want to create a weather forecast and they grab some code they copy and paste it and boom you now have some code in your in your project and it all looks awful like it's just mangled in some various way i saw people asking how do like how about formatting is that any better uh yeah we have done so much work to make formatting better and i say we david wenger who's not here has really doubled down and like him all of us we've all been like really putting so much effort into this area to make sure it's good so if i go here and i format this document advance i'm doing the same thing ryan did because you can't see me hit control kd um we can now format something that's super mangled to actually being coherent guess what turns out formatting five different languages html razer css javascript c sharp and weaving them all together is a really really hard problem to solve um well we have invested so much to make this quality amazing and as i scroll down here oh i copied and pasted stack overflow i obviously have some errors i'm missing a using statement so before you would copy this code and you'd bring it off into some c sharp file you'd try and find where the heck is my weather forecast and it'd be a really big pain in the butt well guess what now we have labels so you can go ahead and do using statements and as i said before you can't just add a using statement um you can't just like add a c-sharp using statement there has to be an ad in front of it right so we we have that knowledge we can do that now so i can now magically bring in my weather forecast into this into this site so i'm going to go ahead and i'm going to run this app here and and next thing you know i want to see my weather forecast looks like i'm already up and running things are great right so the next really common flow and we're yeah i'm running um the next really common flow that we see people do is they want to change their site well guess what we have hot reload now in dot net six apps so if i want to instead of c if i want to go to celsius the second i save this file and notice over here like i'm not going to hit refresh anything i'm hit save it's going to go over here and it's going to go ahead and automatically re-render the right-hand side of the file great i am now able to develop and work seamlessly so this is a little low-key this is kind of plain not the best weather out weather website so of course i go back to stock overflow i say what like i'm an open source developer i'm only looking to work with open source components because that's what i really have a passion about so i go to google i find the very first entry and i go to some component vendor that is able to give some open source components they have an example of how to save the world so i go ahead and copy said snippet go back to my site and i can paste that in now similarly to my last example it's well you paste stuff in and things don't look as you want it to look so you can format we make it so you can format on the way format document similarly we now have warnings in your file so that prior to the new editor all these experiences would be razor errors like diagnostics and be kind of really jarring we now provide warnings and you'd have to know where to add using statements well we have a light bulb for that it's not a light bulb great you can now use you can now use components a lot easier i haven't saved the file yet if i save it well over here magically just updates re-renders and i'm still working now this is pretty good it's looking great i want my site to be very modern right this is not nearly modern enough for me so i can go to my css and not only with razer files do we have hot reload but we also have css so i'm going to uncomment this and i can go super modern in an instant get my nice little flashing icons to make it so that anyone visiting my site is absolutely loving this experience hot dog theme with comic sans exactly who doesn't love it so this is some of the examples of what we're offering with hot reload um now these are just some of the features we've showed off a lot today on what you can do in a razor file and i start off some light bulbs but we're also trying to think of other things you could do like we offer more than just the light bulbs i've showed like you can bring you can do use all the various light bulbs you know and love um we're also adding more razor specific light bulbs where someone asks oh can you extract code from one file to the next we're working on this idea of like okay i grab this and extract this to another component that we'd love to have we don't have it yet but we do know on a similar note that people love to separate their business logic from their ui so we've added light bulbs to say extract the code behind so i can go here and pull all my c sharp and do another file which is great and then as ryan mentioned f7 go to page lets me go back and forth to each of the files um so we're bringing back some of the features that existed before um on a similar note we're doing other little things like making it so uh you have you can rename your components if i have a component app i can go ahead and go here i can rename it to whatever i want to um and i think someone had mentioned before like what the hotkeys were so yeah so alt h by the way is hotkey for tag helpers alt e is for elements um and i think that's it i saved the world we have a weather forecast to tell everyone how hot it is to know not to go inside um wow and yeah so these are some of the things we're really trying to understand better understand what is the daily flow for a developer and to make changes in that stead to say can we make that life better i mean i remember someone was saying like what about non-blazer um yes all this applies to non-blazer as well like you get you get your light bulbs your c trip using light bulbs you get all these pieces um now like renaming component it's different outside of blazers like obviously that doesn't translate but you get the other pieces um all these apply more than just blazer but of course blazer is a nice thing to have here as well i'm hot reload included by the way uh so yeah so that was my little build something to save the world um i think you already showed trying out and reporting issues click that report a problem button it cannot tell you there are so many people think oh someone they must know about this no we don't everyone is saying the same thing we don't know about it unless you click the button um it's super unlikely we know about it and please yeah if you do this you will help us ensure that we deliver the best possible experience um you know even if even if we do know about it it still helps us narrow and diagnose things because we can see oh this is affecting people across this entire build or we thought we fixed the problem but it's still coming back or it only you may think oh this is an obvious problem but you're using an extension or you have a mismatch in your net version or whatever right and so it like if in doubt just report the problem we can always close it you know yeah exactly exactly so wow yeah so yeah don't stay quiet please get feedback here is how to reach all of us um we if like we're loving feedback we're loving interacting with y'all you've had so many great questions were there any questions by the way on on the way there are more coming in so there's uh let me see i don't know i mean so this is like features like so bulma is a um you know css library i think the point at the level we're talking here this is razer this would work with any css like it's kind of it's agnostic to that we have talked some about some changes with spa interoperability that i think will help in general um with that let me see question when the features release i don't know if we've officially said what the timeline is but it's it's uh when do these features for vs 2022 oh yeah you know it's it'll it'll be released when um it's released i i don't i don't know if we've said i don't even think i know the answer to that question i probably have access to find out what we think it might be um but i don't know if you have those answers uh at the very least go and try out the preview builds the preview builds are available for everyone and uh for me i use it for even outside of like my day-to-day here at microsoft i also use it for that for that as well it's pretty coherent and feels really really fast and fluid yeah as you said earlier with developer tools i have a like especially if your code's in source control it's very little like what's going to go wrong honestly like i mean that's my personal opinion but i mean i run all the previews all the time and especially with developer tools it doesn't matter the worst that happens is it crashes and then i open the previous version and keep coding you know yeah like it's the only alternate is filed issue before before doing that but yeah uh i i totally get it and i'm and i'm the same way too i love living on the bleeding edge a little bit because these productivity features can really change what you do and really make you more productive so uh there's a hot reload um it's just kind of j so there there is a dock on turning on hot reload in existing projects i forget so if you're done at six by the way like this is my cursor there it is um that's that's it like there are there's there's some pieces here which is like there's these settings in here um that say okay well auto build and refresh when you save auto reload hot reload css these are all i haven't changed any of these these are just the defaults so um i don't know what aside from having a latest sdk that's the big part here right having a an applicable vs sdk which by the way vs installs for you when you install vs2022 um and hot reload is only supported in vs2022 um so i would suggest you use that so i think that would solve a lot of concerns yeah and and in case you know like it can be a little confusing there's hot reload there's also there's been like.net watch and that sort of thing but that reloads your entire project whereas this hot reload just diffs so it just updates your your code from dips yeah a question from ed about extracting a component yeah so we we want that as well we we love that and that that's on our roadmap it's it's it's one of these things where because we've kind of restructured how everything has worked there's a million things we can do now guess what we are trying to do a million and a half things and we can't even we can't even do that and uh these are all once these are all things we would love to add but we just haven't gotten to it yet as honestly all those we haven't gotten to it yet um but it's now possible which is really exciting cool um let me see the power relay i i think works with both kestrel and iis doesn't it i forget uh i believe it does um i think on like my options i think that was a thing wasn't it uh he's i actually i don't know i i honestly don't know i i i wouldn't be the right person i'm so sorry i'm not saying it doesn't i just don't know which one um let me see uh just whoops general question from from ben on the um how performant blazer and browser communication is so i'm assuming the question is about blazer wasm since browser communication was added in there um unfortunately i'm also not the right person for that which is yeah um let me see so i think we already showed this so the you uh jumping to a component with f12 go to definition yeah yep that was a ryan show yeah that was you could go ahead and he right click went to definition but f12 same thing yes you could you could do that now granted it's only for ones in your project we don't allow you to do external ones uh there's a question on just kind of general road map do you have like a is there you know public place or what's the best way other than watching these amazing shows to keep up with the road map of what you're doing yes um good question uh so in terms of roadmap we need to be better citizens and actually publish those things um we don't have one that's publicly available currently to be totally honest and i think a lot of that too is that things are moving so fast that we haven't landed on concrete roadmaps quite yet now we can be better we can totally be better in doing that and i just think i think that's a room for improvement for us there is that um i shared earlier the developer well actually i don't think i share i shared it in an individual chat but the developer community um a second i'm bringing that up so that is where when you submit feedback that's where it goes to and the um that developer community um we you can see in general like that's where a way to communicate with the team on specific issues right so there you can see how high things are rated but you can also say you can see if something's in development or kind of what step of the road it's in so yeah and also i definitely mentioned like we're all like on the slide that's currently up too he's like we love like if you're down to interact and really work through stuff with us we would love to talk and figure problems out i cannot tell you how valuable it is to kind of work with people hands-on there was a question i saw uh the control rr rename got changed to a tooltip box i really like the wysiwyg preview is there a reason mike what a great question um yeah there totally was a reason um two two folds actually first one the old wizzy wig where like you hit rename in c sharp file and it would just tell you it would show you the preview of where it would change else elsewhere was really fragile in razer scenarios actually um there are there's so much that can happen as you're typing that in an embedded language scenario that functionality would frequently break and we had loads of reports of people saying i tried renaming something and it trashed the rest of my document how awful is that right i would never want to trash the rest of your document that is the opposite of what we want so that's that's motivation one motivation two is that the language server platform bit in visual studio defers to this model initially um but that is looking to be changed in the future so when i'm not saying it's impossible because it's definitely possible with our current architecture but we took an immediate swap to it because of the issues that were with the old model very cool well that was a ton of stuff um we're at time it was um i i always love every time that i'm able to get your team on i mean to show stuff off because there's just tons of great demos and tons of mind-blowing things um so this was amazing um big takeaway grab the grab the um preview and start using vs2022 report a problem and and love the new features and oh and does it work for maui yes it does work for maui yes yep that is exciting okay well very cool thank you so much and i'm looking forward to the next time we have you on um and uh yep thank you it's exciting to see as you're like unblocking and a lot of things that people in the past had said hey i would love to see this or i'd love to see this and it's nice to see all these things light up so yeah yeah we're super excited too because oh my goodness vs 2022 has just enabled us to go so much further and make things so fluent and feel good and fast and oh my goodness love it very good all right well thanks for watching everyone and thanks a lot to the razer team cool bye [Music] do [Music] [Music] you
Info
Channel: dotNET
Views: 8,248
Rating: 4.9292035 out of 5
Keywords:
Id: Zw11P2z_ptc
Channel Id: undefined
Length: 85min 34sec (5134 seconds)
Published: Tue Aug 24 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.