{"id":9692,"date":"2022-03-07T13:09:58","date_gmt":"2022-03-07T21:09:58","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/?p=9692"},"modified":"2022-05-25T10:33:36","modified_gmt":"2022-05-25T17:33:36","slug":"debugging-microsoft-teams-app-locally-with-teams-toolkit","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/debugging-microsoft-teams-app-locally-with-teams-toolkit\/","title":{"rendered":"Debugging Microsoft Teams app locally with Teams Toolkit"},"content":{"rendered":"<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/developing-enterprise-ready-microsoft-teams-apps-with-teams-toolkit-v3-0\/\" target=\"_blank\" rel=\"noopener\">In the previous post<\/a>, I introduced some of the new features in Microsoft Teams Toolkit v3 to empower enterprise Teams developers. In this article, I will show you the improved local debug experience in the Toolkit and new features introduced in version 3.4.<\/p>\n<p>First, you need to install the Teams Toolkit extension in Visual Studio Code or update it to the latest version if you already have it. And if this is the first time interacting with Teams Toolkit, I recommend going through the step-by-step tutorial, <a href=\"https:\/\/docs.microsoft.com\/microsoftteams\/platform\/get-started\/get-started-overview\/?WT.mc_id=m365-58952-timura\"><strong>Get started<\/strong><\/a>\u00a0with JavaScript on Microsoft Teams developer platform documentation first.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/Teams-toolkit-v3.4-debug.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-9713\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/Teams-toolkit-v3.4-debug.png\" alt=\"Image Teams toolkit v3 4 debug\" width=\"1080\" height=\"504\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/Teams-toolkit-v3.4-debug.png 1080w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/Teams-toolkit-v3.4-debug-300x140.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/Teams-toolkit-v3.4-debug-1024x478.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/Teams-toolkit-v3.4-debug-768x358.png 768w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2>\u2328\ufe0fDebugging with &#8220;F5&#8221;<\/h2>\n<p>Debugging, casually referred to as\u00a0<em>F5<\/em>\u00a0(function key) among developers, is one of the key features of\u00a0<a href=\"https:\/\/code.visualstudio.com\/docs\/editor\/debugging\/?WT.mc_id=m365-58952-timura\">Visual Studio Code<\/a>, and this built-in debugger helps accelerate your edit, compile, and debug loop.\u00a0Teams Toolkit uses the VS Code feature to let you run your app in Teams client and debug it during the development.<\/p>\n<p>To enable local debugging in Teams Toolkit, first,\u00a0<em>make sure you are logged in with your M365 account<\/em>\u00a0under the\u00a0<strong>Accounts<\/strong>\u00a0section in Toolkit. Then:<\/p>\n<ol>\n<li>On VS Code, go to the\u00a0<strong>Run and Debug<\/strong>\u00a0view in the Activity Bar<\/li>\n<li>Select either\u00a0<strong>Debug (Chrome)<\/strong>\u00a0or\u00a0<strong>Debug (Edge)<\/strong>\u00a0from the dropdown menu on the debug button and click the \u25b6\ufe0f (Start) icon<\/li>\n<\/ol>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5.png\"><img decoding=\"async\" class=\"aligncenter wp-image-9698\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5.png\" alt=\"Image toolkit f5\" width=\"1079\" height=\"567\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5.png 2048w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5-300x158.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5-1024x538.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5-768x404.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5-1536x807.png 1536w\" sizes=\"(max-width: 1079px) 100vw, 1079px\" \/><\/a><\/p>\n<p>Alternatively, you can just press\u00a0<strong>F5<\/strong>\u00a0function key on your keyboard.<\/p>\n<p>Toolkit will launch Teams client in a new Chrome or Edge browser, where you can add your app.<\/p>\n<blockquote><p>\u26a0\ufe0f If this is the first time with Teams Toolkit, you will be prompted to confirm to add an SSL certificate. Please agree to continue.\nSince Teams requires https Tab hosting endpoint, a localhost development certificate will be automatically generated and installed to your system after your confirmation.<\/p><\/blockquote>\n<h2><a href=\"https:\/\/dev.to\/azure\/debugging-teams-app-locally-with-teams-toolkit-2b67#using-breakpoints\" name=\"using-breakpoints\"><\/a>\ud83d\udccd Using Breakpoints<\/h2>\n<p><a href=\"https:\/\/code.visualstudio.com\/docs\/editor\/debugging#_breakpoints\">Breakpoints in VS Code<\/a> is also available in the Toolkit to debug your code for tab, bot, message extension, and Azure Functions. You can toggle the breakpoints while your app is running on Teams client on browser.<\/p>\n<p>Click the left margin next to the line you wish to stop so the breakpoint will appear as a red dot \ud83d\udd34. Then run the code (F5).<\/p>\n<p>Your code will pause before the marked execution.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-breakpoints.png\"><img decoding=\"async\" class=\"aligncenter wp-image-9696\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-breakpoints.png\" alt=\"Image toolkit breakpoints\" width=\"1080\" height=\"718\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-breakpoints.png 2048w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-breakpoints-300x200.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-breakpoints-1024x681.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-breakpoints-768x511.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-breakpoints-1536x1022.png 1536w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a><\/p>\n<p>Once a debug session starts, the Debug toolbar will appear on the top of the editor:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-debug-actions.png\"><img decoding=\"async\" class=\"aligncenter wp-image-9697\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-debug-actions.png\" alt=\"Image toolkit debug actions\" width=\"1079\" height=\"94\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-debug-actions.png 712w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-debug-actions-300x26.png 300w\" sizes=\"(max-width: 1079px) 100vw, 1079px\" \/><\/a><\/p>\n<ul>\n<li>Continue \/ Pause\u00a0<code>F5<\/code><\/li>\n<li>Step Over\u00a0<code>F10<\/code><\/li>\n<li>Step Into\u00a0<code>F11<\/code><\/li>\n<li>Step Out\u00a0<code>\u21e7F11<\/code><\/li>\n<li>Restart\u00a0<code>\u21e7\u2318F5<\/code><\/li>\n<li>Stop\u00a0<code>\u21e7F5<\/code><\/li>\n<li>Multi-target debug<\/li>\n<\/ul>\n<p>The last action in a dropdown menu is for selecting a\u00a0<a href=\"https:\/\/code.visualstudio.com\/docs\/editor\/debugging#_multitarget-debugging\/?WT.mc_id=m365-58952-timura\">multi-target debugging<\/a>. In Teams Toolkit, selecting &#8220;Attach to Frontend&#8221; (for tabs) or &#8220;Attach to Bot&#8221; (for bots and messaging extension) will trigger a Node.js debugger, as well as Edge or Chrome debugger to launch a new browser instance and open a web page to load Teams client. &#8220;Attach to Backend&#8221; will start a Node.js debugger to attach to the Azure functions source code.<\/p>\n<p>Also note that\u00a0<strong>Hot reload<\/strong> is enabled in the Toolkit so you can just update your code and save the changes, then your app will automatically reload and re-attach the debugger.<\/p>\n<p>To end the debugging, disconnect in the floating toolbar. Once the session is terminated, it is safe to run again.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5-disconnect.png\"><img decoding=\"async\" class=\"aligncenter wp-image-9701\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5-disconnect.png\" alt=\"Image toolkit f5 disconnect\" width=\"1082\" height=\"233\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5-disconnect.png 2048w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5-disconnect-300x65.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5-disconnect-1024x221.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5-disconnect-768x165.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5-disconnect-1536x331.png 1536w\" sizes=\"(max-width: 1082px) 100vw, 1082px\" \/><\/a><\/p>\n<hr \/>\n<h2><a href=\"https:\/\/dev.to\/azure\/debugging-teams-app-locally-with-teams-toolkit-2b67#whats-new-with-local-debug-experience-in-toolkit-v34\" name=\"whats-new-with-local-debug-experience-in-toolkit-v34\"><\/a>\ud83d\udc1e What&#8217;s New with Local Debug Experience in Toolkit v3.4?<\/h2>\n<p>There are a few new features that have been added in the latest Toolkit to improve your local debugging experience.<\/p>\n<h2><a href=\"https:\/\/dev.to\/azure\/debugging-teams-app-locally-with-teams-toolkit-2b67#prerequisite-checker\" name=\"prerequisite-checker\"><\/a>\u2705 Prerequisite Checker<\/h2>\n<p>In case you wonder, when you press the F5 key, the Teams Toolkit does:<\/p>\n<ul>\n<li>Register your app with Azure Active Directory<\/li>\n<li>Start app services for both backend and frontend<\/li>\n<li>Start Microsoft Teams in a web browser with a command to instruct Teams to sideload the app from\u00a0<code>localhost<\/code><\/li>\n<li>Create an app manifest and register the app in\u00a0<a href=\"https:\/\/dev.teams.microsoft.com\/home\">Teams Developer Portal<\/a><\/li>\n<\/ul>\n<p>These processes require specific versions of Node.js, packages, various tools, also M365 credentials.<\/p>\n<p>Now in Toolkit v3.4, it checks all the requirements and lists up and displays in Output channel:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5-checker.png\"><img decoding=\"async\" class=\"aligncenter wp-image-9700\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5-checker.png\" alt=\"Image toolkit f5 checker\" width=\"1080\" height=\"718\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5-checker.png 2048w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5-checker-300x200.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5-checker-1024x681.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5-checker-768x511.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-f5-checker-1536x1022.png 1536w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a><\/p>\n<p>This gives you more transparency and clear ideas about what is going on and easier to figure out when something goes wrong.<\/p>\n<h2><a href=\"https:\/\/dev.to\/azure\/debugging-teams-app-locally-with-teams-toolkit-2b67#customizing-local-debug-settings\" name=\"customizing-local-debug-settings\"><\/a>\u2699\ufe0f Customizing Local Debug Settings<\/h2>\n<p>Another new feature is that now Toolkit allows you to customize the debug settings. This gives you control over your debugging experience.<\/p>\n<h3><a href=\"https:\/\/dev.to\/azure\/debugging-teams-app-locally-with-teams-toolkit-2b67#skipping-prerequisites\" name=\"skipping-prerequisites\"><\/a>Skipping Prerequisites<\/h3>\n<p>You can skip some of the prerequisites in VS Code Settings:<\/p>\n<ol>\n<li>Go to Settings<\/li>\n<li>Find\u00a0<strong>Extensions<\/strong>\u00a0in the list and expand it<\/li>\n<li>Find\u00a0<strong>Teams Toolkit (Preview)<\/strong>\u00a0and click\u00a0<strong>Prerequisite Check<\/strong><\/li>\n<\/ol>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-settings.png\"><img decoding=\"async\" class=\"aligncenter wp-image-9702\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-settings.png\" alt=\"Image toolkit settings\" width=\"1080\" height=\"738\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-settings.png 2050w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-settings-300x205.png 300w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-settings-1024x699.png 1024w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-settings-768x524.png 768w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-settings-1536x1049.png 1536w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2022\/03\/toolkit-settings-2048x1399.png 2048w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a><\/p>\n<p>Now you have the checkboxes so you can uncheck the items you would like to skip.<\/p>\n<h3><a href=\"https:\/\/dev.to\/azure\/debugging-teams-app-locally-with-teams-toolkit-2b67#using-your-own-bot-endpoint\" name=\"using-your-own-bot-endpoint\"><\/a>Using Your Own Bot Endpoint<\/h3>\n<p>Teams Toolkit uses the 3rd party tool called,\u00a0<strong>ngrok<\/strong>\u00a0to tunnels your localhost to the internet to run bots. If you wish to use your own bot endpoint,<\/p>\n<ol>\n<li>At Prerequisites Check in VS Code Settings,\u00a0<strong>uncheck<\/strong>\u00a0&#8220;Ensure Ngrok is installed and started. (ngrok)&#8221;<\/li>\n<li>Set\u00a0<code>botDomain<\/code>\u00a0and\u00a0<code>botEndpoint<\/code>\u00a0configuration in\u00a0<code>.fx\/configs\/localSettings.json<\/code>\u00a0to your own domain and endpoint<\/li>\n<\/ol>\n<h3><a href=\"https:\/\/dev.to\/azure\/debugging-teams-app-locally-with-teams-toolkit-2b67#using-your-own-development-certificate\" name=\"using-your-own-development-certificate\"><\/a>Using Your Own Development Certificate<\/h3>\n<p>Similarly, you can use your own development certificate,<\/p>\n<ol>\n<li>At Prerequisites Check in VS Code Settings,\u00a0<strong>uncheck<\/strong>\u00a0&#8220;Ensure development certificate is trusted. (devCert)&#8221;.<\/li>\n<li>Set\u00a0<code>sslCertFile<\/code>\u00a0and\u00a0<code>sslKeyFile<\/code>\u00a0configuration in\u00a0<code>.fx\/configs\/localSettings.json<\/code>\u00a0to your own certificate file path and key file path.<\/li>\n<\/ol>\n<p>You can learn more about the certificate in\u00a0<a href=\"https:\/\/github.com\/OfficeDev\/TeamsFx\/blob\/dev\/docs\/fx-core\/localdebug-help.md#what-to-do-if-i-do-not-want-to-install-the-development-certificate\">TeamsFx documentation<\/a>\u00a0on GitHub.<\/p>\n<h2><a href=\"https:\/\/dev.to\/azure\/debugging-teams-app-locally-with-teams-toolkit-2b67#manual-customizations\" name=\"manual-customizations\"><\/a>\ud83d\udd27 Manual Customizations<\/h2>\n<p>You can also customize your local debug settings manually with editing configuration files.<\/p>\n<h3><a href=\"https:\/\/dev.to\/azure\/debugging-teams-app-locally-with-teams-toolkit-2b67#using-your-own-start-scripts\" name=\"using-your-own-start-scripts\"><\/a>Using Your Own Start Scripts<\/h3>\n<p><em>For tab:<\/em><\/p>\n<ol>\n<li>Update\u00a0<code>dev:teamsfx<\/code>\u00a0script in\u00a0<code>tabs\/package.json<\/code>.<\/li>\n<\/ol>\n<p><em>For bot or messaging extension:<\/em><\/p>\n<ol>\n<li>Update\u00a0<code>dev:teamsfx<\/code>\u00a0script in\u00a0<code>bot\/package.json<\/code>.<\/li>\n<\/ol>\n<p><em>For Azure functions:<\/em><\/p>\n<ol>\n<li>Update\u00a0<code>dev:teamsfx<\/code>\u00a0script in\u00a0<code>api\/package.json<\/code>. In addition for TypeScript, update\u00a0<code>watch:teamsfx<\/code>\u00a0script.<\/li>\n<\/ol>\n<blockquote><p>\u26a0\ufe0f The ports required by tab app, bot app, messaging extension app and Azure functions are not supported to be customized currently<\/p><\/blockquote>\n<h3><a href=\"https:\/\/dev.to\/azure\/debugging-teams-app-locally-with-teams-toolkit-2b67#adding-environmental-variables\" name=\"adding-environmental-variables\"><\/a>Adding Environmental Variables<\/h3>\n<p>You can add environment variables to\u00a0<code>.env.teamsfx.local<\/code>\u00a0file for tab, bot, messaging extension and Azure functions.<\/p>\n<p>Teams Toolkit will load the environment variables you added to start services during local debug.<\/p>\n<blockquote><p>\u26a0\ufe0f The environment variables are not supported to hot reload. You need to start a new local debug after adding new environment variables.<\/p><\/blockquote>\n<h3><a href=\"https:\/\/dev.to\/azure\/debugging-teams-app-locally-with-teams-toolkit-2b67#debugging-partial-component\" name=\"debugging-partial-component\"><\/a>Debugging Partial Component<\/h3>\n<p>Teams Toolkit utilizes VS Code multi-target debugging to debug tab, bot, messaging extension and Azure functions at the same time.<\/p>\n<p>You can updates\u00a0<code>.vscode\/launch.json<\/code>\u00a0and\u00a0<code>.vscode\/tasks.json<\/code>\u00a0to debug partial component. Let&#8217;s say, you want to debug tab only in an app with tab and bot capabilities with Azure functions project, you can take the following steps:<\/p>\n<ol>\n<li>Comment out these lines in\u00a0<code>.vscode\/launch.json<\/code>:<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"p\">{<\/span> \r\n  <span class=\"nl\">\"name\"<\/span><span class=\"p\">:<\/span> <span class=\"s2\">\"Debug (Edge)\"<\/span><span class=\"p\">,<\/span> \r\n  <span class=\"nl\">\"configurations\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span> \r\n    <span class=\"s2\">\"Attach to Frontend (Edge)\"<\/span><span class=\"p\">,<\/span> \r\n    <span class=\"err\">\/\/<\/span> <span class=\"s2\">\"Attach to Bot\"<\/span><span class=\"p\">,<\/span> \r\n    <span class=\"err\">\/\/<\/span> <span class=\"s2\">\"Attach to Backend\"<\/span> \r\n  <span class=\"p\">],<\/span> \r\n  <span class=\"err\">...<\/span>\r\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\"><\/div>\n<\/div>\n<\/div>\n<ol>\n<li>Comment out these lines in\u00a0<code>.vscode\/tasks.json<\/code>:<\/li>\n<\/ol>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight json\"><code><span class=\"p\">{<\/span> \r\n  <span class=\"nl\">\"label\"<\/span><span class=\"p\">:<\/span> <span class=\"s2\">\"Start All\"<\/span><span class=\"p\">,<\/span> \r\n  <span class=\"nl\">\"dependsOn\"<\/span><span class=\"p\">:<\/span> <span class=\"p\">[<\/span> \r\n    <span class=\"s2\">\"Start Frontend\"<\/span><span class=\"p\">,<\/span> \r\n    <span class=\"err\">\/\/<\/span> <span class=\"s2\">\"Start Backend\"<\/span><span class=\"p\">,<\/span> \r\n    <span class=\"err\">\/\/<\/span> <span class=\"s2\">\"Start Bot\"<\/span> \r\n  <span class=\"p\">]<\/span> \r\n<span class=\"p\">}<\/span><span class=\"err\">,<\/span>\r\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\"><\/div>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>I hope you found the article helpful for debugging your Teams apps and the new features give you more confidence debugging your Teams app development!<\/p>\n<p>Please don&#8217;t hesitate to drop your comments and feedback here.<\/p>\n<p>See you until the next post \ud83d\udc4b<\/p>\n<h2><a href=\"https:\/\/dev.to\/azure\/debugging-teams-app-locally-with-teams-toolkit-2b67#learn-more\" name=\"learn-more\"><\/a>\ud83d\udcda Learn More<\/h2>\n<ul>\n<li><a href=\"https:\/\/docs.microsoft.com\/microsoftteams\/platform\/toolkit\/teams-toolkit-fundamentals?WT.mc_id=m365-58952-timura\">Teams Toolkit documentation<\/a><\/li>\n<li><a href=\"https:\/\/docs.microsoft.com\/microsoftteams\/platform\/get-started\/get-started-overview\/?WT.mc_id=m365-58952-timura\">Get started with Microsoft Teams platform<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Learn about the improved local debug experience in the Microsoft Teams Toolkit and new features introduced in version 3.4.<\/p>\n","protected":false},"author":77786,"featured_media":9695,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[128],"tags":[137,23,44],"class_list":["post-9692","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-teams","tag-javascript","tag-teams-toolkit","tag-visual-studio-code"],"acf":[],"blog_post_summary":"<p>Learn about the improved local debug experience in the Microsoft Teams Toolkit and new features introduced in version 3.4.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/9692","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/users\/77786"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/comments?post=9692"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/9692\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media\/9695"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media?parent=9692"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=9692"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=9692"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}