How to use Visual Studio Code in Python? | Arkadiusz Włodarczyk | Skillshare

How to use Visual Studio Code in Python?

Arkadiusz Włodarczyk, Professional teacher

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
14 Lessons (1h 21m)
    • 1. VSC - downloading and installing

      3:19
    • 2. Setting up the workspace in VSC and installing basic extensions

      8:03
    • 3. Linter - what is linting - how to use it, settings in .vscode

      10:28
    • 4. Code Runner | Custom Shortcuts | Shortcuts from other editors, Interactive shell

      11:25
    • 5. Auto Save - making sure your file is saved after each change

      1:13
    • 6. Snippets and pass keyword

      6:26
    • 7. Automatic code formatting

      2:43
    • 8. Debugging mode - how to professionally debug your code?

      15:56
    • 9. Ligatures - custom font created especially for programmers - Fira Code

      6:50
    • 10. Icons theme

      2:14
    • 11. Bracket Pair Colorizer - improving readability of your code

      2:22
    • 12. Python Preview - watching the code execution while writing it

      6:39
    • 13. Python Quick Print

      1:02
    • 14. Code Spell Checker

      2:49

About This Class

This course was created to make sure you understand how to work fast and easy with Python using popular Visual Studio Code

You will learn:

  • How to set up a workspace.
  • How to work with Visual Studio Code?
  • Installing plugins (plugins):
  • python
  • What is linter? How to use it? How to change linter in VSC? How to ignore messages you don't want to see?
  • Settings in visual studio code.
  • How to create a shortcut for the command you are interested in?
  • How to run a program in an interactive terminal / shell?
  • About extensions that will allow you to import shortcuts from other editors that you know, e.g. Sublime / Netbeans / Atom etc.
  • Extension that  will let you fire part of the code?
  • About the pandas package for viewing data in the form of a table
  • How to make sure your file is saved after each change?
  • How to write your code faster using predefined templates of code called snippets?
  • How does pass keyword work?
  • How to automatically format the code according to the standards?
  • What is debugging?
  • How to debug your code?
  • How to add breakpoints?
  • How to edit breakpoints?
  • How to make breakpoints with condition?
  • How to use breakpoints to log?
  • How to add elements to watchlist?
  • What is callstack?
  • What is ligature?
  • How to turn them on/off?
  • How do you enable custom fonts?
  • Why use Fira Code or Cascadia Code?
  • How to change your icons theme?
  • How to make sure you don't make any more mistakes when opening and closing curly brackets?
  • I will show you an extension that will help you understand how your computer works when it analyzes your code.
  • How to quickly print the value of variable using print?
  • Making sure that your code is spelled properly is very important, this extension will do it for you!

Transcripts

1. VSC - downloading and installing: Hello. It's time to stop using shell and a detour like this. It's time to move to something more pro for show. No, like, for example, Visa La Studio Coat. Or you can move Toe Pie Charm, which is also recommended by me. However, we're stick to these words to the A coat, which to be illness is just as text editor. That was especially created for coders. What does it mean? It means that when you don't want it, it really doesn't do anything special. When we click here on this link after typing visuals to decode Donald Way thesis, a side will be opened here. Donald Visual Studio Coat. And to be honest, it says that while it's open source of school, right because you can use it for free, it has integrated get it allows you to de bark your programs, and it has many extensions. This is the most important part, because when you don't want it, it has got just this two things. But when we write something important, it's not gonna be even recognizes. Piketon. We need to extend it using extensions that weaken download, so this is the most important part because it's really cool. You don't need to write Onley in Piketon. In this editor, you can write in C plus plus and Java Sea sharp. You can create websites in it. You can do whatever you want because there are extensions for each off the thing. Which means when you learn how to use the interface or visitors to the A coat, you don't need to learn another interface almost right now because almost every language is gonna be supported here. So it's very cool. We don't have alot their Windows version body view. Use Margo rellenos whatever. Use links here. We take on windows and as you can see it, ask us if you want to download it. It's been downloaded. We could donate Ron and we read Lee sends. I acted it angry meant next. Next. Next, you can create a desktop icon If you want to have an icon on your desktop. So creek next install and the ditto has bean just installed. We can know lounge it finish. And that's how it looks like. Okay, he you want toe open it when you close it. Then you can type here these walls to the A coat and you can open it from here. Remember, that visual studio is not the same thing as visual stood your car, OK, these are two different applications you are using visual studio code. Remember about it. And that's how it looks like. And we are gonna extend it. We're gonna lend how to use each of the thing here on the life site. How toe properly open workspace and so on in the next lecture, that's all. Thank you very much. 2. Setting up the workspace in VSC and installing basic extensions: Well, so many things to do in these attitudes are so many bottles. Let's try to see what do they do? First week Want to create something in our editor what is called a project? But to be honest, when you goto fire, we can't find here Award project. But there is something What is called workspace? What is a workspace? What space is a space? Where we gonna work? And in visual studio, you work on folders. So in order to working, this wants to the accounting to create a folder you need to find a folder on your system. You just creek art folder here, and then you can find any folder with And if I sing sai hint and type. But what we are looking for folders with pipe Don't you know you can now find folder where you had your title fight start and you can open it and you can instantly read them. Or you can go toe desktop and create a new fine. Um, in our case, we want to create folder and call it, for example, Piketon English defies whatever. Right? This the name off your project, to be honest and you click And now we've created our workspace That has got one folder inside and we can out here new fights. As you can see here is a bottle New fire. When I click on it, I cannot add a new five or we can click right Click here and click on new file. And we can, for example, create if I called sample notice that when I click enter we have Good. Now a five here opened. But well, it is what it is. A fight without extension. So we can, you know do and the programming in here We need to rename it now so right, click on IQ Rename it and let our extension p Why? As you can see our resource to the noticed that the fight on extension is recommended for this fighter. What does it mean? Well, what type you for example Prince Sample and I saved If I control pasta. Not is that when we goto the bark and start debugging, we can choose something like environment, which is no jails. But did we not help us? Uh, to be honest, our visual studio code doesn't know what to do with it, right? So Ah, What? What should we do? We should install extension. That's why I told you that this is like an editor like a text editor, but without extensions, we need toe install them and it shows us instantly how you know it. This is a pie tone called So go to show recommendations and see what you should insult to use it. And when I click on this and install, I will have this extension installed. However, let's go sit for a second and let's lend the interface off his watch. Study co notice that here we have got as the first I can hear explorers. So this thing allows us to explore world. We have opened here. As you can see, we have open editors which means that when we have more than 15 every fire will be visible here. Here is a workspace and we can well, other newme fire again. For example Sample to P y. And now, as you can see, we have opened editors to off them right When I close this one we don't have here to open the details. Just one, these one. But here we can still open then from our works workspace, right? We can also create folders here. This is the second I counts. So second folder and we can create a fire inside. We don't need toe extension to eat for Doesn't matter, right? Ah, not Is that when I opened the folder, there are all the things that we have created Here are example sample to. So also, when we create here something, it's gonna be instantly created here. That's pretty cool, isn't it? We can collapse everything here, if you will, that we don't need. We don't want to do it manually by clicking this arrow here. Right? We can collapse it instantly like these, because there where we can have more folders out of here. Um, okay, go Ugo out folder, toe work specs. And you can open a new one. This is for five Exploring. Okay. There's a very important place for you. And here we have extensions. And as you can see here, we have recommended for this for this fire that we have got from the recommended batting clean. But when we deleted, it says you can search extension in marketplace Here are the popular one. So, as you can see the most popular. One is by don't but when you can write in C C plus Plus, there's something about gate very useful by really recommended of you your skin. If you don't know about they don't worry. In future, you probably learn about it. Um, they're smaller and more and more things that you can search for. But if you're looking for just extension for pine tones for Pike, don't just fight on. As you can see now we have lots of extensions, will talk about some of them about the one that I recommend in future. However, in this lecture we have to install the python on bond because otherwise we won't be able to see how are cold works. So I just click install. It has been installed and now I can come back here. And now when I go to do de Bock critical started barking, we can select a depart configuration, as you can see. Well, if you use flash junk or something else, you should choose one of it. But we are just debunking the currently active fight on fine, just these one, So we'll click on it. And, as you can see now in the term. Now we have here. Sample. This is our This is the thing that is printed here. Here we have a place where we can de bark our called. We talk about the bugging in future For now. I want you to understand how to configure debugging process. So the process it allows us to also run the coat. Not Is that when we cracked click here, start debugging. We need toe every time. Choose what we want to do. It's just too slow, for we can set a configuration for entire workspace. When we click here on this box, this bark suggest it is that we cannot deepak something when you click on it. Here we have this I can configure or fix land Dutch that Jason. When you click on it, we can choose which option should be the our default configuration when it's despite and find is gonna create something what is called lunch that Jason, which is a five created in Jason that is gonna be interpreted by these words to their code eating forms. Visual studio about what it should do with our workspace. When we go here to explore now you will notice that here we have got no something like Well , looks like these data via Scout. And here we have settings for our workspace. And as you can see, we can open here, launch Jason and come back to Edo. Changing in future, however, will stick just with it. We can collapse it and we can just now click the park, start the back and that now, as you can see, we were not asked what fight on configuration you want to use. It's just faster, right? You might have him ask about the pilin when you opened the fight. And five, we'll talk about it in future lectures, so don't work. 3. Linter - what is linting - how to use it, settings in .vscode: I don't know. They are going to talk about Linder about how to lead your program. And what does it mean that you're gonna lean your program? Lind means that you are checking your coat for the stylish type of errors. So errors to let your programs passed. Run. Okay, so, like, for example, here Look, we have got key to times name with the value arc card Yosh. And here Viola. But we have type here two times the same key we have got here. Also threatening spaces. Which means that well, we shouldn't have space. Is he right? Why? Why do I need we need them or we could, you know, at column here semi colon here. And to be honest, you shouldn't use them in Piketon, right? Did you can you have to use them in, for example, c++, but noting pythons. So you're gonna be informed about these types off error by Linder. However, how can we install Linder? You can go to a website that is called cold visual studio dot com Dark spite on and go into linking category and read about it. You can read here lots off things about Linder, but configuring year and so on. We'll talk about a few things from here, so don't worry. As you can see here, we have got a box like this and this box should be visible here when you open the pipeline fight. However, I have uninstalled the inter many times noted to show you how it works and now it's somehow it stopped working. This situation can also occur in your situation. So I will show you how to install it even if there is no boxing. Okay, If you have a box, you can just click install and it's gonna be instant if you want to disable anything. If you don't want check ups like that, just click dissolved, disable anything, and everything will be disabled. In order to open this box, you need to creak control plus shift. Glaspie shortcut. And as you can see here, we have got something like Select leaner. When you type select limiter you are. You can select the winter. You won't because you can see there are many programs many lean tres that can check your program for stylish type of errors. Now what's the use? For example, flag eight instead of Piland when I could go on Flag eight and I click Install now, like eight is being installed. We had information here that it's being installed and also not is that we have got now a new fire in our Dad V s Coat folder. And here we have got settings for our workspace in. They say that we have enabled flag eight and we also enabled then think in our program now you didn't. You can see that nothing changed. However, when I add space, fear and I click counter plus s, which means I'm saving my five You're not, is the winter has just run because winter is running every time you save your files. And as you can see, there are many types off stylish errors that you should fix. They inform you about them here and well, let's check it back. For example, here it says, lying is too long. You should didn't have such big lines because they're hard to read, right? If you open it in another program or on small screen, then they're hard to read. So this is a stylish error. You can you should remember about doing something like this right now. I have removed it here again. We did the same. So which means so like this. And now Okay. 04 months about the repetition off name here. Okay. So I can delayed it. And as you can see, each time I saw something, there is less of them to money blonde lines here. Okay, so I need to removal these lines here. Okay? Statement. And we sent semicolon. Okay, we remove it, and I need toe end here. I need to other white space line there is this trailing whitespace. And someone sounds here on threatening way space here. So, and removing all these errors that made my program not looking good in the eyes off other programs. Right? So, like this on bomb, everything works fine. We could also install the piling, right. If the box is not here, let's get controversial shift clasp being, and we can install another lending program. So, uh, Selig, Winter Piland. And now what happened? Now we have just enabled there pi mean and we also disabled the flag because only one letter by default can be run. We can change it manually. I will soon show you how However, now only Peiding works not Is that when I come back to the how it how it looked at the start Pinyin is not working right now because you have not insult it. We have just selected piling in our settings. You should have here a box that says that allows you to install the pilot. You could just click here, right? Like here installed and it would work fine. However, if it doesn't show up, then you need to type in terminal Here people install piling So the name of winter that you want to install And as you can see, the pilot is being installed Now a night saved the fight. We also have a few in for fuel things that we can now change using the piling it says about on the two problems notice. So for our flake eight inform us about more problems. Definitely. Um days informers on land that sonny call and the name like so if you want something that is not as restrictive, you can use pining difference. I think more restive. You can do this, flake. However you can use both of them at once. You can just set here a flock to true also. And now the next to each error. You have got information. From what? Linta, you have got this information here. Right here is from flecked A Here is from piling. Um not is that some errors? Might not be arrows that you want to hear about. For example, haven't I Don't care about that. That I didn't are at the end. Ah, a new line here. Right? The flight. It says that there is no new line and younger at the end of the fire. Let's change it. No need to do it with type. Sounds like that pie. Turn that lane. Think dot Uh um, Flight eight arguments. And now I was sent here something dead dot dash ignore equals. And now I say which error I don't want to see in flake eight. So, for example, w toe 292. So uh huh, uh huh. And now not is that there is no road like this, right? So thes types of errors are not gonna be spotted by Flight eight anymore. So you can change the default settings for flight eight very easily. Right? Let's say you don't want toe care about long type off comments, Right? Because that's not something that you want toe even here about You don't care about it. So you types that like days, and now we're not being informed about it. You don't want to be informed about days, then, huh? So we're not fixing the problems, but but we're not just not gonna be informed about them. Okay? Everything after ignore. And because of that, we have less type off leading errors shown. Let's say that you want to focus right now on normal programming. You don't want to focus on stylish type of errors. You just go into settings, Jason, and you can change through two false here, and you just disable lending for your workspace. As you can see, we're not being informed about this type of errors. However, even make an error like this, you go not be informed by interpreter right by the Parsa that parses your coat. That Hey, there is something wrong here in this line. Unexpected talking column. He didn't tell you exactly that. The problem is here, however, you know that is in this line. What's install one more Linder like for examples like Inter, let's install Pep eight. It's Now ask us, Do you want to replace the other enders? Yes. I want to replace them. As you can see, the flags change Insensitive, false now. And it asked us, Do we want to install it? Right? We have just change the settings using the comment from here. Right? But we Sydney to install it. So when I click, install is gonna be installed on. And now the pepped id's working as you gonna see. We also can change its setting so we could do this at night. Vital lane thing dot And now Pep. Eight. The arguments. And we could ignore the arrows that we don't want to see. We can change these two fools now its identical now organ We can, you know, open for example Flag Edelman. So it's up to you. Which one you gonna use? You can check each of them. Use the one that you want. I mostly use three gate or or pilot. Let's say that you don't want pipe ate and the more you just don't want to disabled it. Like here, right? You just want to talk, Kelly, remove it from your from your computer, then do something like that go to terminal and type people. I'm instal pep eight. And now it's gonna ask us if you want to do it. Yes, we have just installed. We have just now on the flag eight and Peiding installed on our computer on dazzling good lesson. Thank you very much. 4. Code Runner | Custom Shortcuts | Shortcuts from other editors, Interactive shell: Hello, my friends. Today you will learn how to create a short cut for the command You're interested in how to run a program in an interactive window about extensions that will allow you to import shortcuts from other editors that, you know, like, for example, that beans, atom, notepad plus plus he's our studio. And so about extension that we let you fire part of the code just part of it, right? And about the pandas package for viewing data in the form off a table. Lots of things, don't you think? Okay, let's start. Firstly, an adult is that we've been running the code by using the bark men. So when clicked the back, our visual studio co. Has just run at the back moat, which takes time not. Is that each time when I on it, it's a few seconds, like to free. Sometimes it can be longer, because this more allows you to watch variables to make break points like this. We'll talk about it in future and this advance debugging mold for just running simple program. Whether you want to print something like my nose like this, right, you just click here. Run piped on fire in terminal. And then, as you can see, it was pretty fast. That's what we gonna use, However not is that we need to click here. Why? There is no shortcut. I think it will be a great idea. Toe. Abby, How to add a shortcut. Ukraine Cultural plus shift Lost P. And then you find something like open keyboard shortcuts. Notice that even this thing has a shortcut. Every common that has a shortcut assigned has got it here. So Contra plastic key he bought plus control. Plus as short cuts. So we can click here and open this man or just counter plus key control process pretty farting to quick them pretty far above, off the counter, plus capable and control plus s okay. And you can remember it by looking at the first letter here. Right. Keyboard shortcut counter, Prosky counter plus s. Okay, let's come back toe. How toe set a new shortcut for something. Like, for example, these run part on Foreign Terminal. You just need to find here a commander this named like this Ron pie item terminal. Uh, let me see here. Not is that even though I need five this thing found it. So it's pretty cool, Right? Ramp item for in terminal. I just click only two times, and now I can set desire to key combination. And then when I press enter, it's gonna be set. Let's say I want to set it to control, plus out plus the because it's very fast to use it right? I can use left hand so I can still have my right hand on the mouse, right? And then crest Enter now when I use control plus out it last d you can see I can run the system in times they want when I make a change like this Um, as you can see, it's being instantly saved the fight and I can running Great, isn't it? Now I don't need to do it this way so you can sit in a short cut here, but didn't remember that Sometimes some shortcuts we have bean reserved. Look, when I disappear like counter plus w not. This is there are three existing comments. Have this keep beating. When I click on it, you can see which one heavy. So it is results for closing windows. If you don't need to close windows using contra plots w like this, Then you can remove so control plants keep on control plots as let's go back to the keyboard shortcuts tab and what we could remove it. So click right, click on it and remove. Keep bidding, then remove. Keep beating or you or you can use the lead to remove it. Right. And then you could come back toe the open. Yeah, five terminal tight on So you can come back to this open in a game and then you can send it to the thing that you want, right? Otherwise, don't do it. Don't do it. So that's how you change shortcuts. This is pretty cool because you can set them tow whatever you want. However, you might be coming from another editor. Like, for example, Ned, beings are tellme no plus plus plus beam, whatever. And you might be used to some shortcuts and you don't want to set them manually right on your own. You don't don't want to get used to the new shortcut. Then you just go to extensions and type here something like came up. And as you can see now we can get ma pink off every key shortcut to the comment from, for example, Subway in text at all. No passports. It plus Ecklie visual, studio and soul. Every popular editor is here. Critical writers install, then job. Then you can restart your results to their cars or reloaded and congestive shortcuts from another editor. There is also very cool extension that allows you to run just part of the coat. This extension is called Cold Runner. It allows you to run code not only in fighting battles on C C plus past is really awesome. So just click install. And now when I click one, whatever place in this fire, I can run the coat. As you can see Now we have got it in the output that nothing terminal. And that also means that you can use input now, this will not work. They just believe me. Um, because it would not run in terminal now, okay. And well, you can run just part of the coat so you can not only dislike let's see what will happen. You will notice that we have got a narrow because these variable is no define your right is defined here, so we need to run this part of the coat. If you want toe see nine so you can run any part of the code. Conceive very far. The results. It's pretty cool if you don't want to run entire co. What's more, it's running pretty fast, Right, however, is not run in terminal. So if you want to use import, you need to change settings for these. Think you're going to settings and then notice that you have got down something like Code Runner here. Right? You can just I called runner and you can choose from here something like Iran in terminal. And you can change for this from false to true. No, they said we need to use our here. Come on. And now, when you run it, you can click also here. Ah, okay. Right. Notice that we've run our program in terminal. So now we can easily use import line. Right? Is we work fine. Oh, Ah, Ron Goat. You can see it's working fine and run code from here. Also, I really like this thing because sometimes you know I am using miles. I don't want toe use the short cards. I can just run the code like the second drum part of the culture and you don't need to care about language you are using, right? So I'm really enjoying this extension highly recommended. There is one more way to see how your code works and it is called interactive window. Not is that we have interacted window on the left side from for almost entire of our cause . Here, we don't have it. Alright, Right now when we try to actors, for example, sample number here not is that it doesn't exist because we are in Terminal Terminal, I remind you, is the thing right? We just run the program in terminal and that's all it's. The script has been run. It's been caused. So in order around the programming interactive mold, you need toe click here on the run current following point Total interactive window. You can change the shortcut. You can set the shortcut here if you want. When I cut it on it. That is that we need to install something. Go this Jupiter that's install it. And these things takes timeto Ansel because there are many dependencies, which means ver manic packages connected to this thing. I had them already installed. That's why it was instead of pretty far, however remembered, These will take some time. Okay, So don't worry. After its installed, you can quick here again. And now we are in the title interactive mode, which means when we go into this thing not is that we have got now information about it variable that was created. That's pretty cool, right? We can see each off them, and you can also see the value that is inside of them at the end. So in line 40 right and once more we can now. For example, let's see what is in this sample number. Nothing they don't like Click enter. Nothing happens. Why that start? They told us that you can type cold here, and then if you want to run it, you need to press shift, plus enter so sample number. I can click top. If I don't want toe ride these things on, then shift plus enter. As you can see, we have good number four here, but we can change this value, right? You can change it toe. Example. 25. She plus enter. Let's running. As you can see, it's changed value here, and also when I want to see what these values is. I can do it like this occurs we can you spring to it also Not that's gonna work. This print is being involved by default here, right? If you want toe the view sent the name of a rape That's one thing. There is one more Think that the school here you can click here. Show over able in data viewer. As you can see, it's a spite and package Pandas is required for viewing data. If you want to install this package, you need to type here people installed panda and now we can wait a second. As you can see, we have successfully installed pompous. And now when you run this, we have a date of you wear that allows us to see dictionary like this, right? We are in the table moat. We can also solve things here. Hell, So I I really enjoy this thing. He wanted to analyze data that came from the server, for example, pretty or something. So when I caused the fight on interactive mode, noticed that our simple number is equal to 25. And when we run this game not is that same pool number is called foraging. That's how it should work, right? When we close our program, we re started. Okay, that sounded Listen, thank you very much. 5. Auto Save - making sure your file is saved after each change: and my friend. Today I show you how to automatically safe the changes that you make in your file. Why should we do it? Well, not is it when we bring something new like, for example, diesel numbers. And now, when I try to run the coat, the change is not presented here, Right? We printed something, but it's not visible here. Why? Because we haven't saved the fires. You can see there there is an indicator here Is that here and here it's being said that it's unsafe. Five. We need to save it using the shortcut control. Plus as for example, And then when he ran the coat, we can see the different. I think that something like that shouldn't be on our shoulders. We should just do it automatically. Well, it should be done automatically. Five also safe. And now, when I make a change, So for example, I did this and I run the coat. We don't see it anymore when I come back with the print and I ran the coat There is this change again when I had something here. As you can see now, we don't need to worry about saving our fire after each change that during the lesson Thank you for 6. Snippets and pass keyword: Hello Today I will tell you what our snippets and how to use them. Snippets are just showed templates for writing a coat. They are making sure that you don't need toe write code that is often looking very similar . Let's maybe explain it by example, that we did the faster sets. Think notice we have here a list off numbers. So I want to print all numbers from him. Probably we should use Look for right for that. So normally will do something that for each item inside list off numbers and then something like these, then print item. Now, will you seem I type f o are. And here snipers are visible. Um, here, this, this, this, this this I confess that this is a snippet. And when I click on it, or when I use are okay. And here, as you can see, you can get more information about each state that it says how it looks like for target least in expressionless past when I click Topped Whoa, Something happened. I have got here at placeholder, so they are holding place for your variables for your object. So, for example, for each i them and now I don't need to use my mouth. I can just use top. Well, I just jumped here, right. And now I can type stuff like a list off numbers. And when I click it up, I am here and I can change the past key word. What? Discuss passkey, would It is just a placeholder for your coat. Look, when I run the code now, we don't have a narrower. We just informed that later will pass the content off the four loop for day interpreter. Right. This is critical. If you don't know how to write the coat in the moment, you can just written right it late, right? This is used for cases like this. And well, now we can just print item and run the couch. As you can see, it works fine. So this is pretty far, isn't it? Notice that now we can just stuff like that for And now it item in a list list Off numbers , print item. I think it's faster. Don't you think so? This is one of the super There is many, many, many more. You can find them just by looking at this he right and added that hints at this man, you drop down menu. And here, as you can see here, is death saying that when I go here, you will notice that will help you creating functions. So now when I click Top Knot is that I can just specify the name off our function. So, for example, sample and then parameter release of, for example, a B c and then I can pass toward this function Does. Or I can just leave it like that right here. We have good, of course, A few errors. Well, these are not era. These are warnings from the flag that does us that we should. You know, Maggie, our coat a bit more pretty because otherwise is not readable. There are many more snippets when I use comfort plus space and go down here. As you can see here are secure stuff like for a synchronous could called for classes. We talk about this later. L see. If this is pretty useful, if I else try except why with wavy school? Because you cannot open the file jazz using this expression, right? Like away from home online. Just type the name of the fire and where I save didn't and I do something my fine. You can also download more snippets. You can just install it. This bite on that snippets. And now we have got lots off more snippets we can. I love stuff like Elsie, we just for Reese comprehension. And now we have get snippets for this comprehension. This'll is pretty cool. You You can see what type of snipers you have got here, so you can read about them pretty fast. I high recommend using them. That's going that. Listen, Thank you. If you want to find more Snee bets, you can do it by using the short car contour shift plus b and when I type your seat. But here we can click of insults, snippet. And, as you can see here, all installed snippets. Right now, for example, with as you can see, we've expression is used to open fight. This is also pretty useful. Of course, you can do it also like this, but to find out what types of sneakers you have got insult, you just go here and here you can find them. You can also download more of them like, for example, these morphing fight and are snippets and there are a few years for simplicity. Like for example, l seem for this comprehension is pretty more useful, right, because can now make your comprehension a bit faster. Notice that when I use, for example, death and the new sleeper that I want to use is on the next position. Like me. Can we use my arrow? Here is just taking time, right? And in order to speed up this process, we need to go to settings. So we will go into settings control plus coma, and we will look force any pets. And here we can do stuff like sleep it suggestions and change it to stop. And now when I do something like death notice that it is is at the bottom and having it is no use useful, right, because he's just helping, you know, we're not writing everything right. Click on it, just feel better. This is just stupid that it will be first. Here we are just making sure that we don't lose our time for look for love. I think it's pretty faster now. Before we had to you know, something that are on then you This is this was just not good. I really laugh. This setting here it's very useful 7. Automatic code formatting: So today I would show you how to set a four matter. So something to that we'll format major code look better automatically. Imagine a situation like these were using snipers on I do something like that. So I make a narrow right. I should not enter here. I should also at space here and here. But you know, it takes sometimes. And sometimes you make errors like these. And why should you do it manually, Right. It should be just done automatically. And that's why it's good idea to use for mothers control Shift plus P. And I will use something like that for my document. And when I click on it, I am being us. Do I want to install auto Pap eight? Yes, we creek on it. You can use black or thes think here. However, this is the one that I recommend. So when I click Yes, the out of eight has been installed. And now when I do the same not is that our code was for multi formatted automatically, so was the difference. We have got here and there, right? And we go to space after reader to read and also here enter this is just great, right? We just use control shift plus B for my document and our Cody's formatted. However, I think it's still a bit slow. I would like to make sure that controls E to make sure that our coat looks good after just saving our five. So every time you saved the five hour gold is formatted automatically. So cultural plus coma and let's go into four months safe and not, is that he? When we check this thing, it will form up. A fight on safe for mother must be available. So we have just insulted. So it's variable and now one likely control plus s is being saved automatically after each safe. Right? Let's go back to the way It looks like notice that we have got to auto safe, but it doesn't help even if you change something here. Even our fire was set, but it wasn't saved manually. We have to save it manually, using the control plus s because otherwise the four matter would cause trouble. Right? Because you're writing something the for matter the format. I wouldn't just know. When should he apply his rules. Okay. When have you stopped for hurting it would interrupt the way you called. So it's better now when you tells you the cultural process and it works fine. 8. Debugging mode - how to professionally debug your code?: at all today I will show you how to the bagger code. But first, let's focus on the world debug. It doesn't mean back is just something that you want to kill you on 20 minutes, right? We don't want to buy, so you want to cross them And here you have a bark on this I come that you want to curls You want to eliminate? This is a debug mode in fightin which helps you finding box in your program. On the left side appeared variables watch coal stack some tops that will heil beauty bugging your programs So we come back to it. As you can see here we have got the program that he rode long time ago. These called that's in mind. Ours is what he did it assigned weapon chance to hit percentage. And depending on that, we then created a hit list and we sent their chance to the well weapon hit. And depending on the circumstances, we returned, hit or not hit right and later we counted how maney off the results were heat or and are how many were not hit. Right? So I would just remind you how this program work. And, you know, we could analyse this code line by line in order to see how it works. But we can also use a day back more that's used a D backbone instead of, you know, running just so I could like this. That's great. Kill as you can see it work someone else the same. And you're wondering why the back mode requires from you at a place where a point where it should break your programming should stop your program from running. So in order to do a break point as you can see, you need to call over your mouth here and, for example, creek here. And it means that we gonna stop the program here. Mom, let's do it. For example. Here it would be easier play. And now whom new things happen, right? We don't have a result. We just stop ruling executive lines here. So we want imported collect counter from collections and which is here now, As you can see, local variable. We imported random module which is here now. We also assigned to x zero and there were some weapon chance to hit percentage to 50. No, we didn't, which stopped before we did it. Okay, So break point, if we could here means that we are breaking before this time. And here are also some You build in global variables that you can access, but we don't. We won't focus on them in the sector. So these this is the part that we created, right? And we Brabham said the break point here on because of it, we could still buy program here, But how to move further, right? You might be wondering Let's get continue. As you can see, our program has just stopped working. So, uh what? And our program has stopped working because continue means that continue to the next break point. So if I do, for example next break going here and I could see you can outbreak points while you are in the debug mode while you're debugging crying and now I continue, I'm gonna jump to the next break. But this'll is not always what you want. When you want to remove break point, you just click on break point, right? I want to, you know, move forward. And in order to move forward, we go not take steps, steps over each line and when I think this also, I just executed design. As you can see, weapon chance to hit percentage is equal to 50 now and we moved to the declaration off Will weapon head when I click, step over with just declare declared will weapon hit function And now we are at the least And then we can step over and again and again and again and again You can probably notice that when we're in 9 22 we are invoking Will weapon hit with the argument like this? But sometime we didn't jump to line 11 weaken Jump there to wait. We can other break point inside and then when we step over, as you can see, we're gonna jump from here to the next break point because this was next thing that happened inside. Off it off the well weapon hit which we invoked him. Right. But also we can do something different. We can click on step in tow if we have a function like this and we want to step into it to see what happens inside of it. We quick step bento and then we are inside. Not is also that when we stepped into the function. Our local variables has changed. That's true, right? Because local variables are the one that exists in this Ah, space. Right on, Lee. Here here we have a different while here and here. That's OK. We have a global variables that are available in entire module. You can easily jump back to the variables that wherever that we're seeing here before, when you creek on module here on the cold stuck with this girl stuck it is the order in which the functions were invoked. Module is just the first step, right? It's like your entire module and we were here and then we what invoked were weapons hidden when we jump here. OK, we are here If we want even had involved in uniformed function which is involved here, but it is not created by us. We would have uniforms above. Will weapons hit because it's a start, right? One function on another, stuck like cold stock. Your is an order off functions and in which they were called right invoked. That's why it's got cold stuck and you can jump between ah, that to see in the order and also what is the current state off you know, for example, hit list. As you can see, we have already hit two times. Once we'd miss and once we didn't, that's that's cool, right? And while we could, you are probably wondering, Do I need to jump like these in orderto watch? How hit list? What What is inside hit list? No, you can just watch it using expression here. Hit list. When I had hit list here now I can say that it's equal. Do not hit. Hit. When I open this expanded, I can see exactly values on the first second index the landfall Ticketless. Awesome. Right? So we can watch things whenever went. Whatever we are right. Ah, this is not the only way. Toe out expressions when we remove it. Remove expression Not is that we can click on it, right creek And here on and click on D back out to watch Enter. And as you can see, you can watch it so you know the removal. Remove expression you can added from co does so know what is that? When you're running the coat, um, you can execute each line using to step over right? Step over eggs, executing each night after the break point step in tow. Lousy to get into the function like this. And, well, let's try to go into uniforms to show you the call. Stack better. But in order to do it, we need to change something. That is that when going to Deepak council mold here on Die Creegan Step in tow it says France keeps from the barking during step in note. Might have mesquite because of just my coat option. Also, there is an option. And when I go into land, Jason Strine because it's a setting for debugging and I change the default Just my coat toe falls, which is the name suggests, does the the bugger that you should be back on Lee my coat right now. We said it to fall, so it's gonna d back everything and know what is when we stop our program and we run it again. So start debugging and I did something like these Buck Okay, lets go into so step into and now I step into random unit for as you can see, uniforms above with weapons. So you can now jump back to this This this this this as you can see There is many more things that happens in the background when you are running your programs in visual studio code. So they are run through Grandpa for a magical run code and there is your module and then we're we weapon. And then that uniformed that we have involved, right? So I think this is pretty awesome. This gives you a possibility even to go and see how functions like uniform works rank. You can see that it works like this. So pretty awesome. I really love. I enjoy the debugging mold. However, by default, I think that we should remove just my coat. There are a few more things that you need to know about break points. You can added them. So when I have break found here, I can right click on it and I can creek um, added breakdown. And here we can choose from the manual free options. Let's start from the log message. As you can see, it's a message to log one break and point is hit, and this is pretty interesting you can instead of doing things like this, right Instead, off printing chance to hit chance took it, which is visible to everybody. You can log messages just for yourself to see what was chance to hit equal to right so we can see a chance to hit who is equal two. And if I want to access variable right? Then I need to use curly brackets and name off variable. I want to access and then I hit Enter and this is pretty into resync Now I can't even you remove break point because we don't need to break our program in order to run it. And in the deep back, of course. But the problem is that I did the log message here, which but I should do it here. Okay, so that's edited. Let's copy from the log message, it's removed. I is good that I made it this miss think because now you know why it's your code is not working or your break point Chance to hit is no defined in this life defined in these light after design is executed. Okay, so that's why you need to do it this way. And now Andy back about a chance to hit is equal. Don't, huh? In the next round, as you can see, they were different. That s all right. You can lock messages. This way. Let's check other options. Let's a break. Point added, Break bones and let's use the hit Can break one hit count. Condition is meat. So when you for example, type here free. It means that if this part of coat is run, Ted, time gonna stop here. So when we run out, start our debugging. Not is that our hit, Please? Is has good now two elements right when it's about to add deterred element with break it. But we broke from our points here. Well, we start our program because we said that was a break point here, right? And when I click continue, you can see that heard element is added right, because we've just executed the cold after the break. So if we change it to, for example for we will start from free items, right? It's pretty useful when you want to check what happens after loop runs four times. Maybe there is something that I need to look into, right. This is pretty cool. What else do you have here? You have guns here, something like expression. So let's say, for example, if weapon hit percentage is equal to, let's say, 50 person. Then we gonna break our program so we can see what happens is you can see it has got its true because weapon took it percentage, he said. To 15 however, let's do something like this input and then let's ask for weapons, puts it weapon percentage and just let's ask for it. But we need to remember that we need to CASS it. And now, as you can see, we're being asking when he said it to fall to a bit more. I said, It's a bit more but our program has stopped or not three times. Okay, it has stopped because as you can see the expression and that's good because we have got hit can citizen, right? So he can't. Well, we executed this part of code three times already, but we remove it. Now we have got only this expression. And now when we're on our program and we tied 14 As you can see, we didn't break our program. However, we type 50 which was the expression condition a Zinkhan see, we've brought We have stop our program. We can step over since this moment. If you don't want to remove break point. You just want to disable it for the Ron that you want to execute. Still, you just click here, okay? And the disabled break point or, you know, expression log. It's gonna be the table just for one for these round that you want toe disabled, you have got here. Also, some feel this good hunk half exceptions. Some things that when we don't use in teacher casting here and when Ron I program and we talked, for example 40 we have got here uncaf exception. Because what? The operator is not supported between str and float. We can't compare characters to float, right? Ah, he will remove it. What will happen? Our program has stopped here and we don't know exactly where it is. Right? We need to line. Look into lines on this is not as good as when we don't doing it to this thing. I think this critical City Council tear is this exception. That and we we made a narrow pretty awesome right. That's how you use debugging moment in order to find the back and kill it. That's only lesson. Thank you. 9. Ligatures - custom font created especially for programmers - Fira Code: Hello. Today I will show you how to customize your phone. I will show you how to download a fund that was created especially for programmers. So do not close this lecture because it is pretty important to use a phone that will How view? Writing your code, right? It will help you make less mistakes. Not Is that when you are reading this name here? You are not sure? Probably. Now, what is the first character with the second? And with this felt character, right, When you're looking at these, you're probably wondering if the first is I maybe l maybe one when I remove this one from the end, this thing as the second character looks like one. Really right when I had one next to it. OK, maybe you can see the difference, but it's hard to sport, right. Phones that were created especially for programmers like the fire code Cascadia coded will download soon. We'll remove this problem. I would show you said the second thing call about the phones that we're gonna talk about. So our ligatures with ligature. Yeah, you probably haven't heard about this word before. Well, I haven't before I had started using them. Ligature is a single character that connected manic characters more than one in tow. One. Well, not is that we have good here, for example, on lower than and then equal sign. And to be honest, on math classes, you do not write it like this, right? You also do not right two characters like this. If you want to check if something is not equal to something, just writing a an equal sign and you just make a slash on the equal sign, right? Let go here to see what I didn't do. What do I mean? For example, here not is that. But that's how you write your normally the camp arisen characters, right? And there's lots of other things that are changed using fire cult, that ceremony. Let's don't want cascada coat. So let's click here, Donald Zip aan den Hugh Donald Zip. And then when we opened the fire, um, like that we have got to fire code Master Cascade Jacko Master, we can extract extract it, quicken extract, extract the fire code, and then go into Cascadia coat. Master, you need to install the true type phone fight. So you click on this thing here. Right? Click on it and then you click Install. I have already installed it. So it asked me Do you want to replace it? You just gonna installed it automatically after creaking it on the same goto fire called then goto distribution fight and then goto tt f And here you need to select all of them and then install and then creek. Yes. Okay. I feel reading. Still don't. So I don't need to do it in the market. So, um, how to use them inside Visual studio code. There are two ways you can do it. The first way is go to settings and hear when I type phone not is that there is something like editor that formed family. And by default, we're using counselor school. Really new and model space wide are free phones here because Well, if your computer doesn't have counsel us insight installed, then this one is gonna used. If not, then this one. Okay, um, let's specify that we want to use fire code world will happen. Not is that it's changed a bit, right? It's different now, but when we go here, not is that now we can instantly see that this is big I L one right. We can distinguish each character. It's easy to read. What about ligatures? Why this thing still looks the same. Ligatures are not turned on by default. You going to do it? That's the stuff like that Legal charges. As you can see, you can see that there is editor form Rica Trust, which is by default Set falls doing changing to True. Now all these characters have changed. So when I start writing something like, um, the exclamation mark and then the equal sign, it's changed in tow. One single color character we just called ligature right? And what? Your code. We look a bit better now, right? You can something strike if is no people to five. OK, so then do something else. And I think it's a bit easier to read when you do it this way. OK, so these are ligatures. You can turn the north if you don't like them. We have don't it? Also Cascade echoed. Let's look how it looks like when he opened Cascadia Code here in our phone family not is that it changes. It also and is also really easy to read here, right? I l want to be honest. I like Cascadia cold, but it doesn't support characters that are not English one, not all of them. I am from Poland in. That's why I use fire code. But this for now, maybe in future. David. Simple Far Fire. Ah, other characters from other languages. For now, at least I used fire code. You can use any you want, and I am using the medium version. So it's a bit, you know, Boulder, I am Ivan is a bit bolder. Nine days and well, when you are setting phoned, tow this thing from the root settings. Dub Jason, you need to do it for every work spreads right, But well, let's do it a bit better by doing something like this, let's remove this and that's going to settings you know, to do, use their control plus coma, and then you type your phone right. And here you can just plays the fire code, Madam like this. And, well, if you have fire code Maginnes going abuse as the first phoned than counselors and corner new model space. And you can also enable the form ligatures here clicking on this and Now you can see it's working the same as we. As we we had used the settings here, I e I think that it's good idea toe, do it here. So you don't need toe. So you don't have too much things inside your setting. Stop, Jason. So that's the thing that we're gonna use since this last lecture. I really recommend using fire code or Cascadia. Code used. The wonder you prefer more designed a lesson. Thank you very much. 10. Icons theme: Hello my friends do. They were going to talk about the extension that, in my humble opinion increases there, readability off the workspace on the left side here. And this thing is called icon Team. So this thing changes how I can't looks like by default Invisibles to your coat. I highly recommend the material I called him or this one or this one we can I use in the course material icon team when I click on Install and I said, Hear the material icon team and probably you might have a pop up here. You can also click here, activate, then it's changed. As you can see, it's different now, and I think it's better because when we have a folder, we can open the folder when we have a workspace. As you can see, workspace has a different Um, I come here, and also the pipe on fire has a bit born visible. Easy to notice spot I can. These icons on the left side that have shown are off course, not all of them. There are lots, lots off, more off them, and if you are going to use different languages, if you cannot create a folder with specific items. Then the icons will show up here corresponding to the things that are inside the fire or the forger. And that's really, really also, it's easier to read on project at work space like this On the left side, it's easy to navigate using icons like that. I highly recommend trying this this or this when I click on install notice that I can change it toe, for example Normal. As you can see, this is also pretty or some. And if you want to change it back, you can go here. Set fire icon, team back on. We are back again to this. If you don't want to keep it, you can disable it or you can just install. Wait. Okay, just it's up to your world. You gonna tow? I'm gonna use in the future Material icon team during the lesson. Thank you very much. 11. Bracket Pair Colorizer - improving readability of your code: Hello today. I always show your extension that will improve readability of your cold. It will help you ever it making mistakes, White creating brackets Not is that when I click here, the brackets are highlight, right? So I can not. Is which one is which, when I click on it when the one when. Where is the closing out and where is the closing? However still, when I don't cricket it, I need to, you know, look here, then here, Toby. Sure that this is the close, the opening and this is the closing bracket. And to be honest with her more and more rockets, this is getting a bit hard to sport. Where is the pain in? Where is the closing bracket? So that's I will install something. Gold is called cola riser for brackets. As you can see, deary, there is bracket Pirkle riser too. And one will download the second version because he's the US one and I will install it now . Maltese that our brackets are colorized Age means they have no colors corresponding toe. The opening and closing bracket is you can see This is also cool that now when I click here , I have got this fink here on the left side. That tells me that entire code here is within. This bracket is also called right when I could kill Oh, I can see that days code is inside of it. And the cool thing is also that not is when I Greek here. Okay, so I am writing the credits now, right? I can instant receive this. I don't need to think about it and just say it because it tells me that it's here once more Not is that when I click here I have got here under scour like this. So I know that harks I'm in This parentis is right now, right? It's also useful when you have many poor entities After one another they will be colored And also you know in which one you are writing right now he's pretty Also it saves you lots of time and it allows you to make less mistakes. That's only the lesson. Thank you very much. 12. Python Preview - watching the code execution while writing it: Hello, my friend. Today we're going to talk about Python preview extension that allows you to look at the coat while you're white writing it not is that when the guy is writing here, something happens here. We're will analyze it. So first install it is already installed here. It's called Vital Preview. And when you go into your file with the coat and you click here on the open preview to their side, you will have a fight on Prevue on the right side. Let's close these manual. Let's minimise these menus so we have more space to look and let's do something like this so we can analyze. This is E Wait. So not is that on the left side? We have a coat on the right side. We have got a preview off this code. What does it mean? Well, we have got the last step off our code right now. We can see that in the global frame, which means in the where the global scope is, we have got the function that is called divide, and also we have got a variable X which already have a value 4.0, which is the result of this function, right? If we change something here like, for example, let's change XTO. For example, 20 you will not is that X is equal to 29 because because it is the last step that happened in our program. So things happened 9 15 Not Is that what it's cool about this thing is that you can back as you can see back to the start of your program and analyze it line by line. As you can see the red arrow here, it tells you about what will be executed. So So next line Toby executed is on radar. When I click forward, it will define the function to this called divide. And, as you can see in the globe, are framed the globe, our school, we have got function, the D school divide and here it tells you exactly what dysfunction parameters are. So it's a and B, right? Okay, so now we have God. Also wide are which tells you line that has just executed right that that line had just executed on one second ago, right? The step before and now we can see that the next line that are going that is going to be executed is here. We know that the first thing that is gonna be executed is the function, right? Because, well, way we need to find value for the x variable. So we gonna jump from here to here, Right? So when I click forward, you notice that through we've just jumped here and we jump there with the values 20 and five. When I click forward, we have assigned toe A and B 25 and then we have got a condition where we check if is equal to zero. So it's not true. Which means that it's just gonna be tracked and we're gonna jump to the next line. We just returned, which must return a value. But before it returns, anything we need toe count A divided by B which is far right. So when it'd forwardly notice it's 4.0. It tells you that the written value will be so soon returned and it would be equal to 4.0 when I click forward. You're not Is that we have created in the global scope right now. Taste here 4.0 for the X, and that's how it works, right? We have good x in X 4.0 Now and then we gonna check in the next step if X is through because we are using getting the conditional state Any value that is not equal to zero is true. So it's true and we gonna kick forward, which Ah, and it tells us that the next line is gonna print. The numbers were divided properly. The result is equal toe X, which is 4.0. Now when I look forward not is that the thing that we printed is here. So this is pretty awesome, right? Because you can analyze the past step what we did in our program. It's not only good for the bagging, but it also goat two spot errors. When you're writing your code, notice that when you do stuff like that Okay, let's bring something like this, and I are by mystical something like, Oh, I added Here and the shuttle court, right. We can see. Is that the hour I made an error, okay. And it's tells you that it happened here. Okay, everything works fine so we can see instantly the result here. So for small programs where there is no much data. This is pretty awesome. Notice that we can't use input here. Right? User input is not supported. That's very important, I think to notice. So it's only four programs where you know the data beforehand. Of course, you can take the data from five from databases, or you can just pull them manually here. I'm really enjoying this window prevail, because if I am not sure how computer jumps from instruction to instruction, I can just execute it. And I can instantly see where I made an arrow. This extension is also very useful. When you have nested loops, for example, right, It's hard to, you know, analyze each step. What happens with each value inside a low boot that is nested. And then you can just, you know, kick. Okay, so this happens. These captains. Okay, so then there's these days and you're analyzing it step by step. Like if you were a computer, to be honest, even without the preview window, you should analyse your cut the same like you do with the preview window here, right? Because that's how a computer works. Like right? He just analyzes everything step by step. He can't interpret anything on his own. He can say that. You know I will not execute this line just because I don't like you, right? He he will execute everything like it is instructed to dio. So this think helps you to see how computer things and it will improve your programming skills that sign that lesson. Thank you. 13. Python Quick Print: Hello, guys. Very often. When we calculate the result off, for example, Division, we want to print it on the terminal. However, in order to do it, we need toe type brain. Then we need to take the name of a rape. But we want to pray in. And then it would be good idea toe also do something like these because if we had more all these like, for example, like this, then it would be easier to for us to know which value is which. Right, However, wouldn't it be easier if I could just do something like this on that Better, don't you think I've just used a short cut? But this shortcut is only available if you download python quick print extension how you can change this shortcut? As you can see, in order to do it, you need to find bring vital selection in the keyboard Shortcut on. And here you can change the key banning youthful thing. I highly recommend this extension. That's only lesson. Thank you very much. 14. Code Spell Checker: Hello Today I will show you extension that will allow you toe check if your coat is correctly spelled. It is called Cold Spell Checker, and it works on the other programming languages also, So it's pretty cool. You can download men addiction there is like, for example, for friend Germany and so on. However, the most important want is for English and really, To be honest, you should always ride your code in English because if you want to ask, for example, a question on stock overflow dot com, then you need to change all the names of Arabia's functions. So one That's one of the reason. The second reason is that other people will understand your coat and you get used to also toe English, right? Maybe it's not a problem for you because he is your main language. But for others who are coming from countries like from mine, like from Poland, this is very important. I think toe no, not is that cold spell checker is telling you were are unknown words used when a Greek here I'm instantly going to the world that is, um, properly use. Like, for example, the vibe C should be divide, right? So when I could go on it, I can change it here and then here and then here. Or I can use a short cut have to. And now I can just die with here, and I change it in every place where the the vital not prepare is spelled waas in our coat . Pretty awesome, right? These shortcut the school because I can change in one place, toe propel, toe a proper name. Every variable not is that cold spell checker checks also your comments, As you can see here, I tied it wrongly too. So, like these, like this. And the most cool thing is that it can, uh, interpret the variable that has got more than one word inside of it. Right? And it noticed it not is that the second part was written incorrectly. Right? So we can just change the second part, and then it doesn't show us this worrying. Everybody should have this extension installed. Not only people who are from foreign countries. Also, if your native language is English, install it because this is something that we as people do frequently we make mistakes and IV you type your land like this. This is just looking unprofessional, right? Just insulate and you go not fix some problems with your spelling. That song. Good lesson. Thank you very much.