GoLand 2020.3에서는 고루틴 덤프를 탐색하고, 개별 테이블 테스트를 실행 및 탐색하고, Testify 테스트 프레임워크에 대한 확장된 지원을 통해 더 많은 이점을 누릴 수 있습니다. 또한 시간 패키지 지원, 패키지를 처리하는 개선된 방법, UI 개선, 웹 개발 및 데이터베이스 작업을 위한 다양한 새 기능, 공동 개발 및 페어 프로그래밍을 위한 새로운 서비스를 포함한 많은 새로운 코드 편집 기능이 추가되었습니다.
글로 읽는 대신 대화식으로 학습하고 싶으신가요? 그렇다면 IDE의 시작 화면에서 GoLand 2020.3의 새로운 기능 튜토리얼을 확인해주세요.
디버거에 새로운 고루틴 덤프 아이콘을 사용하면 디버그 세션 중에 스택에 지정된 문자열을 포함하는 고루틴을 쉽게 찾을 수 있습니다. 아이콘을 클릭하면 별도의 창에서 덤프가 열립니다.
중요한 정보에 집중할 수 있도록 개별 고루틴 또는 동일한 스택을 가진 고루틴을 숨기는 옵션이 있습니다. 고루틴을 마우스 오른쪽 버튼으로 클릭하고 원하는 작업을 선택하거나 간단히 삭제를 눌러 덤프 창의 특수 숨김 섹션으로 이동하면 방해를 받지 않고 주의력을 유지할 수 있습니다.
GoLand 2020.3은 재연결이 필요하지 않은 경우 Go Remote 구성으로 프로세스를 중지할 수 있는 기능을 제공합니다.
구성 설정에서 연결 해제시 디버거의 디폴트 동작을 지정하거나, Stop remote Delve processes(원격 Delve 프로세스 중지), Leave it running(계속 실행하기)를 선택하거나, GoLand에서 매번 어떻게 진행할지 묻도록 할 수 있습니다.
Run(실행) 도구 창에서 개별 테이블 테스트를 실행하고 탐색할 수 있습니다.
몇 가지 제한 사항은 다음과 같습니다.
%s
및 %d
동사를 사용한 fmt.Sprintf()
호출일 수 있습니다. IDE는 이제 테스트 모음을 시작하는 테스트 함수를 인식하고, 하위 테스트 이름이 문자열 상수이기만 하면 개별 suite.Run
및 suite.T().Run
을 시작할 수 있는 방법을 제공합니다. 또한, 전체 최상위 테스트를 다시 실행하지 않도록 Run(실행) 도구 창에서 하위 테스트를 다시 실행할 수 있습니다.
또한 GoLand는 이제 동일한 메서드 이름을 가진 Testify 그룹을 단일 테스트 케이스 내에서 개별적으로 실행할 수 있습니다.
마지막으로, testing.T
를 첫 번째 인수로 받아들이는 함수 또는 메서드를 완성할 때 GoLand는 가능한 경우 해당 인수를 자동으로 전달합니다. 이 동작은 testify/assert
, testify/require
, testify/mock
및 testify/suite
패키지의 메서드 및 함수에서 작동합니다.
Incorrect usage of Println/Printf-like functions(Println/Printf like 함수의 잘못된 사용) 코드 검사 기능이 github.com/pkg/errors
, github.com/sirupsen/logrus
및 go.uber.org/zap
패키지의 잠재적인 문제를 경고합니다.
뿐만 아니라, 자리 표시자 강조 표시 및 접기와 Add format string argument(서식 문자열 인수 추가) 인텐션을 추가했습니다.
context.CancelFunc not called code 검사 기능이 잠재적으로 안전하지 않은 컨텍스트 취소 사용을 보고합니다. 이 기능은 context.WithCancel
(및 유사한 함수)에서 반환한 'cancel' 함수가 일부 실행 경로에서 호출되지 않을 때 특히 유용합니다.
이 패키지에 대해 자세히 알아보려면 https://golang.org/pkg/context/를 방문하세요.
시간 및 기간 작업을 보다 쉽게 수행할 수 있도록 Time 패키지에 대한 지원을 추가했습니다. GoLand는 코드 완성(Ctrl+Space)을 통해 미리 정의된 레이아웃의 요소를 ISO-8601의 YYYY
, MM
, DD
자리 표시자로 제안합니다.
토큰에서 Ctrl+P를 누르면 IDE가 해당 의미를 표시합니다. 레이아웃 토큰에 대한 구문 강조 표시도 있습니다. 코드 완성 기능은 문자열 리터럴 외부의 표준 시간 레이아웃도 제안합니다.
IDE는 이제 자주 사용하고 프로젝트의 go.mod
파일에 명시적으로 선언된 패키지에 대한 코드 완성 항목에 우선순위를 둘 때 더 똑똑하게 작동합니다.
프로젝트 가져오기 경로 및 코드 완성 제안에서 패키지를 완전히 제외하는 옵션도 추가하였습니다. Alt+Enter를 누르거나 Settings(설정) | Go | Imports(가져오기)의 새로운 Exclude for import and completion(가져오기 및 코드 완성에 대해 제외) 창에서 이 작업을 수행할 수 있습니다.
GoLand에서는 변수 가리기를 더욱 쉽게 찾을 수 있습니다.
테스트 파일에 func
를 입력하면 GoLand가 기본적으로 코드 완성 옵션에서 bench
및 test
Live Templates(라이브 템플릿)을 제안합니다.
벤치마크 내에 for
를 입력하면 IDE는 b.N
가 있는 for 루프로 이를 완성하도록 제안합니다.
이제 Alt+Enter를 누르면 대화 상자에 제안이 즉시 나타납니다. 또한, 새로운 버전의 LanguageTool 문법 검사 엔진은 향상된 영어 검사 기능을 제공하고 다른 10개의 언어를 추가적으로 지원합니다.
GoLand 2020.3은 공동 개발 및 페어 프로그래밍을 위한 JetBrains의 새로운 서비스인 Code With Me(EAP)를 지원합니다. Code With Me를 사용하면 IDE에 현재 열어 놓은 프로젝트를 다른 사람과 공유하고 실시간으로 함께 작업할 수 있습니다.
Code With Me에 관한 자세한 내용은 이 게시물을 확인해 주세요.
다음의 항목에 바로 액세스 할 수 있도록 시작 화면을 재설계 했습니다.
Settings(설정) | Appearance & Behavior(모양 및 동작) | Appearance(모양) | Theme(테마)에서 Sync with OS(OS와 동기화) 옵션을 선택하여 OS 환경 설정에 따라 IDE 테마를 자동으로 전환합니다.
탭을 원하는 위치로 드래그 앤 드롭하여 메인 에디터 화면을 가로 또는 세로로 분할하세요. 탭을 드래그할 때 에디터가 드롭할 수 있는 위치를 강조 표시합니다.
프로젝트 뷰에서 파일 작업을 수행할 때 이용되는 UX를 개선했습니다. 이제 Project(프로젝트) 뷰에서 파일을 열면 포커스가 자동으로 에디터로 이동하여 즉시 코드 작업을 시작할 수 있습니다. 스페이스바를 누르면 IDE가 Project(프로젝트) 뷰에서 파일 미리보기를 표시합니다.
에디터에서 동시에 여러 파일을 열고 싶을 때 이제 간단히 단축키 하나로 열 수 있습니다. Project(프로젝트) 뷰에서 파일을 선택하고 Shift+Enter를 누르면 IDE가 Editor(에디터) 창을 분할하고 오른쪽에서 파일을 엽니다.
이제 VCS 메뉴가 현재 사용 중인 버전 관리 시스템에 맞게 조정되어 VCS 기능이 더 이상 하위 메뉴에 숨겨지지 않으므로 주요 VCS 기능에 더 쉽게 액세스할 수 있습니다.
멋진 새 Git 스테이징 영역을 사용할 수 있습니다! 이 기능은 Commit(커밋) 도구 창에서만 사용할 수 있습니다.
Settings(설정) | Version Control(버전 관리) | Git에서 Enable staging area(스테이징 영역 사용) 체크박스를 선택하여 이 기능을 설정할 수 있습니다. 이렇게 하면 변경 목록에 대한 지원이 비활성화됩니다.
커밋 UI에서 스테이징된 파일과 스테이징이 해제된 파일을 찾을 수 있습니다. 파일의 스테이징이 준비되면 옆에 있는 + 아이콘을 클릭하면 됩니다. 그러면 Staged(스테이징됨) 노드 아래에 파일이 나타납니다. 스테이징 영역에 변경 사항을 추가하려면 여백 아이콘 또는 Show Diff(Diff 표시)를 사용할 수도 있습니다.
브랜치 작업이 개선되었습니다.
Enable for Current Project(현 프로젝트에서 활성화) 또는 Enable for All Projects(모든 프로젝트에서 활성화)을 선택하여 현재 프로젝트 또는 모든 프로젝트에 플러그인을 활성화하도록 설정하는 기능을 추가했습니다. Settings(설정) | Plugins(플러그인)에서 활성화 또는 비활성화하려는 플러그인의 톱니 바퀴 아이콘을 누르고 원하는 옵션을 선택하세요.
macOS 시스템 단축키 키맵(Settings(설정) | Keymap(키맵))은 시스템 단축키와의 확장된 호환성을 제공하고 필수 작업에 F 키 사용을 피할 수 있도록 하는 대체 macOS 키맵을 제공하는 데 목적을 두고 있습니다.
메서드 측정 기준을 더 빠르게 찾을 수 있도록 프로파일러와 해당 시각화에서 플레임 그래프의 검색 메커니즘을 개선했습니다. 돋보기 아이콘을 클릭하거나 플레임 그래프 패널 내에 검색 요청을 입력할 수 있습니다.
또한 검색 필드, 검색 결과 사이의 빠른 탐색을 위한 위/아래 화살표, 전체 플레임 그래프 또는 특정 하위 트리에서만 검색할 수 있는 기능을 추가했습니다.
WebStorm 팀의 노력 덕분에 GoLand는 이제 웹 개발에 대한 풍부한 지원을 제공합니다. 이 영역에서 예정된 변경 사항 중 하나는 해결되지 않은 참조에서 React 구성 요소를 만드는 기능입니다. 해결되지 않은 구성 요소에 캐럿을 놓고 Alt+Enter를 누른 다음 해당 검사를 선택하세요.
GoLand는 npm 및 yarn과 더불어 pnpm 패키지 관리자를 완벽하게 지원합니다. pnpm-lock 파일이 있는 프로젝트를 열고 컴퓨터에 pnpm이 설치되어 있으면 GoLand가 이 프로젝트의 패키지 관리자를 pnpm으로 자동으로 변경합니다. IDE에는 Settings(설정) | Languages and Frameworks(언어 및 프레임워크) | Node.js and NPM(Node.js 및 NPM) 아래의 패키지 관리자 목록에 전용 pnpm 옵션도 있습니다.
GoLand 2020.3을 사용하면 webpack 구성 파일의 수동 또는 자동 탐지 중 하나를 선택할 수 있습니다. 이 새로운 옵션은 Settings(설정) | Languages & Frameworks(언어 및 프레임워크) | JavaScript | Webpack에서 찾을 수 있습니다.
DataGrip 팀 동료들 덕분에 GoLand는 새로운 멤버인 Couchbase를 통해 지원되는 데이터베이스의 범위를 확장했습니다! IDE는 Couchbase Analytics 서비스가 아닌 Couchbase Query 서비스를 지원한다는 점에 유의하세요.
GoLand는 객체 권한 부여를 인지하고 객체의 DDL에 이를 표시합니다. 이 기능은 MySQL, PostgreSQL, Greenplum, Redshift 및 SQL Server에서 작동합니다.
셀 값에 대한 별도의 에디터를 개선했습니다.
데이터 작업을 보다 쉽게 수행할 수 있도록 두 가지 새로운 추출기를 추가했습니다.
INSERT
문을 생성합니다. 또한, CSV 서식 구성에 never quote values(따옴표로 묶지 않음)라는 새로운 옵션이 추가되었습니다.