首页 > 解决方案 > 为什么我不能在 Atom IDE 中使用 Emmet 为 JSX 启用 Tab 补全

问题描述

我指的是https://gist.github.com/ivan-hilckov/a487b21b325441cdbe8c56594a685ec0但是,它们对我不起作用。

我的package.json文件是:

{
  "name": "atom-ide-setup",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "react": "^16.6.0",
    "react-dom": "^16.6.0"
  },
  "devDependencies": {
    "babel-core": "^6.26.3",
    "babel-preset-env": "^1.7.0",
    "babel-preset-react": "^6.24.1"
  }
}

Atom 安装了以下社区包:

emmet
language-babel
language-javascript-jsx (disabled)
atom-ternjs (disabled)
javascript-snippets

我的keymap.cson文件包括:

'atom-text-editor[data-grammar~="jsx"]:not([mini])':
  'tab': 'emmet:expand-abbreviation-with-tab'

.js我正在编辑的文件如下所示:

import React, { Component } from 'react';

class App extends Component {
  constructor(props) {
    super(props);
  }

  render() {
    return (
      div.myclass  // this doesn't tab expand
    )
  }
}

export default App;

我怀疑我遗漏了一些东西,或者某些东西被关闭了。但我不知道是什么。任何帮助表示赞赏。

标签: autocompletejsx

解决方案


感谢 mikedklein 和 swelet 对另一篇相关帖子的评论。从 Emmet 2.4.3 开始command+shift+e,或者添加:

'atom-text-editor:not([mini])':'tab':
 'emmet:expand-abbreviation-with-tab'

到在菜单中的 Atom -> Keymap... 中找到的 keymap.cson 文件。是的,包括单引号。


推荐阅读