GoLand 2019.3에서는 CPU 소비가 감소하고 성능이 빨라졌으며 Go 모듈 지원이 강화되고 새로운 빠른 수정 모음이 추가되고 리팩터링 기능이 향상되었습니다. 또 Evaluate Expression(표현식 평가)을 통해 포함된 필드의 메서드를 호출하고 Mozilla rr을 사용하여 원격으로 애플리케이션을 디버그할 수 있습니다.
모든 새 프로젝트에 대해 Global File Watcher(전역 파일 와처)를 활성화하고 MongoDB로 작업하는 등 다양한 기능을 이용해 보세요.
올 여름 GoLand 2019.2를 출시한 이후, JetBrains는 GoLand의 성능을 높이고 CPU 소비를 줄이기 위해 열심히 작업해 왔습니다. 주요 성능 개선 사항 중 하나는 IDE가 백그라운드에서 모든 것을 준비하고 시작 화면을 표시하고 프로젝트의 색인을 생성하는 데 걸리는 시작 시간을 줄이는 것입니다.
결과는 작업 중인 프로젝트의 크기와 사용 중인 기기의 연식, RAM, 디스크 공간에 따라 달라질 수 있습니다. 이 개선 작업은 앞으로도 계속 진행될 예정이므로 향후 릴리스에서 더 빠른 시작 시간을 기대하실 수 있습니다.
GoLand 2019.3은 go.mod
파일에 구문 강조 및 탐색 기능을 제공합니다. 특정 종속성의 가져오기 경로에서 macOS의 경우 ⌘+B를 누르고 Windows/Linux의 경우 Ctrl+B를 누르면 Project View(프로젝트 뷰)에서 해당 소스로 이동할 수 있습니다.
또한 Project View에서 Go 모듈은 그저 마지막 세그먼트가 아닌 전체 가져오기 경로와 함께 표시됩니다. 또한 각 Go 모듈의 버전은 가져오기 경로보다 어두운 글꼴 색상으로 표시되므로 쉽게 구분할 수 있습니다.
디버거에서 Evaluate Expression(표현식 평가)을 사용하면 임베디드된 필드의 메서드를 바로 호출할 수 있습니다.
Linux 및 Mozilla rr에서 실행되는 Go로 작성된 많은 프로덕션 서비스는 재현하기 어려운 버그를 조사하는 데 도움이 될 수 있습니다. Mozilla rr 디버그 기능은 GoLand 2018.3부터 지원되었지만 Linux가 실행되는 개발자 시스템에서만 작동했습니다. 이제 Linux 시스템에서 디버그 서버를 시작하고 macOS 및 Windows에서 원격으로 추적을 디버그할 수 있습니다. 이 작업을 수행하려면 다음 단계를 따르세요.
dlv --headless --api-version 2 -l localhost:2345 replay /path/to/trace/dir /path/to/binary
단, Mozilla rr은 Linux 시스템에서만 사용 가능합니다.
사용되지 않는 매개변수에서 해당 매개변수의 이름과 타입을 모두 삭제할 수 있는 경우 GoLand는 두 가지를 모두 강조 표시하고, 타입이 메서드 사양을 구현하는 데 사용되는 경우에는 이름만 강조 표시합니다.
후자의 경우, 선택 가능한 두 가지 빠른 수정 옵션으로 Delete parameter names(매개변수 이름 삭제)와 Rename to_(다음으로 이름 변경)가 제공됩니다. 함수 유형으로 사용되는 함수에도 동일한 동작이 제공됩니다.
또한 사용되지 않는 모든 매개변수를 한 번에 삭제할 수 있습니다. Alt+Enter를 누르고 Delete all unused parameters(사용되지 않는 모든 매개변수 삭제) 빠른 수정을 사용하세요.
GoLand는 함수 유형에 사용되는 함수 또는 메서드가 누락된 경우 이를 생성하기 위한 빠른 수정을 제공합니다. 간단히 Alt+Enter를 누르고 Create method/function(메서드/함수 생성)을 선택하기만 하면 됩니다.
이제 GoLand에서 Alt+Enter를 누르면 프로젝트 내 어떤 파일에서든 패키지가 사용된 별칭에 따라 패키지 가져오기가 제안됩니다.
이제 Change Signature(시그너처 변경)에서 Parameters(매개변수) 및 Result parameters(결과 매개변수) 탭에 매개변수 유형이 항상 표시됩니다. 새로운 Reuse types(타입 재사용) 체크박스를 선택하면 Signature Preview(시그니처 미리보기) 및 결과에서 결과 타입을 축소할 수 있습니다.
또한 매개변수 정의를 단일 선언으로 병합하는 Reuse signature types(시그니처 타입 재사용)와 Alt+Enter를 눌러 각 매개변수에 유형을 추가하는 Expand signature types(시그니처 타입 확장)라는 두 가지 인텐션 액션이 새로 추가되었습니다.
Extract Variable(변수 추출) 및 Rename(이름 변경)에서 더 알맞은 이름을 제안합니다. 예를 들어 유형 오류 표현식에는 err
을 제안하고 context.Context
에는 ctx
를 제안합니다.
이제 GoLand의 코드 검사가 검사 대상에 더 초점을 맞춥니다. Alt+Enter를 눌러 컨텍스트 메뉴를 호출할 때 특정 코드에 가장 적절한 빠른 수정 및 인텐션 액션이 표시되도록 코드 에디터에서 탐지된 문제가 강조 표시되는 범위를 줄였습니다.
rune 리터럴 렉서가 여러 면에서 개선되었습니다.
Go에서는 짧은 var 선언의 왼쪽에 기존 변수를 사용할 수 있습니다. 따라서 동일해 보이는 2개의 구문이 서로 다른 의미를 가지는 경우가 있습니다. 이를 쉽게 구분할 수 있도록 재할당된 부분에 대한 구문 강조 표시를 추가했습니다.
GoLand 2019.3은 복합 리터럴에서 코드 접기를 제공합니다. 코드 조각을 접거나 확장하려면 코드 접기 토글을 사용하거나 Windows에서 Ctrl+NumPad Minus/Ctrl+NumPad Plus를 누르거나 macOS에서 ⌘+NumPad Minus/⌘+NumPad Plus를 누르세요. 기본 코드 접기 동작을 구성하려면 Settings(설정)/Preferences(환경 설정) | Editor(에디터) | General(일반) | Code Folding(코드 접기)로 이동하세요.
for 및 forr 라이브 템플릿에서 이제 적절한 변수 이름을 제안합니다. 예를 들어 색인에는 i
및 index
와 같은 이름이 제안되고 값에는 s
, string
및 line
이 제안됩니다.
라이브 템플릿 meth에서는 리시버 이름에 대한 코드 제안을 제공합니다.
Find(검색)를 사용할 때 선택 영역에서만 검색할 수 있습니다(macOS에서는 ⌘+F, Windows/Linux에서는 Ctrl+F). 간단히 에디터에서 필요한 코드를 선택하고 Find를 호출하면 IDE가 선택한 영역에서만 검색합니다. 전체 파일 내 검색으로 간편하게 전환하려면 ⌘+F/Ctrl+F를 두 번 누르거나 표시줄에서 In Selection(선택 영역 내) 옵션을 전환하세요.
파일 마스크를 사용해 Find in Path(경로에서 검색) 대화상자에서 검색하면 GoLand가 그에 따라 검색 결과에서 파일 확장자를 표시합니다. 이렇게 하면 이름은 같지만 파일 확장자가 다른 파일을 더 쉽게 구별할 수 있습니다.
GoLand 2018.2에는 Project(프로젝트) 및 Global(전역) 옵션을 사용하여 다른 프로젝트 간에 파일 와처 구성을 공유할 수 있는 옵션인 Global File Watcher(전역 파일 와처)가 추가되었습니다.
그러나 이 와처를 사용하려면 새 프로젝트마다 활성화해야 했습니다. 이제 생성하거나 열려 있는 모든 새 프로젝트에서 기본적으로 이 와처를 사용하도록 설정할 수 있습니다.
File(파일) 메뉴에서 Other Settings(기타 설정) | Settings for new projects(새 프로젝트 설정)를 선택하고 Tools(도구) | File Watchers(파일 와처)로 이동해 새로운 전역 와처를 추가한 다음, 그 옆에 있는 체크박스를 선택하여 모든 새 프로젝트에서 활성화하세요.
프로젝트를 완료하고 마감일을 앞두고 있는 상황에서 사용하는 제품에 대한 새로운 기능 페이지, 릴리스 노트, 블로그 게시물을 읽을 시간이 부족한 경우가 종종 있습니다. 그래서 JetBrains에서는 시간이 있을 때 GoLand 기능을 배울 수 있는 Tutorials(튜토리얼)을 추가했습니다.
Tutorials는 프로젝트 목록 상단의 시작 화면에서 찾을 수 있습니다. IDE를 새 버전으로 업그레이드하면 새 릴리스의 기능을 다루는 레슨이 생깁니다. 또는 모든 프로젝트에서 해당 도구 창을 통해 Tutorials에 액세스할 수 있습니다.
Hierarchy(계층 구조) 도구 창에서 피호출자의 메서드 계층 구조를 분석할 수 있는 새로운 옵션이 생겼습니다. 선택한 메서드의 호출자와 피호출자 사이를 전환할 수 있는 2개의 전용 버튼이 추가되었으며 메뉴에서 특수 버튼을 클릭하면 트리 내 요소를 알파벳 순으로 정렬할 수 있습니다. Tool Windows(도구 창) 목록에서 Hierarchy 도구 창을 보려면 먼저 계층 구조를 빌드한 다음, Navigate(탐색) | Call Hierarchy or Navigate(호출 계층 구조 또는 탐색) | Type Hierarchy(타입 계층 구조)로 이동하세요.
GoLand 2019.3에서는 IDE를 다시 시작하지 않아도 테마 플러그인과 단축키 플러그인을 설치 및 제거할 수 있습니다.
에디터로 초점을 돌리기 위해 ESC를 사용하는 대신 사용자 지정 단축키를 설정할 수 있습니다. Preferences(환경 설정)/Settings(설정) | Keymap(단축키)에서 Focus Editor(에디터에 초점 두기) 액션을 찾은 다음, 오른쪽 마우스 버튼을 클릭한 후 드롭다운에서 Add Keyboard Shortcut(키보드 단축키 추가)을 선택합니다.
스크롤바가 더 눈에 띄도록 설정하는 옵션이 추가되었습니다. 이 옵션을 사용하려면 Preferences(환경 설정)/Settings(설정) | Appearance & Behavior(모양 및 동작) | Appearance(모양)에서 Use contrast scrollbars(명암대비 스크롤바 사용) 체크박스를 선택하세요.
Clone(복제) 대화상자는 VCS | Get from Version control(버전 관리에서 가져오기)에 있습니다. 이제 이 대화상자에서 로그인할 수 있으며, 이미 로그인한 경우 계정 또는 조직별로 그룹화된 모든 저장소 목록이 IDE에서 즉시 미리보기로 표시됩니다.
이제 병합, 리베이스 또는 체리픽 작업 중에 발생한 충돌을 더 간편하게 조사할 수 있습니다. Show Details(세부 정보 표시) 링크를 클릭하면 결과 코드 상태의 원인이 된 커밋 목록이 표시되고, 변경 소스에 대한 자세한 정보는 Merge(병합) 대화상자에서 확인할 수 있습니다.
GoLand 2019.3에서는 MongoDB에 대한 기본 지원이 제공되어 이제 다음을 수행할 수 있습니다.
이제 연결 오류를 쉽게 검색할 수 있습니다. 연결이 실패하면 IDE에서 전용 버튼을 간단히 클릭하여 Google 검색 엔진을 통한 오류 검색 결과로 이동할 수 있습니다.
Bootstrap이나 다른 CSS 라이브러리를 사용하고 해당 라이브러리가 HTML 파일 내에서 CDN에 연결된 경우 이제 클래스 소스를 프로젝트에 추가하지 않아도 해당 라이브러리의 클래스 이름에 코드 완성 기능을 사용할 수 있습니다.
JavaScript 또는 TypeScript에서 새 변수 및 매개변수 이름을 추가하면 프로젝트, 표준 라이브러리, 사용 중인 종속성에 정의된 클래스, 인터페이스, 유형 별칭의 이름을 기반으로 이름이 제안됩니다.
새로운 변수, 함수, 클래스, 인터페이스의 경우 동일한 범위에서 이미 사용되었지만 아직 정의되지 않은 이름에 대한 제안도 제공됩니다.