Configure Emmet for JSX in VSCode

假如想象 提交于 2021-01-20 19:06:30

问题


I use css like this:

const styles = {
  foo: {
    color: 'red'
  }
}

<div className={styles.foo} />

and I want emmet to expand .foo to <div className={styles.foo}></div>

I don't see any reference to class or className in emmet's config file.

Also looked into preferences.json and didn't find a solution.

It seems very simple to do. What am I missing here?

my code editor is vscode.

Thanks in advance for help :)


回答1:


Emment configuration or enabling is editor specific. In VSCode, You need to enable it for current work space. Follow theses steps. (If you are busy, follow bold letters.)

  1. Press Ctrl + , or Cmd + , or File > Preferences > Settings. This will open Settings window.
  2. Go to Workspace tab > Extensions > Emmet. You'll see Edit in settings.json under Preferences.

  1. You'll see following content by default (my version is 1.35.0) for the new version please see Kevin's comment

    {
        "folders": [],
        "settings": {}
    }
    
  2. Change the content to below

    {
        "folders": [],
        "settings": {
            "emmet.includeLanguages": {
               "javascript": "javascriptreact"
            }
         }
    }
    
    • See more about emmet configuration
  3. Save the file Ctrl + S.

  4. Go to your .jsx file, type .myClass. Press tab. It should expand to following.

    <div className="myClass"></div>
    

EDIT: To obtain {myClass} instead of "myClass"

Currently it's a pending [feature request][3]. But you can go to `VSCodeInstallationDir/resources/app/extensions/emmet` and apply the patch. (using `npm i`)



回答2:


Press Ctrl + , or Cmd + , or File > Preferences > Settings. This will open Settings window. Go to Workspace tab > Extensions > Emmet.

For new vs code version, you'll see a menu called Included Languages. similar to this:

After enter javascript in the item box and after type javascriptreact in the value field and finally press Add item. Your final output must look like:



来源:https://stackoverflow.com/questions/56311467/configure-emmet-for-jsx-in-vscode

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!