編輯å¨è¨å®
èªè¨ä½ çç¨å¼ç·¨è¼¯å¨ä¾æ¹å Astro çéç¼é«é©ä¸¦åç¨æ°åè½ã
VS Code
Section titled âVS CodeâVS Code æ¯åç¶²é éç¼è æ¡è¿çç¨å¼ç·¨è¼¯å¨ï¼ç± Microsoft éç¼ãä¸äºèåçç·ä¸ç·¨è¼¯å¨å¦ GitHub Codespaces ä¹é½æ¯èç± VS Code ç弿ä¾é© åçã
å³ä½¿ Astro å¯ä»¥å¨ä»»ä½ç¨å¼ç·¨è¼¯å¨éä½ï¼ä½æå建è°ä½¿ç¨ VS Code ä½çº Astro å°æ¡ç編輯å¨ãæåæç¶è·ä¸å宿¹ç Astro VS Code 延伸模çµï¼å ¶è½æ¹åéç¼ Astro å°æ¡çé«é©ä¸¦å¸¶ä¾ä¸äºééµçåè½ã
- å¨
.astroæªæ¡ä¸è½å¤ çªé¡¯ç¨å¼èªæ³ - å¨
.astroæªæ¡ä¸é¡¯ç¤º TypeScript çåå¥è³è¨ - VS Code æºè½æé å¯å¸¶ä¾ç¨å¼ç¢¼èªå宿ãæç¤ºç
è®æåç´æ¥éå§ï¼ä»å¤©å°±ä¾å®è£ Astro VS Code å»¶ä¼¸æ¨¡çµ å§ã
Zed æ¯é«æè½ãå¯å¤äººåä½çç¨å¼ç·¨è¼¯å¨ï¼å°é度å大åå°æ¡åäºæä½³åãå®åç Astro 延伸模çµå
æ¬ .astro æªæ¡çèªæ³çªé¡¯ãç¨å¼ç¢¼èªåå®æãæ ¼å¼åã診æ·åç§»è³å®ç¾©çåè½ã
JetBrains IDE
Section titled âJetBrains IDEâWebstorm æ¯ JavaScript å TypeScript ç IDEï¼å¨ 2024.2 çæ¬æ°å¢å° Astro èªè¨ä¼ºæå¨çæ¯æ´ãéåæ´æ°å¸¶ä¾å æ¬èªæ³çªé¡¯ãç¨å¼ç¢¼èªåå®æåæ ¼å¼åçåè½ã
ä½ å¯ä»¥éé JetBrains Marketplace æå¨ IDE çã夿ç¨å¼ãæ¨ç±¤ä¸æå°ãAstroãä¾å®è£å®æ¹å¤æç¨å¼ãä½ å¯ä»¥å¨éåå°æ¹éåæééèªè¨ä¼ºæå¨ï¼Settings | Languages & Frameworks | TypeScript | Astroã
è¦ç¥éæ´å¤éæ¼ Webstorm å° Astro æ¯æ´çè³è¨ï¼è«æ¥ç宿¹ç Webstorm Astro æä»¶ã
å ¶ä»ç¨å¼ç·¨è¼¯å¨
Section titled âå ¶ä»ç¨å¼ç·¨è¼¯å¨âæåå²å®³ç社群ä¹çºäºå ¶ä»æåç編輯å¨ç¶è·äºæ¸å延伸模çµï¼ä»¥ä¸å æ¬ï¼
- Open VSX ç VS Code å»¶ä¼¸æ¨¡çµ å®æ¹ - 宿¹ç Astro VS Code 延伸模çµï¼å°é¨å編輯å¨å¦ Cursor æ VSCodium å¯å° Open VSX registry åå¾
- Vim 夿 社群 - å¨ Vim æ Neovim ä¸å¯ä»¥æä¾ Astro èªæ³çªé¡¯ã縮æåç¨å¼ç¢¼æºçåè½
- Neovim LSP å TreeSitter 夿 社群 - å¨ Neovim ä¸å¯ä»¥æä¾èªæ³çªé¡¯ãtreesitter è§£æåç¨å¼ç¢¼èªå宿åè½
- Emacs - è«åé±è¨å® Emacs å Eglot ç說æç¤¾ç¾¤ä¾è Astro åä½
- Sublime Text ç Astro èªæ³çªé¡¯ 社群 - Sublime Text ç Astro å¥ä»¶ï¼å¯å¨ Sublime Text å¥ä»¶ç®¡çå¨ä¸ç²å
- Nova å»¶ä¼¸æ¨¡çµ ç¤¾ç¾¤ - å¨ Nova ä¸å¯ä»¥æä¾ Astro çèªæ³çªé¡¯ä»¥åç¨å¼ç¢¼èªå宿åè½
ç·ä¸ç·¨è¼¯å¨
Section titled âç·ä¸ç·¨è¼¯å¨âé¤äºå¨æ¬å°ç«¯ä½¿ç¨ç·¨è¼¯å¨å¤ï¼Astro å¨ç·ä¸ç·¨è¼¯å¨ä¹è½éä½è¯å¥½ï¼ä»¥ä¸å æ¬ï¼
- StackBlitz å CodeSandbox - ç·ä¸ç·¨è¼¯å¨å¯å¨ä½ çç覽å¨ä¸å·è¡ï¼ä¸ææ¯æ´
.astroæªæ¡çèªæ³çªé¡¯ãå®å ¨ä¸éè¦å®è£ä»¥åè¨å®ï¼ - GitHub.dev - å¯ä»¥è®ä½ å° Astro ç VS Code 延伸模çµä»¥çè¦½å¨æ´å åè½çæ¹å¼å®è£ï¼å ¶å¯åå¾ä¸äºå»¶ä¼¸æ¨¡çµçåè½ï¼èç®ååªæ¯æ´èªæ³çªé¡¯ã
å ¶ä»å·¥å ·
Section titled âå ¶ä»å·¥å ·âESLint æ¯æåç JavaScript å JSX çç¨å¼ç¢¼åæå·¥å ·ã社群ç¶è·ç夿å¯ä»¥ä¸è¼ä¾å¢å å° Astro çæ¯æ´ã
詳細è³è¨å¯è³è©²å°æ¡ç使ç¨èªªæä¾äºè§£å¦ä½çºä½ çå°æ¡å®è£åè¨å® ESLintã
Stylelint
Section titled âStylelintâStylelint æ¯ä¸ç¨®æµè¡ç CSS linterã社群ç¶è·ç Stylelint çµæ æä¾ Astro æ¯æ´ã
å®è£èªªæãç·¨è¼¯å¨æ´ååå ¶ä»è³è¨å¯ä»¥å¨å°æ¡ç README æä»¶ä¸æ¾å°ã
Biome æ¯çºç¶²é éç¼æé çå
¨æ¹ä½ç¨å¼ç¢¼åæèæ ¼å¼åå·¥å
·ãBiome ç®åå° .astro æªæ¡æå¯¦é©æ§çæ¯æ´ï¼å¯ä»¥ç¨ä¾åæä¸¦æ ¼å¼å .astro æªæ¡ä¸ç frontmatterã
Prettier
Section titled âPrettierâPrettier æ¯åç±éçæ ¼å¼åå·¥å ·ï¼ç¨ä¾æ ¼å¼å JavaScriptãHTMLãCSS çãå¦æä½ ä½¿ç¨ Astro VS Code 延伸模çµï¼Prettier ç¨å¼ç¢¼æ ¼å¼ååè½å·²ç¶æç´å ¥äºã
è¦å¨ç·¨è¼¯å¨å¤é¨ï¼ä¾å¦ CLIï¼æä¸æ¯æ´æåç編輯å¨å·¥å
·ç編輯å¨å
§é¨å¢å å°æ ¼å¼å .astro æªæ¡çæ¯æ´ï¼è«å®è£å®æ¹ Astro Prettier 夿ã
-
å®è£
prettieråprettier-plugin-astroãçµç«¯æ©è¦çª npm install --save-dev --save-exact prettier prettier-plugin-astroçµç«¯æ©è¦çª pnpm add --save-dev --save-exact prettier prettier-plugin-astroçµç«¯æ©è¦çª yarn add --dev --exact prettier prettier-plugin-astro -
å¨å°æ¡æä¸å±¤æ°å¢
.prettierrcçµæ æªï¼æ.prettierrc.jsonã.prettierrc.mjsæå ¶ä»æ¯æ´æ ¼å¼ï¼ï¼ç¶å¾å¨æªæ¡å ä¸prettier-plugin-astroãä¹å¨éåæªæ¡æåæå® Astro æªæ¡ç¨çåæå¨ã
.prettierrc {"plugins": ["prettier-plugin-astro"],"overrides": [{"files": "*.astro","options": {"parser": "astro"}}]} -
ä½ å¯ä»¥é¸æçºå°æ¡å®è£å ¶ä» Prettier 夿ï¼ä¸¦å é²çµæ æªãå ä¸çéäºå¤æå¯è½éè¦ä»¥ç¹å®é åºååºãèä¾ä¾èªªï¼å¦æä½ ä½¿ç¨ Tailwindï¼
prettier-plugin-tailwindcsså¿ é æ¯ plugins é£åçæå¾ä¸å Prettier 夿ã.prettierrc {"plugins": ["prettier-plugin-astro","prettier-plugin-tailwindcss" // éè¦æ¾æå¾],"overrides": [{"files": "*.astro","options": {"parser": "astro"}}]} -
å¨çµç«¯æ©å·è¡ä»¥ä¸æä»¤ä¾æ ¼å¼åæªæ¡ã
çµç«¯æ©è¦çª npx prettier . --writeçµç«¯æ©è¦çª pnpm exec prettier . --writeçµç«¯æ©è¦çª yarn exec prettier . --write
åé± Prettier 夿ç README ä¾äºè§£å®ææ¯æ´çé¸é 以åå¦ä½å¨ VS Code å §è¨å® Prettier ççè³è¨ã
dprint æ¯é«åº¦å¯è¨å®çæ ¼å¼åå·¥å
·ï¼æ¯æ´ JavaScriptãTypeScriptãCSS åæ´å¤ç¨å¼èªè¨ãå¯ä»¥ä½¿ç¨ markup_fmt plugin å¢å å° .astro æªæ¡çæ¯æ´ã