Sublime 3-기능 Goto 정의를위한 키 맵 설정


143

나는 이클립스 스타일의 바로 가기 만들 Ctrl+ MouseClick기능 / 방법을 열 수 있습니다. Sublime Text 3는 이미이 함수를 호출 goto_definition했지만에 바인딩되어 F12있습니다.

그러나이 바인딩을 만드는 방법을 모르겠습니다. 나는 여기 에서 문서를 찾았 지만 너무 복잡했다. 이 간단한 키 바인딩으로 나를 도울 수 있습니까?

편집 : 이 기사에 따라 나는 이렇게해야한다고 들었다 : http://webtempest.com/better-definition-navigation-in-sublime-text-3/

[
    {
        "button": "button1", 
        "count": 1, 
        "modifiers": ["super", "shift"],
        "press_command": "drag_select",
        "command": "goto_definition"
    }
]

이것은 작동하지 않는 것 같습니다 . ctrl+ shift+는 click아무것도 실행하지 않습니다.


3
superWindows 및 Linux 용 Windows 키와 제어 대상이 아닌 OS X 용 명령 키입니다. 시도해보고 원하는 행동을하는지 확인하십시오.
skuroda

답변:


244

Eclipse 스타일 goto 정의를 설정하려는 다른 사용자는 .sublime-mousemapSublime User폴더에 파일 을 작성해야 합니다.

윈도우 - 생성 Default (Windows).sublime-mousemap%appdata%\Sublime Text 3\Packages\User

리눅스 - 생성 Default (Linux).sublime-mousemap~/.config/sublime-text-3/Packages/User

맥 - 생성 Default (OSX).sublime-mousemap~/Library/Application Support/Sublime Text 3/Packages/User

이제 해당 파일을 열고 다음 구성을 내부에 넣으십시오.

[
    {
        "button": "button1", 
        "count": 1, 
        "modifiers": ["ctrl"],
        "press_command": "drag_select",
        "command": "goto_definition"
    }
]

원하는 modifiers대로 키를 변경할 수 있습니다 .


이후 Ctrl- button1같은 Windows 및 Linux에서이 두 번째 수정 키를 추가, 복수의 선택에 사용되는 Alt이 두 기능을 사용하려면 좋은 아이디어가 될 수 있습니다

[
    {
        "button": "button1", 
        "count": 1, 
        "modifiers": ["ctrl", "alt"],
        "press_command": "drag_select",
        "command": "goto_definition"
    }
]

또는 마우스 오른쪽 버튼 ( button2)을 Ctrl단독으로 사용할 수 있으며 내장 기능을 방해하지 않습니다.


4
이 정답처럼 보이지만, 나는 모든 것을 당신은 말했다 않았고 여전히 그것은 내가 해요 작동하지 ctrl+ click그 일을하지 아무것도, 나는 오류 얻을Unable to parse binding
Kivylius

구성 파일 이름을 확인 했습니까? 당신은 어딘가에 오류 스크린 샷을 게시 할 수 있습니까?
보리스 Brdarić

누구든지 당신이 이것을 마우스 오른쪽 버튼으로 클릭하는 방법을 알고 있습니까? Context.sublime-menu 파일에 명령을 추가 할 수 있었지만 현재 선택된 텍스트에 대한 인수를 전달하는 방법을 알 수 없었습니다 ... 또는 라인 ... 문서를 찾으려고 노력하면서 좋은 것을 검색했습니다. (그리고 "args": "drag_select"를 시도했지만) 알아낼 수 없습니다. 나는 이것이 잘 작동하지만 오히려 마우스 오른쪽 버튼을 클릭하고 정의로 이동하고 싶습니다! 감사.
Tom

Enter 키를 이것에 바인딩하여 Ctrl + 클릭 할 때마다 수동으로 누를 필요가 없습니까?
user3388884

@ BorisSamardžija, 위의 스크립트가 다른 외부 파일로 이동하지 않고 현재 파일에서 함수 정의를 찾도록하려면 어떻게해야합니까?
Alexander Solonik

90

정의로 이동을 alt + d로 설정하려면 메뉴 환경 설정> 키 바인딩 사용자에서. 그런 다음 다음 JSON을 추가하십시오.

[
    { "keys": ["alt+d"], "command": "goto_definition" }
]

1
내가 투표에
참여한

9
원래 질문에 "Eclipse 스타일 shorcut Ctrl + MouseClick을 작성하여 함수 / 메소드를 열려면"이라는 질문을 받았기 때문에 아마 다운 보트를 받았을 것입니다. 마우스 단축키 버전에 관심이 없기 때문에 귀하의 답변이 유용하다는 것을 알았습니다. :)
Charles Roper

1
cmd + opt + down보다 더 나은 옵션 인 것 같습니다
uday

button1대신 사용할 수 있습니다 d... 그래서, 우리는"alt" + "button"
IROEGBU

22

적절한 정의를 수행하는 방법을 보려면 Sublime Text-> Preferences-> Key Bindings-Default로 이동하여 재정의하려는 명령을 검색하십시오.

{ "keys": ["f12"], "command": "goto_definition" },
{ "keys": ["super+alt+down"], "command": "goto_definition" }

그것들은 나의 기본에 표시되는 두 가지입니다.

Mac에서는 재정의하기 위해 두 번째를 복사했습니다.

Sublime Text-> Preferences-> Key Bindings-User에 추가했습니다.

/* Beginning of File */

[
    {
        "keys": ["super+shift+i"], "command": "goto_definition" 
    }
]

/* End of File */

이것은 Mac에서 Command + Shift + 1 조합에 바인딩합니다.


6

Mac에서는 키 바인딩을 직접 설정해야합니다. 간단하게

Sublime --> Preference --> Key Binding - User  

다음을 입력하십시오.

{ "keys": ["shift+command+m"], "command": "goto_definition" }

이것은 Shift + Command + Mgoto 정의를 가능 하게하는 키 바인딩 을 가능하게합니다. 물론 키 바인딩을 원하는 것으로 설정할 수 있습니다.


4

ctrl! = Windows 및 Linux 시스템에서 super입니다.

"Goto Definition"의 F12 버전이 여러 파일의 결과를 생성하면 "ctrl + shift + click"버전이 제대로 작동하지 않을 수 있습니다. GoSublime 패키지로 golang 프로젝트를 볼 때 해당 버그를 발견했습니다.


1
CMD + SHIFT + MOUSE1이 작동하지 않습니다! Go Go 정의를 클릭하기위한 올바른 구문은 무엇입니까?
MAGICO

@Magico 필수 GoSublime 설치이며 Golang 프로젝트에서만 작동 할 수 있습니다. GoSublime : Godoc / Goto 정의 ctrl+dot,ctrl+g 또는 ctrl+shift+left-clickWindows. Mac에서 ctrl을 명령으로 바꿉니다.
Ivan Chau 2016 년

0

Sublime 휴대용 버전 (Windows 용)을 사용하고 있으며이 ( SublimeText\Packages\User폴더에 마우스 맵 배치 )가 작동하지 않았습니다.

마우스 맵 파일을 SublimeText\Data\Packages\User폴더에 넣어 SublimeText휴대용 버전의 설치 디렉토리가있는 곳에서 작동 시켜야 했습니다 . Data\Packages\User키 맵 파일을 찾은 곳입니다.

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