{"id":2183,"date":"2022-02-15T21:44:29","date_gmt":"2022-02-16T03:44:29","guid":{"rendered":"https:\/\/www.becomebetterprogrammer.com\/?p=2183"},"modified":"2022-04-25T09:32:49","modified_gmt":"2022-04-25T14:32:49","slug":"rust-recommended-vscode-extensions","status":"publish","type":"post","link":"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/rust-recommended-vscode-extensions\/","title":{"rendered":"Rust: Recommended VSCode Extensions to Setup Your IDE"},"content":{"rendered":"\n<p>Whether it is your first time learning a programming language, or you are trying to expand your skillset, Rust is a low-level programming language with plenty of benefits such as providing fast and high performance, making concurrent programming easier, facilitating maintainability with Rust&#8217;s static typing, among many others. <\/p>\n\n\n\n<p>After learning the benefits of Rust, developers coming from different programming languages such as C#, JavaScript, TypeScript, etc, who want to learn Rust might find some complexity in adapting to the Rust syntaxes. To help this adaptation process, it is important to adjust your development setup to make the transition to Rust smoother, especially for those who use VS Code as their IDE of choice. In this article, I&#8217;m going to share some VS Code extensions that you should consider trying if you are new to Rust.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/rust-recommended-vscode-extensions\/#Rust-analyzer\" >Rust-analyzer<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/rust-recommended-vscode-extensions\/#Better_TOML\" >Better TOML<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/rust-recommended-vscode-extensions\/#CodeLLDB\" >CodeLLDB<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/rust-recommended-vscode-extensions\/#Crates\" >Crates<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/rust-recommended-vscode-extensions\/#Error_Lens\" >Error Lens<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/rust-recommended-vscode-extensions\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\" id=\"rust-analyzer\"><span class=\"ez-toc-section\" id=\"Rust-analyzer\"><\/span>Rust-analyzer<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Most likely, when you start getting your feet wet on Rust, the first thing you might do is to quickly search extensions using the word &#8220;Rust&#8221; so your VS Code can support it. The first result you probably came across with Rust official extension. While the initial experience was overall good, I quickly came across one issue with the official extension: Not able to go to definition.<\/p>\n\n\n\n<p>This was disappointing especially when trying to dig in the code and wanting to learn the definition of macros and attributes in Rust. Fortunately, <strong>there is another extension called rust-<a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=matklad.rust-analyzer\" target=\"_blank\" rel=\"noreferrer noopener\">analyzer<\/a> which among many other features, it allows to go to definition<\/strong>, a feature I expected to work out of the box with the official extension, but didn&#8217;t.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.becomebetterprogrammer.com\/wp-content\/uploads\/2022\/02\/Rust-analyzer-VS-Code-extension.png\" alt=\"\" class=\"wp-image-2199\" width=\"575\" height=\"249\" title=\"Rust-analyzer VS Code extension\" srcset=\"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/Rust-analyzer-VS-Code-extension.png 576w, https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/Rust-analyzer-VS-Code-extension-300x130.png 300w\" sizes=\"auto, (max-width: 575px) 100vw, 575px\" \/><figcaption>Rust-analyzer VS Code extension<\/figcaption><\/figure><\/div>\n\n\n\n<p><strong>Using rust-analyzer may cause conflicts with the official Rust extension. Hence, if you initially installed the official extension, it is recommended to disable it when using rust-analyzer.<\/strong><\/p>\n\n\n\n<p>Rust-analyzer offers features such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Auto Imports<\/li><li>Code Completion<\/li><li>Go to Definition<\/li><li>Go to Implementation<\/li><li>Semantic syntax highlighting<\/li><li>Types and Documentation on hover<\/li><\/ul>\n\n\n\n<p>And many more features, which <a href=\"https:\/\/rust-analyzer.github.io\/manual.html#features\" target=\"_blank\" rel=\"noreferrer noopener\">you can find in their manual<\/a> covering most of the official extension&#8217;s features<\/p>\n\n\n\n<p>At the moment of this writing, the official programming language has more downloads than rust-analyzer.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.becomebetterprogrammer.com\/wp-content\/uploads\/2022\/02\/Rust-official-extension-in-VS-Code-has-more-downloads.png\" alt=\"\" class=\"wp-image-2200\" width=\"481\" height=\"57\" title=\"Rust official extension in VS Code has more downloads\" srcset=\"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/Rust-official-extension-in-VS-Code-has-more-downloads.png 481w, https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/Rust-official-extension-in-VS-Code-has-more-downloads-300x36.png 300w\" sizes=\"auto, (max-width: 481px) 100vw, 481px\" \/><figcaption>Rust official extension in VS Code has more downloads<\/figcaption><\/figure><\/div>\n\n\n\n<p>However, rust-analyzer has better ratings and better <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=matklad.rust-analyzer&amp;ssr=false#review-details\" target=\"_blank\" rel=\"noopener\">reviews<\/a> which speaks itself in case you are not sure of trying it out.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"322\" height=\"59\" src=\"https:\/\/www.becomebetterprogrammer.com\/wp-content\/uploads\/2022\/02\/Rust-analyzer-in-VS-Code-has-better-reviews.png\" alt=\"\" class=\"wp-image-2201\" title=\"Rust-analyzer in VS Code has better reviews\" srcset=\"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/Rust-analyzer-in-VS-Code-has-better-reviews.png 322w, https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/Rust-analyzer-in-VS-Code-has-better-reviews-300x55.png 300w\" sizes=\"auto, (max-width: 322px) 100vw, 322px\" \/><figcaption>Rust-analyzer in VS Code has better reviews<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"better-toml\"><span class=\"ez-toc-section\" id=\"Better_TOML\"><\/span>Better TOML<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>If you are coming from JavaScript or TypeScript, most likely you are familiarized with a package.json file. Cargo.toml files are the package.json files in the world of Rust. <\/p>\n\n\n\n<p>In case you don&#8217;t know, Cargo is Rust\u2019s build system and package manager. This allows developers to download dependencies, build your code, version libraries, set package specifications, and <a href=\"https:\/\/doc.rust-lang.org\/cargo\/reference\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\">much more<\/a>.<\/p>\n\n\n\n<p>Unfortunately, VS Code doesn&#8217;t support .toml files. Hence, whenever you open a .toml file such as Cargo.toml, you will see all text in the same color.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.becomebetterprogrammer.com\/wp-content\/uploads\/2022\/02\/VS-Code-not-showing-syntax-highlighting-on-.toml-files.png\" alt=\"\" class=\"wp-image-2202\" width=\"819\" height=\"266\" title=\"VS Code not showing syntax highlighting on .toml files\" srcset=\"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/VS-Code-not-showing-syntax-highlighting-on-.toml-files.png 879w, https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/VS-Code-not-showing-syntax-highlighting-on-.toml-files-300x98.png 300w, https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/VS-Code-not-showing-syntax-highlighting-on-.toml-files-768x250.png 768w\" sizes=\"auto, (max-width: 819px) 100vw, 819px\" \/><figcaption>VS Code not showing syntax highlighting on .toml files<\/figcaption><\/figure><\/div>\n\n\n\n<p>To solve this problem, install <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=bungcip.better-toml\" target=\"_blank\" rel=\"noreferrer noopener\">Better TOML<\/a> VS Code extension.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"511\" height=\"183\" src=\"https:\/\/www.becomebetterprogrammer.com\/wp-content\/uploads\/2022\/02\/Better-TOML-VS-Code-extension.png\" alt=\"\" class=\"wp-image-2204\" title=\"Better TOML VS Code extension\" srcset=\"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/Better-TOML-VS-Code-extension.png 511w, https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/Better-TOML-VS-Code-extension-300x107.png 300w\" sizes=\"auto, (max-width: 511px) 100vw, 511px\" \/><figcaption>Better TOML VS Code extension<\/figcaption><\/figure><\/div>\n\n\n\n<p>Now, if you go back and check your .toml files, you will have syntax highlighting.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"839\" height=\"259\" src=\"https:\/\/www.becomebetterprogrammer.com\/wp-content\/uploads\/2022\/02\/Syntax-highlighting-of-.toml-files-after-installing-Better-TOML-VS-Code-extension.png\" alt=\"\" class=\"wp-image-2203\" title=\"Syntax highlighting of .toml files after installing Better TOML VS Code extension\" srcset=\"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/Syntax-highlighting-of-.toml-files-after-installing-Better-TOML-VS-Code-extension.png 839w, https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/Syntax-highlighting-of-.toml-files-after-installing-Better-TOML-VS-Code-extension-300x93.png 300w, https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/Syntax-highlighting-of-.toml-files-after-installing-Better-TOML-VS-Code-extension-768x237.png 768w\" sizes=\"auto, (max-width: 839px) 100vw, 839px\" \/><figcaption>Syntax highlighting of .toml files after installing Better TOML VS Code extension<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"codelldb\"><span class=\"ez-toc-section\" id=\"CodeLLDB\"><\/span>CodeLLDB<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>One of the first things I typically do after trying a new programming language is to setup my IDE to enable debugging. While you can log messages using <code>console.log<\/code> for JavaScript developers, or using the <code>printl<\/code> macro for Rust developers, it is simply not the best way to debug your code.<\/p>\n\n\n\n<p>To debug Rust code, install <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=vadimcn.vscode-lldb\" target=\"_blank\" rel=\"noreferrer noopener\">CodeLLDB<\/a> VS Code extension.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"733\" height=\"181\" src=\"https:\/\/www.becomebetterprogrammer.com\/wp-content\/uploads\/2022\/02\/CodeLLDB-VS-Code-extension.png\" alt=\"\" class=\"wp-image-2208\" title=\"CodeLLDB VS Code extension\" srcset=\"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/CodeLLDB-VS-Code-extension.png 733w, https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/CodeLLDB-VS-Code-extension-300x74.png 300w\" sizes=\"auto, (max-width: 733px) 100vw, 733px\" \/><figcaption>CodeLLDB VS Code extension<\/figcaption><\/figure><\/div>\n\n\n\n<p> CodeLLDB offers among typical debugging features, the following options such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Conditional breakpoints, function breakpoints, logpoints<\/li><li>Hardware data access breakpoints (watchpoints)<\/li><li>Launch debuggee in integrated or external terminal<\/li><li>Disassembly view with instruction-level stepping<\/li><li>Workspace-level defaults for launch configurations<\/li><li>Remote debugging<\/li><\/ul>\n\n\n\n<p>Feel free to <a href=\"https:\/\/github.com\/vadimcn\/vscode-lldb\/blob\/v1.6.10\/MANUAL.md#debugger-features\" target=\"_blank\" rel=\"noreferrer noopener\">check out their manual<\/a> for more information about the features.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"crates\"><span class=\"ez-toc-section\" id=\"Crates\"><\/span>Crates<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>As previously mentioned, Cargo is the package manager of Rust and you can check the dependencies of a library inside the Cargo.toml file. However, there is a common problem not just in Rust, but in several programming languages: detecting outdated packages. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.becomebetterprogrammer.com\/wp-content\/uploads\/2022\/02\/Cargo.toml-not-showing-newer-versions-of-dependencies.png\" alt=\"\" class=\"wp-image-2207\" width=\"440\" height=\"201\" title=\"Cargo.toml not showing newer versions of dependencies\"\/><figcaption>Cargo.toml not showing newer versions of dependencies<\/figcaption><\/figure><\/div>\n\n\n\n<p>Sometimes it is ok to have outdated dependencies. However, whenever there are vulnerabilities from those dependencies, it is always good to know when a new version is released that often fixes the problms.<\/p>\n\n\n\n<p>To help detect outdated dependencies, it is recommended to install <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=serayuzgur.crates\" target=\"_blank\" rel=\"noreferrer noopener\">crates<\/a> VS Code extension.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.becomebetterprogrammer.com\/wp-content\/uploads\/2022\/02\/Crates-VS-Code-extension.png\" alt=\"\" class=\"wp-image-2206\" width=\"819\" height=\"166\" title=\"Crates VS Code extension\" srcset=\"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/Crates-VS-Code-extension.png 877w, https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/Crates-VS-Code-extension-300x61.png 300w, https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/Crates-VS-Code-extension-768x156.png 768w\" sizes=\"auto, (max-width: 819px) 100vw, 819px\" \/><figcaption>Crates VS Code extension<\/figcaption><\/figure><\/div>\n\n\n\n<p>This will show all the versions of the dependencies shown in the Cargo.toml file whenever you hover over the version of each dependency. Also, it will show with a checkmark or an x icon whether you have the latest version of the package.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"533\" height=\"396\" src=\"https:\/\/www.becomebetterprogrammer.com\/wp-content\/uploads\/2022\/02\/After-using-Crates-VS-Code-extension.png\" alt=\"\" class=\"wp-image-2205\" srcset=\"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/After-using-Crates-VS-Code-extension.png 533w, https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/After-using-Crates-VS-Code-extension-300x223.png 300w\" sizes=\"auto, (max-width: 533px) 100vw, 533px\" \/><figcaption>After using Crates VS Code extension<\/figcaption><\/figure><\/div>\n\n\n\n<p>Crates also has an option to update all dependencies in the Cargo.toml file. <\/p>\n\n\n\n<p><strong>Note<\/strong>: At the moment of writing this article, crates only works with dependencies from crates.io. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"error-lens\"><span class=\"ez-toc-section\" id=\"Error_Lens\"><\/span>Error Lens<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Working with new programming languages can be frustrating whenever there are errors that can not be easily detected. <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=usernamehw.errorlens\" target=\"_blank\" rel=\"noopener\">Error Lens<\/a> VS Code extension is an excellent tool that helps you highlight errors, warnings and show other kinds of language diagnostics as soon as you make a change in the code.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"654\" height=\"181\" src=\"https:\/\/www.becomebetterprogrammer.com\/wp-content\/uploads\/2022\/02\/Error-Lens-VS-Code-extension.png\" alt=\"\" class=\"wp-image-2210\" title=\"Error Lens VS Code extension\" srcset=\"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/Error-Lens-VS-Code-extension.png 654w, https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/Error-Lens-VS-Code-extension-300x83.png 300w\" sizes=\"auto, (max-width: 654px) 100vw, 654px\" \/><figcaption>Error Lens VS Code extension<\/figcaption><\/figure><\/div>\n\n\n\n<p>To show you the kind of highlighting we are talking about when using Error Lens, look at the following image of a snippet of code in VS Code. Notice how I have an error in line 14, as I cannot use <code>&amp;<\/code> when defining a struct.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"414\" height=\"456\" src=\"https:\/\/www.becomebetterprogrammer.com\/wp-content\/uploads\/2022\/02\/No-highlight-to-show-error-in-struct-Test2.png\" alt=\"\" class=\"wp-image-2211\" title=\"No highlight to show error in struct Test2\" srcset=\"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/No-highlight-to-show-error-in-struct-Test2.png 414w, https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/No-highlight-to-show-error-in-struct-Test2-272x300.png 272w\" sizes=\"auto, (max-width: 414px) 100vw, 414px\" \/><figcaption>No highlight to show error in struct Test2<\/figcaption><\/figure><\/div>\n\n\n\n<p>Now, look at the highlighted error shown when using Error Lens.  <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"726\" height=\"424\" src=\"https:\/\/www.becomebetterprogrammer.com\/wp-content\/uploads\/2022\/02\/highlighted-error-shown-in-struct-Test2-when-using-Error-Lens.png\" alt=\"\" class=\"wp-image-2212\" title=\"Highlighted error shown in struct Test2 when using Error Lens\" srcset=\"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/highlighted-error-shown-in-struct-Test2-when-using-Error-Lens.png 726w, https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-content\/uploads\/2022\/02\/highlighted-error-shown-in-struct-Test2-when-using-Error-Lens-300x175.png 300w\" sizes=\"auto, (max-width: 726px) 100vw, 726px\" \/><figcaption>Highlighted error is shown in struct Test2 when using Error Lens<\/figcaption><\/figure><\/div>\n\n\n\n<p>It is very noticeable, and it will almost certainly catch your attention to fix the error right away.<\/p>\n\n\n\n<p>If you are the kind of developer who doesn&#8217;t like to have too many highlights on the screen, using Error Lens might not be the best option for you. However, I consider it an invaluable help for programming learning new programming languages who want to worry more about getting the code to work, rather than figuring out what is wrong with syntax errors often caused by the unfamiliarity of the programming language.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"conclusion\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Learning a low-level programming language such as Rust can be complex in itself. However, there are many tools available to make the learning process much smoother. Those who enjoy using Visual Studio Code as their IDE of choice can install extensions such as rust-analyzer, Better TOML, CodeLLDB, Crates, and Error Lens to not only setup their Rust local development, but also facilitate learning Rust.<\/p>\n\n\n\n<p><strong>Did you like this article?<\/strong><\/p>\n\n\n\n<p>Share your thoughts by replying on Twitter of <a href=\"https:\/\/twitter.com\/bbprogrammer\" target=\"_blank\" rel=\"noreferrer noopener\">Become A Better Programmer <\/a>or to <a href=\"https:\/\/twitter.com\/arealesramirez\" target=\"_blank\" rel=\"noreferrer noopener\">personal my Twitter account<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-embed aligncenter is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"twitter-tweet\" data-width=\"550\" data-dnt=\"true\"><p lang=\"en\" dir=\"ltr\">Learning a new <a href=\"https:\/\/twitter.com\/hashtag\/programming?src=hash&amp;ref_src=twsrc%5Etfw\" target=\"_blank\" rel=\"noopener\">#programming<\/a> language means setting up your local development accordingly<br><br>If you are learning <a href=\"https:\/\/twitter.com\/hashtag\/rust?src=hash&amp;ref_src=twsrc%5Etfw\" target=\"_blank\" rel=\"noopener\">#rust<\/a> and use <a href=\"https:\/\/twitter.com\/hashtag\/vscode?src=hash&amp;ref_src=twsrc%5Etfw\" target=\"_blank\" rel=\"noopener\">#vscode<\/a>, you should checkout these extensions<br>&#8211; rust-analyzer<br>&#8211; Better TOML<br>&#8211; CodeLLDB<br>&#8211; Crates<br>&#8211; Error Lens<br><br>Did we miss anything?<a href=\"https:\/\/t.co\/qGBO7QsiP6\">https:\/\/t.co\/qGBO7QsiP6<\/a><\/p>&mdash; Become A Better Programmer (@bbprogrammer) <a href=\"https:\/\/twitter.com\/bbprogrammer\/status\/1493794142555676675?ref_src=twsrc%5Etfw\" target=\"_blank\" rel=\"noopener\">February 16, 2022<\/a><\/blockquote><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>In this article, we share a list of VS Code extensions that will help not only to set up your local development for Rust but also facilitate learning Rust.<\/p>\n","protected":false},"author":1,"featured_media":2216,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[31],"tags":[],"class_list":["post-2183","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-rust","generate-columns","tablet-grid-50","mobile-grid-100","grid-parent","grid-50"],"_links":{"self":[{"href":"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-json\/wp\/v2\/posts\/2183","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-json\/wp\/v2\/comments?post=2183"}],"version-history":[{"count":4,"href":"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-json\/wp\/v2\/posts\/2183\/revisions"}],"predecessor-version":[{"id":2454,"href":"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-json\/wp\/v2\/posts\/2183\/revisions\/2454"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-json\/wp\/v2\/media\/2216"}],"wp:attachment":[{"href":"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-json\/wp\/v2\/media?parent=2183"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-json\/wp\/v2\/categories?post=2183"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.becomebetterprogrammer.com\/staging\/4563\/wp-json\/wp\/v2\/tags?post=2183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}