{"id":33671,"date":"2025-05-26T11:22:56","date_gmt":"2025-05-26T14:22:56","guid":{"rendered":"https:\/\/deliciousbrains.com\/?p=33671"},"modified":"2025-05-26T13:01:50","modified_gmt":"2025-05-26T16:01:50","slug":"vs-code-wordpress","status":"publish","type":"post","link":"https:\/\/deliciousbrains.com\/vs-code-wordpress\/","title":{"rendered":"Set Up Visual Studio Code and xDebug as the Ultimate Editor for WordPress&nbsp;Development"},"content":{"rendered":"<p><a href=\"https:\/\/code.visualstudio.com\/\">Visual Studio Code<\/a> is a free, open source code editor that is lightweight like <a href=\"https:\/\/www.sublimetext.com\/\">Sublime Text<\/a>, but offers many of the same features as bigger IDEs like <a href=\"https:\/\/www.jetbrains.com\/phpstorm\/\">PhpStorm<\/a> or <a href=\"https:\/\/www.jetbrains.com\/webstorm\/\">WebStorm<\/a>.<\/p>\n\n<p>In this article, I&#8217;ll review some features of VS Code that I love, and show you how to make the most out of it for WordPress dev.<\/p>\n\n<h2 id=\"basic-setup\">Basic Setup for WordPress Development<\/h2>\n\n<p>Most of the time when coding in WordPress, you&#8217;re working on a plugin or a theme. One way to do this might be to open that plugin or theme in your IDE and start coding away. There is a better way though, with the help of VS Code &#8220;Workspaces&#8221;.<\/p>\n\n<p>You can think of a Workspace in VS Code as a container for your project &#8211; it not only includes your project, but it can include files that your project relies on (your WordPress installation), and any extensions or settings specific to that project.<\/p>\n\n<p>I like Workspaces because you can create one of them for each project and change any setting or extension in VS Code at the Workspace level. For example, you may not want to use the WordPress Coding Standards on all of your projects, or maybe you work with a team of developers that can\u2019t agree on tabs vs. spaces.<\/p>\n\n<p>In my case, the vast majority of my time is spent on <a href=\"https:\/\/deliciousbrains.com\/building-wordpress-plugins\/\">plugin development<\/a>. So I&#8217;ll have a <code>Projects<\/code> folder that has all of the plugins I work on, and a <code>Sites<\/code> folder that contains all of my sites. I&#8217;ll then symlink the plugin I&#8217;m working on into a fresh WordPress website in the Sites folder.<\/p>\n\n<p>In Visual Studio Code, I&#8217;ll first open the plugin itself, and then I&#8217;ll add the WordPress site by selecting <code>File<\/code> -> <code>Add Folder to Workspace<\/code>. That sets up a new Workspace where I can edit the plugin and the WordPress installation at the same time.<\/p>\n\n<p>This is handy for quick edits to the <code>wp-config.php<\/code> file, and keeping an eye on the <code>debug.log<\/code> file while I&#8217;m developing.<\/p>\n\n<p>Next, click <code>File<\/code> -> <code>Save Workspace As<\/code> to save that Workspace. This creates a <code>*.code-workspace<\/code> file (JSON-based) that stores path folders and settings. This allows you to open your Workspace again in the future, and also serves as a config file that will come in handy later. If you\u2019re collaborating, you can version-control this file\u2014just ensure paths like <code>\/Sites\/my-site<\/code> aren\u2019t machine-specific.<\/p>\n\n<h2 id=\"wordpress-integration\">Deeper PHP and WordPress Integration<\/h2>\n\n<p>With that out of the way, let&#8217;s take a look at how we can make Visual Studio Code and WordPress play a bit nicer. Out-of-the-box, VS Code doesn&#8217;t support WordPress and PHP as well as some other IDEs like <a href=\"https:\/\/deliciousbrains.com\/how-we-use-phpstorm-wordpress-development\/\">PhpStorm<\/a> (Find out <a href=\"https:\/\/deliciousbrains.com\/how-we-use-phpstorm-wordpress-development\/\">how some of our team uses PhpStorm for WordPress Development<\/a>). Luckily, that&#8217;s easy to change by installing some extensions.<\/p>\n\n<p>Since WordPress is still mostly PHP, I use the <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=bmewburn.vscode-intelephense-client\">PHP Intelephense<\/a> extension, which adds PHP auto-completions, symbol navigation support, and a much better way to find references in your workspace.<\/p>\n\n<p>While that will add auto-completions for PHP core functions and anything that you have defined in your project, it won&#8217;t pick up on much from WordPress core. For that, there is the <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=johnbillion.vscode-wordpress-hooks\">Hooks IntelliSense for WordPress<\/a> extension. It autocompletes WordPress hooks (actions\/filters) and their priority parameters.  There\u2019s also <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=DEVSENSE.phptools-vscode\">PHP Tools for Visual Studio Code<\/a>, which provides advanced <a href=\"https:\/\/code.visualstudio.com\/docs\/editing\/intellisense\">IntelliSense<\/a> for WordPress core functions, classes, and constants. It even resolves argument orders for functions like <code>get_posts()<\/code>, so you spend less time checking the Codex.<\/p>\n\n<p>To enforce WordPress best practices, use the <a href=\"https:\/\/github.com\/WordPress\/WordPress-Coding-Standards\">WordPress Coding Standards<\/a> with the <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=wongjn.php-sniffer\">PHP Sniffer<\/a> extension. This combination highlights issues like missing sanitization or incorrect file naming in real time. Just install <code>phpcs<\/code> globally and configure the extension to use the <code>WordPress<\/code>  standard in your workspace settings.<\/p>\n\n<p>These tools make it much easier to work with WordPress plugins and themes, and PHP development in general.<\/p>\n\n<h2 id=\"xdebug\">Debugging PHP<\/h2>\n\n<p><a href=\"https:\/\/deliciousbrains.com\/xdebug-advanced-php-debugging\/\">Xdebug is an invaluable tool to have for debugging PHP<\/a>, but it can be tricky to set up. Luckily, VS Code makes it easy to configure Xdebug, and in my case it <em>just works<\/em>.<\/p>\n\n<p>You only need to install the <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=felixfbecker.php-debug\">PHP Debug<\/a> extension and reload the editor. You can then go to the &#8220;Run&#8221; tab and click <strong>&#8220;create a launch.json file<\/strong>&#8221; to create a new PHP debug configuration.<\/p>\n\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2025\/05\/22170943\/Turn-VS-Code-and-XDebug-into-WP-Editor-Run-and-Debug-Tab.png\" alt=\"Create launch.json for Xdebug.\" width=\"798\" height=\"499\" class=\"aligncenter size-full wp-image-162606\" srcset=\"https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2025\/05\/22170943\/Turn-VS-Code-and-XDebug-into-WP-Editor-Run-and-Debug-Tab.png 798w, https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2025\/05\/22170943\/Turn-VS-Code-and-XDebug-into-WP-Editor-Run-and-Debug-Tab-385x241.png 385w, https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2025\/05\/22170943\/Turn-VS-Code-and-XDebug-into-WP-Editor-Run-and-Debug-Tab-770x481.png 770w, https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2025\/05\/22170943\/Turn-VS-Code-and-XDebug-into-WP-Editor-Run-and-Debug-Tab-300x188.png 300w\" sizes=\"auto, (max-width: 798px) 100vw, 798px\" \/><\/p>\n\n<p>You should then see a pop-up towards the top of your editor asking you to select a Workspace folder to create the configuration in:<\/p>\n\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/23124704\/select-workspace-folder.png\" alt=\"Select workspace for launch.json\" width=\"1378\" height=\"298\" class=\"aligncenter size-full wp-image-74052\" srcset=\"https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/23124704\/select-workspace-folder.png 1378w, https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/23124704\/select-workspace-folder-300x65.png 300w, https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/23124704\/select-workspace-folder-385x83.png 385w, https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/23124704\/select-workspace-folder-770x167.png 770w\" sizes=\"auto, (max-width: 1378px) 100vw, 1378px\" \/><\/p>\n\n<p>Select &#8220;workspace&#8221; to insert the new configuration into your <code>*.code-workspace<\/code> file, and then &#8220;PHP&#8221; to add a PHP configuration. This will add some debug config to that file, including the new &#8220;Listen for XDebug&#8221; option. You can edit the name of the configuration or change the XDebug port here. Here\u2019s how to adjust the config based on a common MAMP setup:<\/p>\n\n<pre><code>\n{\n    \"name\": \"Listen for XDebug\",\n    \"type\": \"php\",\n    \"request\": \"launch\",\n    \"port\": 9003, \/\/ Xdebug v3+ uses 9003!\n    \"pathMappings\": {\n        \/\/ Docker example:\n        \"\/var\/www\/html\": \"${workspaceFolder}\/wp\",\n        \/\/ Local example (MAMP\/XAMPP):\n        \"\/Applications\/MAMP\/htdocs\/mysite\": \"${workspaceFolder}\"\n    },\n    \"log\": true \/\/ Enable logging for troubleshooting\n}\n<\/code><\/pre>\n\n<p>In my case, it also added a &#8220;Launch currently open script&#8221; config as well. With WordPress, we rarely need to load a PHP file directly, so I just deleted that config.<\/p>\n\n<p>That&#8217;s it! You should be able to start debugging PHP from here. Head over to a PHP file in your WordPress plugin or theme, and click to the left to a line number to add a breakpoint to that line.<\/p>\n\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/03210312\/xdebug-breakpoint-set.png\" alt=\"Setting a breakpoint in VS Code\" width=\"1100\" height=\"304\" class=\"aligncenter size-full wp-image-74535\" srcset=\"https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/03210312\/xdebug-breakpoint-set.png 1100w, https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/03210312\/xdebug-breakpoint-set-385x106.png 385w, https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/03210312\/xdebug-breakpoint-set-770x213.png 770w, https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/03210312\/xdebug-breakpoint-set-300x83.png 300w\" sizes=\"auto, (max-width: 1100px) 100vw, 1100px\" \/><\/p>\n\n<p>When you head back over to the &#8220;Run&#8221; tab, select &#8220;Listen for XDebug&#8221; from the dropdown and click the play icon to start listening for requests.  For breakpoints to work, append <code>?XDEBUG_SESSION=VSCODE<\/code> to your site\u2019s URL, or add a <a href=\"https:\/\/xdebug.org\/docs\/step_debug#browser-extensions\">browser extension<\/a>. When your code hits that breakpoint, the runtime should pause and you can see all variables, the call stack, and more. Who knew debugging WordPress in Visual Studio Code could be so easy?<\/p>\n\n<h4>XDebug Ghosting You? Enable Logs<\/h4>\n\n<p>When your breakpoints mysteriously <em>don\u2019t<\/em> trigger\u2014even though everything seems right\u2014you can add these lines to your <code>php.ini<\/code> to enable logs:<\/p>\n\n<pre><code>[xdebug]  \nxdebug.log = \/tmp\/xdebug.log  # Simple path that\u2019s always writable  \nxdebug.log_level = 1  # 1=errors, 3=trace (verbose)  \n<\/code><\/pre>\n\n<p>When to Check the Logs:<\/p>\n\n<ul>\n<li>Breakpoints ignored (even with <code>?XDEBUG_SESSION=VSCODE<\/code>).<\/li>\n<li>VS Code\u2019s debugger says \u201cConnected\u201d but never pauses.<\/li>\n<li>You\u2019re muttering \u201cWhy isn\u2019t this working?!\u201d at your screen.<\/li>\n<\/ul>\n\n<p>What to Look For:<\/p>\n\n<ul>\n<li>\u201cCould not connect to client\u201d: Firewall blocking port <code>9003<\/code>? Try changing the port that xDebug listens on or check your local firewall settings..<\/li>\n<li>\u201cFile is not mapped\u201d: Fix <code>pathMappings<\/code> in <code>launch.json<\/code> (e.g., <code>\/var\/www\/html<\/code> \u2192 <code>${workspaceFolder}<\/code>).<\/li>\n<li>\u201cInvalid session\u201d: Do you have the Xdebug browser extension enabled or are you forgetting to add <code>?XDEBUG_SESSION=VSCODE<\/code> to your URL?<\/li>\n<\/ul>\n\n<h2 id=\"debug-javascript\">Debugging JavaScript<\/h2>\n\n<p>Debugging PHP is only half the problem &#8211; we also need to be able to<a href=\"https:\/\/deliciousbrains.com\/debugging-php-javascript-phpstorm\/\">debug JavaScript<\/a>. Thankfully, modern VS Code has robust tools for this built right in.  VS Code\u2019s <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-vscode.js-debug\">JavaScript Debugger<\/a> is bundled with VS Code by default and supports Chrome, Edge, Node.js, and more. No extensions needed!<\/p>\n\n<p>Next, you&#8217;ll need to edit the <code>*.code-workspace<\/code>  file to add a JS debug config. \n:<\/p>\n\n<pre><code>{\n    \"name\": \"Listen for JS\",\n    \"type\": \"chrome\",\n    \"request\": \"launch\",\n    \"url\": \"http:\/\/yoursite.test\",\n    \"webRoot\": \"\/path\/to\/your\/site\/root\",\n}\n<\/code><\/pre>\n\n<p>The <code>type<\/code> here refers to VS Code\u2019s built-in JavaScript Debugger, which supports Chromium-based browsers. If you prefer Firefox, you can use Mozilla\u2019s <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=firefox-devtools.vscode-firefox-debug\">Firefox Debugger<\/a> extension and update the <code>type<\/code> to <code>\"firefox\"<\/code>.<\/p>\n\n<p>Once that&#8217;s been added, you should see the Listen for JS option in the debug drop down:<\/p>\n\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/23181411\/Screen-Shot-2020-07-23-at-4.23.03-PM.png\" alt=\"Listen for JS debug option.\" width=\"908\" height=\"346\" class=\"aligncenter size-full wp-image-74080\" srcset=\"https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/23181411\/Screen-Shot-2020-07-23-at-4.23.03-PM.png 908w, https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/23181411\/Screen-Shot-2020-07-23-at-4.23.03-PM-300x114.png 300w, https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/23181411\/Screen-Shot-2020-07-23-at-4.23.03-PM-385x147.png 385w, https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/23181411\/Screen-Shot-2020-07-23-at-4.23.03-PM-770x293.png 770w\" sizes=\"auto, (max-width: 908px) 100vw, 908px\" \/><\/p>\n\n<p>For reference, here&#8217;s my entire <code>mdb.code-workspace<\/code> file so far:<\/p>\n\n<pre><code>{\n\"folders\": [\n    {\n    \"path\": \"wp-migrate-db-pro\"\n    },\n    {\n    \"path\": \"\/Users\/mattshaw\/Sites\/mdb\/app\/public\"\n    }\n],\n\"launch\": {\n    \"version\": \"0.2.0\",\n    \"configurations\": [\n    {\n        \"type\": \"chrome\",\n        \"request\": \"launch\",\n        \"name\": \"Listen for JS\",\n        \"url\": \"http:\/\/mdb.test\",\n        \"webRoot\": \"\/Users\/mattshaw\/Sites\/mdb\/app\/public\"\n    },\n    {\n        \"name\": \"Listen for XDebug\",\n        \"type\": \"php\",\n        \"request\": \"launch\",\n        \"port\": 9003\n        \"pathMappings\": {\n          \"\/var\/www\/html\": \"${workspaceFolder}\/wp\"  \n        }       \n      }\n    ]\n  }\n}\n<\/code><\/pre>\n\n<p>The <code>pathMappings<\/code> are essential if you\u2019re using Docker or developing remotely. If you\u2019re working locally, you only need them if your server\u2019s file paths differ from your local workspace.<\/p>\n\n<h3>Gotchas<\/h3>\n\n<p>If you\u2019re using something like <a href=\"https:\/\/webpack.js.org\/\">Webpack<\/a> to bundle your JS files together, you may notice that your breakpoints aren\u2019t working. Modern tools generate source maps automatically, but if yours aren\u2019t lining up, you should double-check your <code>webpack.config.js<\/code> for <code>devtool: 'source-map'<\/code>. Also, in VS Code\u2019s debug config, ensure <code>webRoot<\/code> matches your server\u2019s document root.<\/p>\n\n<p>With that in place, it&#8217;s now easy to debug JS from within VS Code, using the same UI that is used for Xdebug:<\/p>\n\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/23180355\/js-debug-1540x834.gif\" alt=\"Debugging JS in VS Code\" width=\"1540\" height=\"834\" class=\"aligncenter size-large wp-image-74078\" srcset=\"https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/23180355\/js-debug-1540x834.gif 1540w, https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/23180355\/js-debug-300x162.gif 300w, https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/23180355\/js-debug-384x208.gif 384w, https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/23180355\/js-debug-770x417.gif 770w, https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/23180355\/js-debug-1536x832.gif 1536w\" sizes=\"auto, (max-width: 1540px) 100vw, 1540px\" \/><\/p>\n\n<h2 id=\"other-tips\">Other Tips<\/h2>\n\n<p>I&#8217;ve come across some other important extensions that have been helpful in day-to-day development. The <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=eamodio.gitlens\">GitLens<\/a> extension adds simple git blame annotations to the line that you&#8217;re currently working on. And now it even integrates with GitHub for pull request insights!<\/p>\n\n<p>The <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=neilbrayfield.php-docblocker\">PHP DocBlocker<\/a> extension is super helpful for, well, docblocking. Simply type <code>\/**<\/code> above a function, method, or class and it will autocomplete the docblock based on the function\/method parameters.<\/p>\n\n<p>The <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=esbenp.prettier-vscode\">Prettier<\/a> extension is great for cleaning up your CSS, JS, and HTML code on editor save.<\/p>\n\n<p>VS Code\u2019s built-in Markdown preview (no extension needed!) works great for writing docs or blog posts. And if you\u2019re using modern JavaScript, the native syntax highlighting covers ES6+\u2014no plugin required.<\/p>\n\n<h2 id=\"closing-thoughts\">Closing Thoughts<\/h2>\n\n<p>After using it for years, I still love VS Code. It&#8217;s like it took my favorite features of PhpStorm and Sublime Text, and combined them to create the perfect IDE. I also really like the way that you can install extensions directly from within VS Code, and view the docs for that extension without leaving the editor.<\/p>\n\n<p>Have you tried out VS Code? What did you think? Let us know in the comments.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Visual Studio Code is a free, open source code editor that is lightweight like Sublime Text, but offers many of the same features as bigger IDEs like PhpStorm or WebStorm.&hellip; <a href=\"https:\/\/deliciousbrains.com\/vs-code-wordpress\/\">Read&nbsp;more<\/a><\/p>","protected":false},"author":6916,"featured_media":74301,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[475,479],"tags":[41,19,198,321,322],"class_list":["post-33671","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wp-migrate-db-pro","category-wp-migrate-db-pro-code","tag-development","tag-wordpress","tag-xdebug","tag-vs-code","tag-ides"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Turn Visual Studio Code into the Ultimate Editor for WordPress Development<\/title>\n<meta name=\"description\" content=\"Learn how to set up VS Code for WordPress development including installing necessary extensions, setting up PHP and JS debugging, git integration, and more.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/deliciousbrains.com\/vs-code-wordpress\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Turn Visual Studio Code into the Ultimate Editor for WordPress Development\" \/>\n<meta property=\"og:description\" content=\"Learn how to set up VS Code for WordPress development including installing necessary extensions, setting up PHP and JS debugging, git integration, and more.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/deliciousbrains.com\/vs-code-wordpress\/\" \/>\n<meta property=\"og:site_name\" content=\"Delicious Brains\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-26T14:22:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-26T16:01:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/29111405\/vs-code-wordpress-development.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"447\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Matt Shaw\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mattgrshaw\" \/>\n<meta name=\"twitter:site\" content=\"@dliciousbrains\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matt Shaw\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/deliciousbrains.com\\\/vs-code-wordpress\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/deliciousbrains.com\\\/vs-code-wordpress\\\/\"},\"author\":{\"name\":\"Matt Shaw\",\"@id\":\"https:\\\/\\\/deliciousbrains.com\\\/#\\\/schema\\\/person\\\/8db7bf8778209926e09adf575321e1f3\"},\"headline\":\"Set Up Visual Studio Code and xDebug as the Ultimate Editor for WordPress&nbsp;Development\",\"datePublished\":\"2025-05-26T14:22:56+00:00\",\"dateModified\":\"2025-05-26T16:01:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/deliciousbrains.com\\\/vs-code-wordpress\\\/\"},\"wordCount\":1499,\"commentCount\":41,\"image\":{\"@id\":\"https:\\\/\\\/deliciousbrains.com\\\/vs-code-wordpress\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn.deliciousbrains.com\\\/content\\\/uploads\\\/2020\\\/07\\\/29111405\\\/vs-code-wordpress-development.jpg\",\"keywords\":[\"Development\",\"WordPress\",\"Xdebug\",\"vs code\",\"IDEs\"],\"articleSection\":[\"WP Migrate DB Pro\",\"Code\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/deliciousbrains.com\\\/vs-code-wordpress\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/deliciousbrains.com\\\/vs-code-wordpress\\\/\",\"url\":\"https:\\\/\\\/deliciousbrains.com\\\/vs-code-wordpress\\\/\",\"name\":\"Turn Visual Studio Code into the Ultimate Editor for WordPress Development\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/deliciousbrains.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/deliciousbrains.com\\\/vs-code-wordpress\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/deliciousbrains.com\\\/vs-code-wordpress\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn.deliciousbrains.com\\\/content\\\/uploads\\\/2020\\\/07\\\/29111405\\\/vs-code-wordpress-development.jpg\",\"datePublished\":\"2025-05-26T14:22:56+00:00\",\"dateModified\":\"2025-05-26T16:01:50+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/deliciousbrains.com\\\/#\\\/schema\\\/person\\\/8db7bf8778209926e09adf575321e1f3\"},\"description\":\"Learn how to set up VS Code for WordPress development including installing necessary extensions, setting up PHP and JS debugging, git integration, and more.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/deliciousbrains.com\\\/vs-code-wordpress\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/deliciousbrains.com\\\/vs-code-wordpress\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cdn.deliciousbrains.com\\\/content\\\/uploads\\\/2020\\\/07\\\/29111405\\\/vs-code-wordpress-development.jpg\",\"contentUrl\":\"https:\\\/\\\/cdn.deliciousbrains.com\\\/content\\\/uploads\\\/2020\\\/07\\\/29111405\\\/vs-code-wordpress-development.jpg\",\"width\":800,\"height\":447},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/deliciousbrains.com\\\/#website\",\"url\":\"https:\\\/\\\/deliciousbrains.com\\\/\",\"name\":\"Delicious Brains\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/deliciousbrains.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/deliciousbrains.com\\\/#\\\/schema\\\/person\\\/8db7bf8778209926e09adf575321e1f3\",\"name\":\"Matt Shaw\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/assets.deliciousbrains.com\\\/avatar\\\/fcf2297ad2f2973d3b75404db6afe40d1dbad53db835fa9cd4e3d07c9ad2819c?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/assets.deliciousbrains.com\\\/avatar\\\/fcf2297ad2f2973d3b75404db6afe40d1dbad53db835fa9cd4e3d07c9ad2819c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/assets.deliciousbrains.com\\\/avatar\\\/fcf2297ad2f2973d3b75404db6afe40d1dbad53db835fa9cd4e3d07c9ad2819c?s=96&d=mm&r=g\",\"caption\":\"Matt Shaw\"},\"description\":\"Matt is a WordPress plugin developer located near Philadelphia, PA. He loves to create awesome new tools with PHP, JavaScript, and whatever else he happens to get his hands on.\",\"sameAs\":[\"https:\\\/\\\/x.com\\\/mattgrshaw\"],\"url\":\"https:\\\/\\\/deliciousbrains.com\\\/author\\\/matt-shaw\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Turn Visual Studio Code into the Ultimate Editor for WordPress Development","description":"Learn how to set up VS Code for WordPress development including installing necessary extensions, setting up PHP and JS debugging, git integration, and more.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/deliciousbrains.com\/vs-code-wordpress\/","og_locale":"en_US","og_type":"article","og_title":"Turn Visual Studio Code into the Ultimate Editor for WordPress Development","og_description":"Learn how to set up VS Code for WordPress development including installing necessary extensions, setting up PHP and JS debugging, git integration, and more.","og_url":"https:\/\/deliciousbrains.com\/vs-code-wordpress\/","og_site_name":"Delicious Brains","article_published_time":"2025-05-26T14:22:56+00:00","article_modified_time":"2025-05-26T16:01:50+00:00","og_image":[{"width":800,"height":447,"url":"https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/29111405\/vs-code-wordpress-development.jpg","type":"image\/jpeg"}],"author":"Matt Shaw","twitter_card":"summary_large_image","twitter_creator":"@mattgrshaw","twitter_site":"@dliciousbrains","twitter_misc":{"Written by":"Matt Shaw","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/deliciousbrains.com\/vs-code-wordpress\/#article","isPartOf":{"@id":"https:\/\/deliciousbrains.com\/vs-code-wordpress\/"},"author":{"name":"Matt Shaw","@id":"https:\/\/deliciousbrains.com\/#\/schema\/person\/8db7bf8778209926e09adf575321e1f3"},"headline":"Set Up Visual Studio Code and xDebug as the Ultimate Editor for WordPress&nbsp;Development","datePublished":"2025-05-26T14:22:56+00:00","dateModified":"2025-05-26T16:01:50+00:00","mainEntityOfPage":{"@id":"https:\/\/deliciousbrains.com\/vs-code-wordpress\/"},"wordCount":1499,"commentCount":41,"image":{"@id":"https:\/\/deliciousbrains.com\/vs-code-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/29111405\/vs-code-wordpress-development.jpg","keywords":["Development","WordPress","Xdebug","vs code","IDEs"],"articleSection":["WP Migrate DB Pro","Code"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/deliciousbrains.com\/vs-code-wordpress\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/deliciousbrains.com\/vs-code-wordpress\/","url":"https:\/\/deliciousbrains.com\/vs-code-wordpress\/","name":"Turn Visual Studio Code into the Ultimate Editor for WordPress Development","isPartOf":{"@id":"https:\/\/deliciousbrains.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/deliciousbrains.com\/vs-code-wordpress\/#primaryimage"},"image":{"@id":"https:\/\/deliciousbrains.com\/vs-code-wordpress\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/29111405\/vs-code-wordpress-development.jpg","datePublished":"2025-05-26T14:22:56+00:00","dateModified":"2025-05-26T16:01:50+00:00","author":{"@id":"https:\/\/deliciousbrains.com\/#\/schema\/person\/8db7bf8778209926e09adf575321e1f3"},"description":"Learn how to set up VS Code for WordPress development including installing necessary extensions, setting up PHP and JS debugging, git integration, and more.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/deliciousbrains.com\/vs-code-wordpress\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/deliciousbrains.com\/vs-code-wordpress\/#primaryimage","url":"https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/29111405\/vs-code-wordpress-development.jpg","contentUrl":"https:\/\/cdn.deliciousbrains.com\/content\/uploads\/2020\/07\/29111405\/vs-code-wordpress-development.jpg","width":800,"height":447},{"@type":"WebSite","@id":"https:\/\/deliciousbrains.com\/#website","url":"https:\/\/deliciousbrains.com\/","name":"Delicious Brains","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/deliciousbrains.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/deliciousbrains.com\/#\/schema\/person\/8db7bf8778209926e09adf575321e1f3","name":"Matt Shaw","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/assets.deliciousbrains.com\/avatar\/fcf2297ad2f2973d3b75404db6afe40d1dbad53db835fa9cd4e3d07c9ad2819c?s=96&d=mm&r=g","url":"https:\/\/assets.deliciousbrains.com\/avatar\/fcf2297ad2f2973d3b75404db6afe40d1dbad53db835fa9cd4e3d07c9ad2819c?s=96&d=mm&r=g","contentUrl":"https:\/\/assets.deliciousbrains.com\/avatar\/fcf2297ad2f2973d3b75404db6afe40d1dbad53db835fa9cd4e3d07c9ad2819c?s=96&d=mm&r=g","caption":"Matt Shaw"},"description":"Matt is a WordPress plugin developer located near Philadelphia, PA. He loves to create awesome new tools with PHP, JavaScript, and whatever else he happens to get his hands on.","sameAs":["https:\/\/x.com\/mattgrshaw"],"url":"https:\/\/deliciousbrains.com\/author\/matt-shaw\/"}]}},"_links":{"self":[{"href":"https:\/\/deliciousbrains.com\/wp-json\/wp\/v2\/posts\/33671","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/deliciousbrains.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/deliciousbrains.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/deliciousbrains.com\/wp-json\/wp\/v2\/users\/6916"}],"replies":[{"embeddable":true,"href":"https:\/\/deliciousbrains.com\/wp-json\/wp\/v2\/comments?post=33671"}],"version-history":[{"count":0,"href":"https:\/\/deliciousbrains.com\/wp-json\/wp\/v2\/posts\/33671\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/deliciousbrains.com\/wp-json\/wp\/v2\/media\/74301"}],"wp:attachment":[{"href":"https:\/\/deliciousbrains.com\/wp-json\/wp\/v2\/media?parent=33671"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/deliciousbrains.com\/wp-json\/wp\/v2\/categories?post=33671"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/deliciousbrains.com\/wp-json\/wp\/v2\/tags?post=33671"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}