Atom 편집기에서 코드를 자동으로 들여 쓰는 방법은 무엇입니까?


393

Atom 편집기에서 코드를 자동으로 들여 쓰는 방법은 무엇입니까? 다른 편집기에서는 일반적으로 일부 코드를 선택하고 자동 들여 쓰기 할 수 있습니다.

키보드 단축키도 있습니까?

답변:


664

메뉴의 편집> 줄> 자동 들여 쓰기에서 옵션을 찾았습니다. 기본 키맵이 바인딩되지 않은 것 같습니다.

다음과 같이 키 매핑을 추가 할 수 있습니다 (Atom> 키맵 열기 [Windows : 파일> 설정> 키 바인딩> "키맵 파일"]).

'atom-text-editor':
  'cmd-alt-l': 'editor:auto-indent'

그것은 나를 위해 일했다 :)


Windows의 경우 :

'atom-text-editor':
  'ctrl-alt-l': 'editor:auto-indent'

1
감사합니다! 이전에 core : select-all을 수행하면 좋을 것입니다.하지만 스크립트를 작성하는 방법에 대한 실마리는 없습니다.
doobdargent

3
@doobdargent 나는 여기서 두 명령을 새로운 명령으로 구성하는 방법에 대한 답변으로 질문을 만들었습니다 : stackoverflow.com/questions/24456995/…
Lee

15
또한 다음 cmd + shift + p을 검색 할 수 있습니다Editor: Auto Indent
코딩 닌자

1
먼저 "모두 선택"을 사용하여이 방법을 바인딩 한 다음 원래 선택 항목을 복원하는 방법을 찾아 한 번의 키 누름으로 모든 작업을 수행 할 수 있습니다. 아래 답변을 참조하십시오. stackoverflow.com/a/33927654/398630
BrainSlugs83

4
우분투의 경우 [편집> 키맵 열기]. ctrl-alt-l잠금 화면에 대한 우분투의 기본 단축키 와 마찬가지로 지금은 매핑 중입니다 ctrl-shift-].
vusan

91

허용되는 답변은 효과가 있지만 매번 "모두 선택"을 수행해야하며 너무 게으르다.

그리고 그것은 아주 사소한 것이 아니라는 것으로 밝혀졌습니다. 나는이 모든 것을 추적하는 데 30 분이 걸리는 비슷한 생각을 가진 사람들을 구하기 위해 여기에 게시 할 것이라고 생각했습니다. -참고 :이 접근 방식은 원래 선택이 완료되면 복원합니다 (너무 빨리 발생하므로 선택이 변경되었음을 알 수 없습니다).

1.) 먼저, init 스크립트에 사용자 정의 명령을 추가하십시오 (파일-> Init 스크립트 열기, 맨 아래에 붙여 넣기).

atom.commands.add 'atom-text-editor', 'custom:reformat', ->
    editor = atom.workspace.getActiveTextEditor();
    oldRanges = editor.getSelectedBufferRanges();
    editor.selectAll();
    atom.commands.dispatch(atom.views.getView(editor), 'editor:auto-indent')
    editor.setSelectedBufferRanges(oldRanges);

2.) "custom : reformat"을 키에 바인드하십시오 (파일-> 키맵 열기, 맨 아래에 붙여 넣기).

'atom-text-editor':
    'ctrl-alt-d': 'custom:reformat'

3.) Atom을 다시 시작하십시오 (init.coffee 스크립트는 atom이 처음 실행될 때만 실행됩니다).


흥미 롭군 그래도 자동으로 모든 것을 자동으로 들여 쓰기하고 싶지는 않습니다. 내장은 선택을 들여 쓰기 할 수 있습니다. 당신은 적절한 들여 쓰기가 항상 있어야한다고 주장 할 수 있습니다.
Zelphir Kaltstahl

2
@Zelphir 나는 보통 들여 쓰기 선택을위한 하나의 키 바인딩과 들여 쓰기 모두를위한 다른 키 바인딩을 가지고있다. -자주 들여 쓰기를 사용하지는 않지만 필요할 때 사용하는 것이 좋습니다.
BrainSlugs83

@ BrainSlugs83 어쩌면 약간의 주제가 아닐 수도 있습니다. 언어를 자동 들여 쓰려고 할 때 중괄호를 사용하여 코드 블록을 표시하지 않고 다른 함수 내에서 함수 또는 클래스를 정의 할 수없는 문제가 있음을 알았습니다. 이 경우 편집자는 어떤 수준에 있는지 알 수 없습니다.
Zelphir Kaltstahl

2
if oldRanges != null && oldRanges[0].start.column == oldRanges[0].end.column && oldRanges[0].start.row == oldRanges[0].end.row이 조건을 추가 editor.selectAll();하면 선택 영역 만 들여 쓰기가 가능합니다. 선택이 없으면 전체 파일이 들여 쓰기됩니다.
manish_s

1
전체 명령에 대해 단일 실행 취소 단계를 수행하려면 편집기를 정의한 후이를 추가하십시오. checkpoint = editor.createCheckpoint();그리고 마지막에 다음을 추가하십시오 .editor.groupChangesSinceCheckpoint(checkpoint);
Dan

43

다음 과 같은 바로 가기를 사용 하여 전체 파일에 자동 들여 쓰기를 적용하기 위해 패키지 자동 들여 쓰기가 있습니다 .

ctrl+ shift+i

또는

cmd+ shift+i

패키지 URL : https://atom.io/packages/auto-indent


내가 생각하는 업데이트가 필요합니다. 사용되지 않는 API 호출 사용
Dean_Wilson

1
대신 github.com/griiin/atom-auto-indent 에서 수동으로 다운로드하여 설치 한 후 작동하는 것 같습니다 ...
Dean_Wilson

참고 : 기본적으로 들여 쓰기 1 탭을 사용합니다 : /
King 's jester

24

필자는 atom-beautify를 사용하는 것을 선호합니다. CTRL+ ALT+ B(리눅스에서는 Windows에있을 수도 있음) 더 나은 종류의 형식을 처리하고 파일 형식별로 사용자 정의 할 수도 있습니다.

자세한 내용은 여기 : https://atom.io/packages/atom-beautify


나뭇 가지 가에 대한 공간을 추가 path경로를 찾을 수 없습니다 수 있도록 기능
로돌포 벨라스코

이것이 가장 간단하고 깨끗한 솔루션이라고 생각합니다. 감사.
Alessandro

17

명령 팔레트를 빠르게 열고 거기
Cmd + Shift + p에서 검색하면됩니다 Editor: Auto Indent:

스크린 샷


10
파워 유저라면 빠르지 않습니다 :)
Jad Joubran

5

이것은 나를 위해 작동합니다 :

'atom-workspace atom-text-editor':
    'ctrl-alt-a': 'editor:auto-indent'

먼저 Ctrl-A 를 사용하여 모두를 선택해야합니다 .



2

당신이 바로 가기 키에 문제가있는 경우, 열려고 Key Binding Resolver Window와 함께 Cmd + .. 실시간으로 누른 키가 표시됩니다.

예를 들어 Cmd + Shift + '실제로Cmd + "


2

리눅스에서

(Ununtu KDE에서 테스트)

메뉴의 편집> 줄> 자동 들여 쓰기 아래에 옵션이 있거나을 누르고 "ai"만 입력하여 Cmd + Shift + p검색하십시오.Editor: Auto Indent

참고 : KDE ctrl-alt-l에서는 이미 전역 적으로 "화면 잠금"으로 설정되어 있으므로 ctrl-alt-i대신 사용하는 것이 좋습니다.

Atom에서 키 매핑을 추가 할 수 있습니다.

  • Cmd + Shift + p, "설정보기 : 키 바인딩 표시"를 검색하십시오.
  • "키맵 파일"을 클릭하십시오
  • 다음과 같이 섹션을 추가하십시오.

     'atom-text-editor':
        'ctrl-alt-i': 'editor:auto-indent'
    

들여 쓰기가 작동하지 않으면 파일 끝이 Atom에 의해 인식되지 않는 이유 일 수 있습니다. 언어에 대한 지원을 추가 한 다음 (예 : "Lua") "language-lua"패키지를 설치하십시오.

해당 언어의 파일이 인식되지 않는 경우 :

  • ~/.atom/config.cson파일 열기 (Ctrl + Shift + p :``open config ''입력)
  • 예를 들어 다음과 같이 customFileTypes섹션을 추가 / 편집 하십시오 core.

    core:
      customFileTypes:
        "source.lua": [
          "conf"
        ]
        "text.html.php": [
          "thtml"
        ]
    

(언어 패키지 설정에서 언어 범위 이름 ( "source.lua", "text.html.php"...) 은 여기 참조 )


0

키 매핑 마녀를 추가하여 파일의 모든 코드를 자동으로 선택하고 들여 쓰기를 시도 할 수도 있습니다.

'atom-text-editor':
  'ctrl-alt-l': 'auto-indent:apply'

@IB 'atom-text-editor'로 시도 : 'ctrl-alt-l': 'editor : auto-indent'단축키를 누르기 전에 파일의 모든 텍스트를 선택하십시오.
Hristian Yordanov

0

저장시 자동 형식화되지 않는 그루비 코드를 작업 중이었습니다. 내가 한 것은 코드 창을 마우스 오른쪽 버튼으로 클릭 한 다음 ESLint Fix를 선택하는 것입니다. 그것은 내 들여 쓰기를 수정했습니다.

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.