{"id":303419,"date":"2021-07-20T14:30:09","date_gmt":"2021-07-20T11:30:09","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/how-to-edit-code-in-docker-containers-with-visual-studio-code-cloudsavvy-it\/"},"modified":"2021-07-20T14:30:09","modified_gmt":"2021-07-20T11:30:09","slug":"how-to-edit-code-in-docker-containers-with-visual-studio-code-cloudsavvy-it","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/how-to-edit-code-in-docker-containers-with-visual-studio-code-cloudsavvy-it\/","title":{"rendered":"#How to Edit Code in Docker Containers With Visual Studio Code \u2013 CloudSavvy IT"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a245a42e57c7\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a245a42e57c7\" checked aria-label=\"Toggle\" \/><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:\/\/buradabiliyorum.com\/en\/how-to-edit-code-in-docker-containers-with-visual-studio-code-cloudsavvy-it\/#Getting_Started\" >Getting Started<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-edit-code-in-docker-containers-with-visual-studio-code-cloudsavvy-it\/#How_Does_It_Work\" >How Does It Work?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-edit-code-in-docker-containers-with-visual-studio-code-cloudsavvy-it\/#Development_Containers\" >Development Containers<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-edit-code-in-docker-containers-with-visual-studio-code-cloudsavvy-it\/#Configuring_the_Extension\" >Configuring the Extension<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/buradabiliyorum.com\/en\/how-to-edit-code-in-docker-containers-with-visual-studio-code-cloudsavvy-it\/#Summary\" >Summary<\/a><\/li><\/ul><\/nav><\/div>\n<p><strong>&#8220;#How to Edit Code in Docker Containers With Visual Studio Code \u2013 CloudSavvy IT&#8221;<\/strong><\/p>\n<div id=\"article-content-area\">\n<img loading=\"lazy\" decoding=\"async\" class=\"type:primaryImage aligncenter size-full wp-image-12163\" srcset=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/06\/74e5b6c0.jpg?width=398&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1 400w, https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/06\/74e5b6c0.jpg?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1 1200w\" sizes=\"auto, 400w, 1200w\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/06\/74e5b6c0.jpg?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"Graphic showing the Visual Studio Code icon\" width=\"1602\" height=\"902\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Developing or debugging code inside Docker containers can be tricky. You\u2019d usually attach to the container and use shell utilities to edit files. Visual Studio Code\u2019s Remote Containers extension lets you open folders inside containers, so you can work with them in your code editor.<\/p>\n<p><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/code.visualstudio.com\/docs\/remote\/containers\">Remote development<\/a> works with Docker Desktop 2.0 and up for Windows and macOS and Docker Engine 18.06 and higher for Linux. If you\u2019re using Windows 10 Home, you must have the April 2020 update, Docker Desktop 2.3, and the Windows Subsystem for Linux installed.<\/p>\n<p>On the container side, VS Code is compatible with both x64 and ARM containers. You can use Alpine, Debian, Ubuntu, CentOS and RHEL operating systems. If your base image doesn\u2019t work out of the box, you should be able to install additional packages inside it to <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/code.visualstudio.com\/docs\/remote\/linux\">complete the connection<\/a>.<\/p>\n<h2 id=\"getting-started\"><span class=\"ez-toc-section\" id=\"Getting_Started\"><\/span>Getting Started<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Launch VS Code, press Ctrl+Shift+P and search for \u201cextensions\u201d. Select the \u201cInstall Extensions\u201d item to bring up the sidebar. Within the extensions pane, search for \u201cRemote \u2013 Containers\u201d and install the matching item.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12839\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/07\/61e2d3f5.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"\" width=\"1122\" height=\"264\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>After the extension installs, a new green button will <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/download-scripts-themes-apps\/\" data-internallinksmanager029f6b8e52c=\"9\" title=\"Download Scripts &amp; Themes &amp; Apps\" target=\"_blank\" rel=\"noopener\">app<\/a>ear in the bottom-left of your status bar. Click this to bring up the command palette, prefilled with available remote commands. If you\u2019d rather avoid using the mouse, you can also find the commands by pressing Ctrl+Shift+P and typing \u201cremote\u201d. The extension will surface in other areas of the UI too, such as the welcome page and folder opening pane.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12848\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/07\/b8086fed.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"\" width=\"959\" height=\"537\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>To open your first Dockerized folder, bring up the command list and select \u201cAttach to Running Container\u201d. You\u2019ll need to acknowledge a warning that the container could execute untrusted code. You should only attach to containers created from images you trust, as a malicious container with a VS Code workspace file could compromise your system.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12840\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/07\/dc5ac2e6.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"\" width=\"614\" height=\"226\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>VS Code will display a list of the Docker containers running on your system. Select the container you want to connect to. A new window will launch. It might take a few seconds to start while VS Code installs its remote server components into the container. You\u2019ll see the active container displayed in the bottom-left of the status bar.<\/p>\n<p>Once the window\u2019s ready, you can begin work. Click the \u201cOpen Folder\u201d button in the left pane to bring up a file picker prompt. This displays the filesystem <em>within<\/em> the container. Navigate to the directory you\u2019d like to open and press \u201cOK\u201d.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12842\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/07\/85db2a5f.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"\" width=\"958\" height=\"538\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>The sidebar will update to display the selected directory\u2019s contents. Click any of the files to open it in the VS Code editor. You can now make changes inside the container, without manually copying files or setting up a working directory bind mount. This maximizes efficiency when using a Dockerized development environment or debugging a malfunctioning container.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12843\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/07\/849ca388.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"\" width=\"958\" height=\"538\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>VS Code\u2019s full feature set is available, including IntelliSense code completion and its debugging toolkit. Panes such as the console and terminal will attach to the container\u2019s input and output streams.<\/p>\n<h2 id=\"how-does-it-work\"><span class=\"ez-toc-section\" id=\"How_Does_It_Work\"><\/span>How Does It Work?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The first thing to recognize about the integration is that VS Code will alter your container\u2019s filesystem. It\u2019ll install a server in the containers you connect to, which feeds information back to the editor client.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12846\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/07\/5857aa2a.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"Diagram showing the Visual Studio Code remote containers extension architecture\" width=\"970\" height=\"404\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>The server monitors the filesystem, reads files, and launches processes within the container. This powers capabilities like VS Code\u2019s debugger. The editor will ask the server to run your source, letting it inspect code running inside the container.<\/p>\n<p>Similarly, VS Code will install copies of your others extensions inside the container. This ensures they\u2019ve got full access to the container filesystem, so they\u2019ll operate with no discrepancies compared to a local folder. The end result is a fully-fledged editor experience that operates transparently, even though it\u2019s spread across your host and containers. Depending on the size of your environment, first-run setup could take a few moments but the container server will be cached for subsequent use.<\/p>\n<h2 id=\"development-containers\"><span class=\"ez-toc-section\" id=\"Development_Containers\"><\/span>Development Containers<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Beyond opening files in an existing container, the remote system lets you define development containers that encapsulate your working environment. Such a container should include all the software dependencies you\u2019d install before developing your application locally.<\/p>\n<p>When you\u2019re using a development container, you can <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/code.visualstudio.com\/docs\/remote\/containers#_quick-start-try-a-development-container\">either bind mount<\/a> your working directory or <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/code.visualstudio.com\/docs\/remote\/containers#_quick-start-open-a-git-repository-or-github-pr-in-an-isolated-container-volume\">use an isolated volume<\/a>. The latter option avoids filesystem pollution and offers improved performance as it\u2019s more native to Docker.<\/p>\n<p>Development containers are created from <code>.devcontainer\/devcontainer.json<\/code> files. These describe the Docker and Visual Studio configuration that launches your development environment.<\/p>\n<div class=\"wp-geshi-highlight-wrap5\">\n<div class=\"wp-geshi-highlight-wrap4\">\n<div class=\"wp-geshi-highlight-wrap3\">\n<div class=\"wp-geshi-highlight-wrap2\">\n<div class=\"wp-geshi-highlight-wrap\">\n<div class=\"wp-geshi-highlight\">\n<div class=\"json\">\n<pre class=\"de1\">{&#13;\n    \"image\": \"mcr.microsoft.com\/vscode\/devcontainers\/javascript-node:16\",&#13;\n    \"extensions\": \"EditorConfig.EditorConfig\",&#13;\n    \"forwardPorts\": [3000]&#13;\n}<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>The <code>devcontainer.json<\/code> file shown above sets up a development container that uses Microsoft\u2019s <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/github.com\/microsoft\/vscode-dev-containers\/tree\/main\/containers\/javascript-node\">Node.js template<\/a>. The <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=EditorConfig.EditorConfig\">EditorConfig<\/a> VS Code extension is enabled, adding support for <code>.editorconfig<\/code> files in your working directory. Port 3000 is then mapped from the host into the container.<\/p>\n<p>Dev container files support a <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/code.visualstudio.com\/docs\/remote\/containers-tutorial\">few other options<\/a> too. You can set VS Code <code>settings.json<\/code> values, add a command to run inside the container, and define the user that the VS Code server will run as.<\/p>\n<p>If you don\u2019t want to create a container config file yourself, the <strong>Remote-Containers: Add Development Configuration Files<\/strong> command will add one to your project automatically. You\u2019ll be able to select from a list of pre-configured templates which you can customize later on.<\/p>\n<p>Once you\u2019ve got a <code>devcontainer.json<\/code> file in your project, run the <strong>Remote-Containers: Rebuild Container<\/strong> command from the command palette. This will build a container image using the specified configuration. When the build completes, run <strong>Remote-Containers: Reopen Folder in Container<\/strong> to open your current local directory within a new development container.<\/p>\n<p>If you\u2019re using a Git repository, it\u2019s usually simpler to clone the repo directly into a container. The <strong>Remote-Containers: Clone Repository in Container Volume<\/strong> command accepts a Git URL to clone. It\u2019ll create a new volume and attach it to a dev container instance. This lets you work on Git repos without cloning them to your local filesystem, avoiding unnecessary pollution. VS Code automatically shares your local Git credentials with the container.<\/p>\n<h2 id=\"configuring-the-extension\"><span class=\"ez-toc-section\" id=\"Configuring_the_Extension\"><\/span>Configuring the Extension<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The Remote \u2013 Containers extension comes with several settings that let you configure your container experience. You can find them with the <strong>Remote-Containers: Settings for Remote-Containers<\/strong> command.<\/p>\n<p>The first collection of settings concerns dotfiles. Dotfiles refer to configuration files which start with a dot (<code>.<\/code>). Remote-Containers can automatically clone a Git repository of dotfiles into new containers, helping you get running with your usual settings.<\/p>\n<p>Add your dotfiles repository URL to the <code>Repository<\/code> setting. The repository will be cloned to the <code>Target Path<\/code> path, which defaults to <code>~\/dotfiles<\/code>. If you want to run a command after the repository is cloned, specify it as <code>Install Command<\/code>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-12845\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/07\/95bd39f7.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"\" width=\"1278\" height=\"938\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Remote-Containers defaults to using <code>docker<\/code> as the binary which executes container commands. You can change this to any Docker CLI-compatible binary with the <code>Docker Path<\/code> setting. If you\u2019re using Podman, specifying <code>podman<\/code> as this value will let you work with its containers using VS Code.<\/p>\n<p>You can configure default remote extensions under the <code>Default Extensions<\/code> heading. Click \u201cAdd Item\u201d to pick an extension to add to every container. This lets you ensure global availability of your must-use extensions, even if they\u2019re not listed in a <code>devcontainer.json<\/code> file.<\/p>\n<p>A final group of settings concern Git configuration. When \u201cCopy Git Config\u201d is checked, your local <code>.gitconfig<\/code> file will automatically copied into containers automatically. Enabling this ensures your commits are correctly attributed to the user details you\u2019re already using locally.<\/p>\n<p>The \u201cGit Credential Helper Config Location\u201d setting controls the config file that new Git credentials will be written to. You can select from your local per-user file, <code>~\/.gitconfig<\/code>, or the global system location, <code>\/etc\/gitconfig<\/code>.<\/p>\n<h2 id=\"summary\"><span class=\"ez-toc-section\" id=\"Summary\"><\/span>Summary<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The Remote \u2013 Containers extension for Visual Studio Code lets you edit files and folders inside Docker containers. It works seamlessly with the VS Code editor features, including IntelliSense, directory indexing, debugging, and extensions. Internally, VS Code launches a development server inside the container so its tools have full access to the filesystem they\u2019re working with.<\/p>\n<p>There are several possible use cases for this functionality, with Dockerized development environments and on-the-fly container edits the top contenders. While the <em>idea<\/em> of using containers to systematize development has been around for a while, VS Code makes it much easier to get started by offering an IDE experience that natively understands Docker.<\/p>\n<p>You could prepare a Docker image that gives developers everything they need to work on your system \u2013 programming language, dependencies, and convenience tools. Devs would start a container, connect to it from VS Code, and go about their work without installing anything (except Code) on their own machine. If a dependency has to be patched, you only need to update the shared Docker image and get developers to pull the new tag.\n<\/p><\/div>\n<blockquote><p><strong><span style=\"color: #ff6600;\">If you liked the article, do not forget to share it with your friends. Follow us on\u00a0<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/news.google.com\/publications\/CAAqBwgKMLG0nwswvr63Aw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google News<\/a><\/span>\u00a0too, click on the star and choose us from your favorites.<\/span><\/strong><\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/www.cloudsavvyit.com\/12837\/how-to-edit-code-in-docker-containers-with-visual-studio-code\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;#How to Edit Code in Docker Containers With Visual Studio Code \u2013 CloudSavvy IT&#8221; Developing or debugging code inside Docker containers can be tricky. You\u2019d usually attach to the container and use shell utilities to edit files. Visual Studio Code\u2019s Remote Containers extension lets you open folders inside containers, so you can work with them&#8230;<\/p>\n","protected":false},"author":1,"featured_media":303420,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2021\/06\/74e5b6c0.jpg","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-303419","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/303419","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=303419"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/303419\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/303420"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=303419"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=303419"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=303419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}