styled-components / vscode-styled-components

Syntax highlighting for styled-components
MIT License
918 stars 117 forks source link
hacktoberfest intellisense javascript syntax-highlighting typescript vscode

NOTE: Sadly this repository is no longer supported or updated by the Styled Components team as of June 2024. If you wish to help develop this code please reach out on Discord or in the issue. We can unarchive this repo if we get contributors but until then it will remain the way it is.

vscode-styled-components

Styled Components has moved! Make sure you're downloading it from here: https://marketplace.visualstudio.com/items?itemName=styled-components.vscode-styled-components. The jpoissonnier.vscode-styled-components version will recieve no more updates.

Discord

Syntax highlighting and IntelliSense for styled-components.

Syntax highlighting in action

Uses a CSS grammar built on top of language-sass and language-css.

Install

Inside VSCode, press Ctrl+P, and enter:

ext install vscode-styled-components

It should be the top result.

[Source]

Features

Usage

The styled-components extension adds highlighting and IntelliSense for styled-component template strings in JavaScript and TypeScript. See plugin configuration for information on configuring the linter and other language features.

Raising an issue

Please check the issues list to see if it has already been raised. If it has you can vote on it with a thumbsUp emoji. Issues with the most votes tend to be prioritised.

Contributing

see Contributing

Troubleshooting

There's no syntax highlighting?

Syntax Highlighting is specifically made to work with styled so make sure your default import is styled and nothing else.

See: https://github.com/styled-components/vscode-styled-components/issues/118#issuecomment-833007295

Secondly make sure your file is set to the right language. It should be typescriptreact or javascriptreact. Using the correct extensions (jsx, tsx) should help with this.

Emmet tab completion isn't working

Be sure to include "emmet.triggerExpansionOnTab": true in your VSCode settings to enable tab completion.** More settings and instructions can be found here.

Emmet is auto completing HTML tags instead of CSS

This is an upstream issue in VSCode unfortunately. The root cause is here: https://github.com/microsoft/vscode/issues/119736 which itself was raised from https://github.com/microsoft/vscode/issues/51537. There was an issue raised in this repo but there's nothing that can be done on our end.

I get "unknown property: X" on a property I know is valid

Property look up comes from the css language service which in turn comes from MDN Data. If its a custom property, or something that is not in MDN you can add your own property like so: https://github.com/microsoft/typescript-styled-plugin/issues/58#issuecomment-444733368

If however you believe this property is standard and thus missing you can raise this issue with either one of the above projects; please check for any raised issue first.

Intellisense is not working!

It hasn't worked since updating to v1.7.8!

This is due to a clash between TypeScript 5.0.0 and this extension. When VSCode released March 2023 that had TypeScript 5.X set by default which 1.7.8 supports but lower versions don't. So, if you're not getting intellisense its most likely because you've updated the extension but haven't updated your version of TypeScript yet. The quick option is to downgrade to v1.7.5, the long term option is to migrate to TypeScript 5.X See: https://github.com/styled-components/vscode-styled-components/issues/387

If it's not the above, See these issues: