{"id":518166,"date":"2024-10-16T12:57:03","date_gmt":"2024-10-16T11:57:03","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=idea&#038;p=518166"},"modified":"2025-09-16T15:09:09","modified_gmt":"2025-09-16T14:09:09","slug":"code-analysis-for-your-projects-with-intellij-idea-and-qodana","status":"publish","type":"idea","link":"https:\/\/blog.jetbrains.com\/zh-hans\/idea\/2024\/10\/code-analysis-for-your-projects-with-intellij-idea-and-qodana","title":{"rendered":"Code Analysis for Your Projects With IntelliJ IDEA and Qodana"},"content":{"rendered":"\n<p>As developers, we spend more time maintaining existing code than we do writing new code. Any tools that can help make this easier can save us a lot of time.<\/p>\n\n\n\n<p>In this blog post series, we\u2019ll look at several ways that code analysis in IntelliJ IDEA can help you find and fix problems in your code. In the previous post, we looked at how the IDE can help you prevent problems while working with code.&nbsp;<\/p>\n\n\n\n<ul>\n<li>Part 1: <a href=\"https:\/\/blog.jetbrains.com\/idea\/2024\/09\/introduction-to-code-analysis-in-intellij-idea\/\">Introduction to code analysis in IntelliJ IDEA<\/a><\/li>\n\n\n\n<li>Part 3: <a href=\"https:\/\/blog.jetbrains.com\/idea\/2024\/11\/advanced-code-analysis-in-intellij-idea\/\" data-type=\"link\" data-id=\"https:\/\/blog.jetbrains.com\/idea\/2024\/11\/advanced-code-analysis-in-intellij-idea\/\" target=\"_blank\" rel=\"noreferrer noopener\">Advanced Code Analysis in IntelliJ IDEA<\/a><\/li>\n<\/ul>\n\n\n\n<p>IntelliJ IDEA can also help you resolve problems throughout your entire project, not only in the file you&#8217;re currently working on.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Find and fix a specific problem throughout your project<\/h2>\n\n\n\n<p>To check if a particular problem is present elsewhere in your project, you can run a specific inspection on your whole project or a section of the project. To do so, open the <em>Run Inspection by Name<\/em> dialog using the shortcut (<em>\u2318\u2325\u21e7I<\/em> on macOS \/ <em>Alt+<\/em> on Windows\/Linux). Or, find any action in IntelliJ IDEA using <em>Find Action<\/em> (<em>\u2318\u21e7A<\/em> on macOS \/ <em>Ctrl+Shift+A<\/em><strong> <\/strong>on Windows\/Linux) and search for \u201cRun Inspection by Name\u201d in the popup field.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXe37lSLlp20nzuCZdfkZ_APuDLs4yrUP-z7dt_GFDb-6BqdxZ1RTqyeSNY3Bfea6PkgI4sNZqabejeEgrB3KhMi3mwMIio09703jiVh7A51MC8C56yQZrMR9PsXa-BB0VHDo5dkJlrQnmkGj-RuJh5E6tE.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Run Inspection by Name<\/figcaption><\/figure>\n\n\n\n<p>In the <em>Enter inspection name<\/em> dialog that opens, enter the name of the inspection you want to run. For example, you may want to replace all `var`s in your code base with explicit types using the <em>Variable type can be explicit<\/em> inspection. Or, if you prefer the opposite, you can replace explicit types with `var`s by using the <em>Local variable type can be omitted<\/em> inspection. Note that you don\u2019t need to know the full or exact name of an inspection, as you can search for it in the popup. There are many inspections available for different languages and frameworks, including Java, Kotlin, and Spring.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXfBtyDMJR7oy1hOW7OIDz3iQQpr6rLPz6lPCFl6R9Cd_z5vliiQc7DKIEI-L5x5Jt4nOhwyhqjvoZ6IIGHaeM2xgnrVie7i_4Fcg7J1DpVYqvqrn5zalGG291hofx_wdnrd9U8GIJ7_i7tqobLPaE3KvtOj.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\"><em>Enter inspection name<\/em><\/figcaption><\/figure>\n\n\n\n<p>Select the scope to run this inspection on, and select either <em>Analyze<\/em> or<em> Fix all<\/em>:&nbsp;<\/p>\n\n\n\n<ul>\n<li>If you\u2019re sure you want to apply the suggested fix everywhere in your selected scope, click <em>Fix all<\/em>.&nbsp;<\/li>\n\n\n\n<li>If you\u2019d like to see what might change first or apply individual fixes, select <em>Analyze<\/em>.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXcLAHDe198YkRuFZ4hSWPcaGyjEdREalINaVSs6R-qDJwoMk7PdWc8ZMP8YBhKA0Zd-y2cUEFJXXBiPw9k_IlZLZRR70IfsIvhaXGqwZbCmcC21RszX5nKYrPGMkZRjHyAP7OPzscNVMo7pYAoBw_OAmlLh.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\"><em>Inspection Scope<\/em><\/figcaption><\/figure>\n\n\n\n<p>If you select <em>Analyze<\/em>, the <em>Problems<\/em> tool window opens. The tab <em>Inspections on &lt;selected scope&gt;<\/em> shows the <em>Inspection Results<\/em> on the left and a description of the inspection on the right.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXfmfv0V34EI0lpweAatnNlR6oP809RsI52dsF3mcppMtcqBA6P8qJij9bXUoIY4WeHFiTpFX6yWdT55JyKmq6wTZ1SPin2IiJetePx_VFVV8XvSWSqqlFC9RcfArj6oNH2Sqid9mJMiUTTy_gEya93NL7E.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\"><em>Inspection Results<\/em><\/figcaption><\/figure>\n\n\n\n<p><em>Inspection Results<\/em> show the files that have problems based on the inspection you ran. Some files might have multiple occurrences of the problem; expand the files to see them all and click the file to open a preview on the right. Here, you have the option to either execute the suggested fix, in this example, <em>Replace \u2018var\u2019 with explicit type<\/em>, or <em>Suppress<\/em> the warning. Double-click the file to open it in the editor, fix any problems there, and check the results.<\/p>\n\n\n\n<p>If you have selected <em>Fix<\/em> instead of <em>Analyze<\/em>, you can open the <em>Commit<\/em> tool window (<em>\u23180<\/em> on macOS \/ <em>Alt+0<\/em> on Windows\/Linux) to look at the applied changes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Related problems<\/h2>\n\n\n\n<p>If you\u2019re making changes to your code that lead to problems elsewhere in your code base, IntelliJ IDEA will warn you with an <a href=\"https:\/\/www.jetbrains.com\/help\/idea\/find-highlight-usages.html#usages_hints\" target=\"_blank\" rel=\"noreferrer noopener\">inlay hint<\/a>, for example if you change the method signature of a method that is called elsewhere. This works for classes and fields as well.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXfPkpd4HHXy8tg3WfYpERyawrnfWuXNQ42hz_m-CWycdSO0MSjEM8yz-_gtDVOPwfsBiiXgaivvoq4glX6tu6uAZ_oasWDsjIj6Fyh-W5eTtSNAZ-I4eypAxMV-qewkdhrU-419E_P_l_ySUsmZbtmt9-8.gif\" alt=\"\"\/><figcaption class=\"wp-element-caption\"><em>Related problems<\/em><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Check for problems when committing new code<\/h2>\n\n\n\n<p>You can also configure IntelliJ IDEA to analyze your code when you create a commit and which checks should be performed on your commits. To do so, select <em>Show Commit Options<\/em> from the <em>Commit<\/em> tool window (<em>\u23180<\/em> on macOS) \/ <em>Alt+0<\/em> on Windows\/Linux).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXfg_wyi1m_Cjjg5D9FTWCiSjize22Qy4rQ4D2YRKUFKIadgA1JwNgdawYb6nufdm0SM4zvxdMlC8LEDnCwALhk2-f2JaQYvE2p02zTt65lJhDLMByJ5mfitcIhmz7FntNbSgvY3veFYdFClv-GLbdgdFQ2V.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\"><em>Show Commit Options<\/em><\/figcaption><\/figure>\n\n\n\n<p>If you select <em>Analyze code<\/em> here, IntelliJ IDEA will run the inspections according to the chosen profile on the changed file(s) in your commit.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXdwIYBESywp4j_csqVre84n6PyJ4E6DXvQFAjqpE26OkVoITJc4CV5i_blUOfNpuMbASxIIq3RztdvMnrAMw4KrSNydvHbkcImbsftopaIqJcdA3q-FxTMRtXozosdb-yepTJ7WNTIBIuJ3ys2RWPLMwHSL.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\"><em>Analyze code<\/em><\/figcaption><\/figure>\n\n\n\n<p>Suppose IntelliJ IDEA finds any code that may need your attention. In that case, a popup will appear in the bottom right corner, with the message <em>Commit contains problems<\/em> and listing the number and severity of these problems. Click <em>Review code analysis<\/em> to open the <em>Code Analysis<\/em> tab in the <em>Problems<\/em> tool window. Double-click any of the problems to navigate to that problem in the code and use <em>\u2325\u23ce<\/em> (macOS) or <em>Alt+Enter<\/em> (Windows\/Linux) to fix them. Amend your commit to include those fixes (if you haven\u2019t pushed your commit), or create a new commit with your fixes.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXc_KRWSmfNDpiW-trhaPag1G_8x1xp5wTUnnjddJTnXQ8VflSDU_8RKAF5SHf5R0kCDMyhjmIcHV5seLNMYWZEZD2AUiysHV3BihcEm5xiuZPF5DZQeWMMj8nUD6NtfN9U7HoeZNSn779a_p0MvTyFxQ04i.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\"><em>Commit contains problems<\/em><\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Find problems throughout the project<\/h2>\n\n\n\n<p>You may also want to check for any problems throughout your entire project. Run inspections across your entire project using <em>Code \/ Inspect Code<\/em> from the main menu. Alternatively, open the <em>Problems<\/em> tool window (<em>\u23186<\/em> on macOS) \/ <em>Alt+6<\/em> on Windows\/Linux), go to the <em>Project Errors<\/em> tab, and select <em>Inspect Code\u2026<\/em><strong> <\/strong>there.<br><\/p>\n\n\n\n<p>You can specify the scope to run the inspections on and the profile to use. Use the <em>Project Default<\/em> profile, or <a href=\"https:\/\/www.jetbrains.com\/help\/idea\/customizing-profiles.html#create-inspection-profile\" target=\"_blank\" rel=\"noreferrer noopener\">create a custom profile<\/a>. A custom profile can be used to run a subset of inspections or to include some inspections that are not run as part of the default profile. For example, if you are upgrading from one Java version to the next, you might want to create a profile to run relevant inspections, like the <em>Java \/ Java language level migration aids<\/em>.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXes771lz3bqs0M7C0_ymuQQ3uZ2FnXoM6xMMN4G27OFoTmBW3dnfofYiW2U1PByTjeYKSUPGTpde5WugxHpiC8lhmUsMS3lNws0jZSZI2btdsS-Lw2W3vBMXMqHCBRQJTgMJZ5b3iMEzZATw5hcCnoKn6xA.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\"><em>Java language level migration aids<\/em><\/figcaption><\/figure>\n\n\n\n<p>To create a custom profile, go to <em>Settings \/ Editor \/ Inspections<\/em>. Click on the <em>Settings<\/em> icon, select <em>Duplicate<\/em>, and change the profile name. Next, select the inspections you want to include in this profile.&nbsp;<\/p>\n\n\n\n<p>If you want to add only a handful of inspections to the profile, start with none by clicking on <em>Reset to Empty<\/em> to unselect all inspections. Select the inspections you want to include in this profile and click <em>OK<\/em>. Now, when you run <em>Inspect Code<\/em>, you can select the newly created profile.<br><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXc8lbviSgslZIB8kgvriMFvYBqQcHWbZq2Eyzex2vMduncbjCVWiPDcFTRzV8x6y93o1TajUrDhpYsEQEX-SCIsUS-ZwBWMFjLIt0Ucp5bAp4fotrJLLo-Vmi1V-aYW4hfyEIYtPRgPNyFi-BAwcBNCNDQ.gif\" alt=\"\"\/><figcaption class=\"wp-element-caption\"><em>Custom Profile<\/em><\/figcaption><\/figure>\n\n\n\n<p>Similar to when you run an inspection by name, IntelliJ IDEA will show any potential problems in the <em>Problems<\/em> tool window in the <em>Inspections on &lt;selected scope&gt;<\/em> tab. The <em>Inspection Results<\/em> are grouped into categories, with their severity shown. To group them differently, for example, by severity, open the <em>View Options<\/em> and select <em>Severity<\/em>. You can expand the <em>Inspection Results<\/em> to drill down to a specific result to see what the problem is and how to fix it.<\/p>\n\n\n\n<p>Note that project-wide inspections only work on Java projects.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Run inspections in CI\/CD pipelines with Qodana<\/h2>\n\n\n\n<p>In addition to running inspections in your IDE, you can inspect your code using <a href=\"https:\/\/www.jetbrains.com\/qodana\/\" target=\"_blank\" rel=\"noopener\">Qodana<\/a>. Using Qodana, you can run IntelliJ IDEA inspections locally and include them in your CI\/CD pipelines, which we will discuss later.<\/p>\n\n\n\n<p>To try out Qodana, you can enable Qodana locally for your project by going to the <em>Problems<\/em> tool window (<em>\u23186<\/em> on macOS) \/ <em>Alt+6<\/em> on Windows\/Linux) and clicking on the button <em>Try Locally<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXcuBDks5rJ3TK3mSmH58g9-CmcLBSZtj3xPRQU4Wj8GlrXq6WGFtSe02bRWlgRM9__UiGyC9xr6WsakOa2Pa7kiINAaTY_9dafNRutw2gY7gt33Yxv4HT29txCrjPt1D5J0_GYXfEebugyiYFR-TZBjzwbZ.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\"><em>Qodana \u2013 Try locally<\/em><\/figcaption><\/figure>\n\n\n\n<p>This will add a `qodana.yaml` configuration file to your project and run Qodana inspections on your project as defined in that configuration file. You can see the <em>Inspection Results<\/em> in the <em>Problems tool window \/ Server-Side Analysis<\/em> tab or open them in the browser using the link<strong> <\/strong><em>Open Qodana report in browser<\/em>. See the results in your browser and add additional inspections to your configuration as needed.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXe247_klKjfmblMLYq3mzoEpHwNatV8LSiRjFoRFeH8dWt0UVTNs1D7N1duqjLadh3J5CoP4_wFy4N4iGFeaPy7MeYdWOAzmg6s5HSBmPsakXewSwV0PWR0IE5gZMbrRXlpxKSKJFZuEE3dIt0L_erpxWq4.gif\" alt=\"\"\/><figcaption class=\"wp-element-caption\"><em>Try Qodana<\/em><\/figcaption><\/figure>\n\n\n\n<p>You can also run Qodana in your CI\/CD pipelines. This allows you to run resource-consuming inspections in your CI\/CD pipelines and to enforce quality standards with quality gates in your CI system. It enables you to access inspections that are only available in Qodana, like <a href=\"https:\/\/blog.jetbrains.com\/qodana\/2024\/06\/static-code-analysis-for-spring-run-analysis-fix-critical-errors-hit-the-beach\/\" target=\"_blank\" rel=\"noreferrer noopener\">license audits<\/a> and security checks, for example, <a href=\"https:\/\/www.youtube.com\/watch?v=Y80rIKoSSSU\" target=\"_blank\" rel=\"noopener\">finding hard-coded passwords in your code base<\/a>. In addition, you can access historical overviews of inspection results and compare the current state of your project with a baseline to see new, unchanged, and resolved problems.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXd8LJmlzH_ZpPL_fz_GQ_eRLzZ0lTWj0rcV_Ve1seTaIEv5AhfMjL72Q0Keu1_tIjZelwVixTfm5sKqgS0etqHN9XCuMnI_wXYIaz1GVDKkmiQkLVcQqgNur_ctgHLhU0AtB-LIwYvC0OUs08h00jSSbUg4.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\"><em>Add Qodana to CI\/CD pipeline<\/em><\/figcaption><\/figure>\n\n\n\n<p>To integrate Qodana with your CI system, have a look at the <a href=\"https:\/\/www.jetbrains.com\/help\/qodana\/ci.html\" target=\"_blank\" rel=\"noreferrer noopener\">documentation<\/a>. Integration guides are available for the most popular CI tools. If you\u2019d like to learn how to integrate Qodana static analysis into your project, we recommend watching <a href=\"https:\/\/www.youtube.com\/watch?v=h6fZeocZHlI\" target=\"_blank\" rel=\"noreferrer noopener\">this livestream<\/a>.<\/p>\n\n\n\n<p>Qodana now also includes Spring-specific inspections. You can find the full list of inspections for Spring Framework in IntelliJ IDEA under <em>Settings \/ Editor \/ Inspections<\/em> by searching for \u201cSpring\u201d to filter out irrelevant inspections. For more information on inspections for Spring, see <a href=\"https:\/\/blog.jetbrains.com\/qodana\/2024\/06\/static-code-analysis-for-spring-run-analysis-fix-critical-errors-hit-the-beach\/\">this blog post<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Overview of inspections<\/h2>\n\n\n\n<p>You can see the full list of inspections in your IDE. Open <em>Settings<\/em> (<em>\u2318,<\/em> on macOS) \/ <em>Ctrl+Alt+S<\/em> on Windows\/Linux), and go to <em>Editor \/ Intentions<\/em>. Inspections are grouped by languages and frameworks.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/09\/AD_4nXdrq9D7HcC80Iigbb52CefG-iQaMOpQyMateS6mATS70zOrizUMGfjQhEaD0vA94sjVjk0gPNSuvT-Lnv_7q5LXMsWOxLgPufgDOjOBsZhsR-C3QKr98GPNMxrDc_4y2vM8LUTkYq3caF3M8Vif-5MkvQo.png\" alt=\"\"\/><figcaption class=\"wp-element-caption\"><em>Settings \u2013 Inspections<\/em><\/figcaption><\/figure>\n\n\n\n<p>Each group has a checkbox next to it. A check mark indicates that all inspections in this category have been enabled. A missing check mark or any other mark indicates that all inspections have been disabled, and a minus sign indicates that some of the inspections are enabled and some are disabled, which also means that not all the inspections are enabled by default. You can enable or disable inspections depending on how applicable they are to your project. You can also change the severity of inspections, for example, if you want to make sure to use new language features.<br><\/p>\n\n\n\n<p>Alternatively, you can find more information about available inspections on the <a href=\"https:\/\/www.jetbrains.com\/pages\/inspectopedia-by-jetbrains\/\" target=\"_blank\" rel=\"noreferrer noopener\">Inspectopedia website<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Running automated checks on your project can help you find and fix problems throughout your entire project. Run checks locally using IntelliJ IDEA and\/or Qodana, or add automated checks to your CI\/CD pipeline using Qodana. You can use inspections to improve the style and quality of your code, as well as to prevent security issues.<\/p>\n\n\n\n<p>In the <a href=\"https:\/\/blog.jetbrains.com\/idea\/2024\/11\/advanced-code-analysis-in-intellij-idea\/\" target=\"_blank\" data-type=\"link\" data-id=\"https:\/\/blog.jetbrains.com\/idea\/2024\/11\/advanced-code-analysis-in-intellij-idea\/\" rel=\"noreferrer noopener\">next part of this series<\/a>, we will look at some more advanced code analysis features in IntelliJ IDEA. Subscribe to our <a href=\"https:\/\/lp.jetbrains.com\/intellij-idea-communication-center\/\" target=\"_blank\" rel=\"noopener\">blog<\/a> if you don\u2019t want to miss it.<\/p>\n","protected":false},"author":1342,"featured_media":518220,"comment_status":"closed","ping_status":"closed","template":"","categories":[4759,5088,6924],"tags":[],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/idea\/518166"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/idea"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/types\/idea"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/users\/1342"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/comments?post=518166"}],"version-history":[{"count":9,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/idea\/518166\/revisions"}],"predecessor-version":[{"id":610336,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/idea\/518166\/revisions\/610336"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media\/518220"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media?parent=518166"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/categories?post=518166"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/tags?post=518166"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/cross-post-tag?post=518166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}