jsx의 html 태그 자동 완성(하위 텍스트)
리액트/jsx 코드의 html 태그에 autocomplete를 사용할 수 있도록 하고 싶습니다.html 파일에 대해서도 같은 방법으로 동작합니다.jsx 파일에 대해 태그 자동 완성을 사용하도록 하위 텍스트 3을 구성할 수 있습니까?
Sublime의 는 Sublime의하고 약간 에 더 할 수 ./
Default.sublime-package
을 사용하다
{ "keys": ["/"], "command": "close_tag", "args": { "insert_slash": true }, "context":
[
{ "key": "selector", "operator": "equal", "operand": "(text.html, text.xml, meta.jsx.js) - string - comment", "match_all": true },
{ "key": "preceding_text", "operator": "regex_match", "operand": ".*<$", "match_all": true },
{ "key": "setting.auto_close_tags" }
]
}
바벨 패키지를 사용한다고 가정하면 셀렉터는meta.jsx.js
는 JSX 구문에 일치하여 태그 닫기 동작을 활성화합니다.스코프명은 다른 패키지에 따라 다를 수 있습니다.이 경우 ScopeHunter를 사용하여 원하는 JSX 구문에 의해 적용되는 스코프를 검사할 수 있습니다.
설치: babel 및 Emet
그런 다음 키 바인딩에 추가합니다(사용자).
"Key Bindings - User"는 "Preferences]> [ Key Bindings ]에 있습니다.
{
"keys": ["tab"], "command": "expand_abbreviation_by_tab", "context": [
{
"operand": "source.js",
"operator": "equal",
"match_all": true,
"key": "selector"
},
{
"key": "selection_empty",
"operator": "equal",
"operand": true,
"match_all": true
}
]
},
{ "keys": ["tab"], "command": "next_field", "context":
[
{ "key": "has_next_field", "operator": "equal", "operand": true }
]
}
입력할 때 괄호가 자동으로 닫히는 것은 아니지만, Mac 또는 Windows용과 가까운 곳에 Sublime의 내장 태그를 사용할 수 있습니다.
나는 babel-sublime와 Emet의 조합을 강력히 제안한다.구문으로 "JavaScript(Babel)"를 지정하면 두 패키지가 함께 작동하며 필요에 따라 emet이 "className" 및 "htmlFor"를 적절하게 생성합니다.
유일한 단점은 확장기능이 TAB에서 동작하지 않고 CTRL+E에서 동작한다는 것입니다.이는 JavaScript에서 Tab이 다른 용도로 많이 사용되고 있기 때문입니다.
다니엘의 답변을 바탕으로 이것만을 위한 플러그인을 만들었습니다.
출처 : https://github.com/FMCorz/AutoCloseTags
설치하는 방법:
- 를 위 저장소와 함께 합니다.
Package Control: Add repository
- 합니다.
Package Control: Install package
- 선택합니다.
AutoCloseTags
Emet 생략형 리스트 (여기 데모 참조) (및 치트시트 참조)
각 괄호 -> 에밋 -> 설정, 닫기 태그 등을 입력할 필요가 없습니다.
업데이트: 이제 Emet(v2+)은 JSX 및 HTML 요소를 시작할 때 탭 키로 작동합니다.<
.
를 들어, 「」입니다.<div
tab
<div></div>
한편, 「 」는, 「 」, 「 」의 사이에<MyComponent
tab
로 will will will will will will will 。<MyComponent></MyComponent>
이 새로운 기능은 디폴트로 유효하게 되어 있습니다.false로 합니다.「 Emet 」 、 「 jsx _ prefix 」 、 「 false 」"jsx_prefix": false
그러기 위해서는 [설정] -> [패키지 설정] -> [에밋]를 엽니다.
Emet 이전 버전:
약어를 확장하기 위해 사용합니다.
에멧 문서: 약어 설명에 탁월합니다.그러나 "확장 약자" 방법을 설명하지 못했습니다.-적어도 찾을 수 없었습니다.
서브라임에서 나는
- 열림:
Preferences -> Package Settings -> Emmet -> Key Bindings - Default
- 검색한
expand_abbreviation
- 찾았다
ctrl+e
행복 - 마법처럼 작용 :-)
업데이트: AutoCloseTags는 권장하지 않습니다.
적어도 Sublime Text 4 설치에서는 더 이상 작동하지 않는 것 같습니다.
대신 바벨 플러스 에밋을 사용하세요.
또한 FMcorz와 Daniel Shannon이 제공하는 AutoCloseTags를 설치할 것을 권장합니다.
이 조합은
- (네스트 규칙으로 인해 태그가 제거됨) 자동 삭제(단순히 입력)
</
에밋은, 에밋은, 즉석에서 훌륭합니다. - 누름으로써 완전한 개폐 태그(및 그 이상)까지 '완화'를 확대하다
Crtl-E
이것은 스켈레톤을 만드는 데 매우 적합합니다.
서브 라임용으로 babel이 설치되어 있는 경우 .js 및 .jsx 파일을 열고 view > synthics > open all with current로 이동합니다.올바른 구문 강조 표시를 표시하려면 babel > javascript (babel)를 사용합니다.또한 CTRL +E를 사용하여html 태그를 .jsx 내에서 자동 완성합니다.
언급URL : https://stackoverflow.com/questions/30027755/autocomplete-html-tags-in-jsx-sublime-text
'programing' 카테고리의 다른 글
ASP 후 아약스에 항변형 토큰을 포함한다.넷 MVC (0) | 2023.03.31 |
---|---|
플러그인의 wp_cron_event()가 cron 이벤트를 스케줄링하지 않음 (0) | 2023.03.31 |
워드프레스:태그 페이지에서 태그 슬러그를 얻는 방법 (0) | 2023.03.31 |
jQuery - $(문서)를 여러 개 갖는 것은 좋지 않습니다.ready(function() {}); (0) | 2023.03.31 |
다른 유형의 항목 배열에 대한 JSON 스키마 수정 (0) | 2023.03.31 |