GoLand Releases

더 스마트해지고 빨라진 GoLand 2020.1

GoLand 2020.1이 드디어 출시되었습니다!

이번의 새로운 GoLand 버전에서는 Go 모듈 지원을 위한 다양한 업그레이드는 물론 사용자의 입력이 거의 필요하지 않은 코드 편집 기능과 확장된 코드 완성 기능이 제공됩니다.

또한 새로운 코드 검사, 빠른 수정을 비롯해 프로젝트를 생성하거나 로드하지 않고 텍스트 에디터에서 파일을 열 수 있는 새로운 LightEdit 모드 등의 기타 개선 사항이 추가되었습니다. 지능적인 철자 및 문법 검사, 웹 개발 및 데이터베이스 작업을 위한 새로운 기능도 업데이트에 포함됩니다.

blog@2x-4

새로운 기능에 관한 자세한 내용은 GIF, 스크린샷과 함께 릴리스에 대한 전체 개요를 담은 새로운 기능 페이지에서 확인하실 수 있습니다.

GoLand 2020.1 다운로드

릴리스에 대한 내용을 읽기보다 직접 사용하며 알아가고 싶다면 IDE 내에서 튜토리얼을 완료할 수 있습니다. 시작 화면의 프로젝트 목록 위에서 Features of GoLand 2020.1(GoLand 2020.1 기능) 튜토리얼을 찾거나 에디터에서 Learn(학습) 탭을 클릭하세요. 단, 이 튜토리얼에서는 기술적 한계로 인해, 릴리스에 도입된 모든 기능을 다루지는 않습니다.

참고 사항: 이제 JBR8이 포함된 빌드가 제공되지 않으므로 2019.3.x~2020.1의 패치가 없습니다. JBR8이 포함된 IDE를 사용 중인 경우 Update(업데이트)Restart(다시 시작) 버튼을 누르면 업데이트 알림이 표시되지만, 사용하려고 하면 403 오류가 발생합니다. 따라서 JBR11이 포함된 최신 버전의 IDE를 웹사이트에서 다운로드하는 것을 권장합니다.

새로운 주요 내용

Go 모듈

Go 모듈 지원이 다각적으로 확장되어 다음 작업을 수행할 수 있습니다.

  • 새 대화상자를 사용하여 환경 변수의 기본값을 구성할 수 있습니다.
  • go.mod 파일에서 코드 완성, 리팩토링 및 탐색 기능을 이용할 수 있습니다.
  • 누락된 종속 요소를 가져오고 사용하지 않는 종속 요소를 즉시 제거할 수 있습니다.
  • Project(프로젝트) 뷰를 통해 Find Usages(사용 위치 검색)를 호출하여 go.mod 파일에서 특정 디렉터리 경로가 사용되는 위치를 탐색할 수도 있습니다.
  • 로컬 경로로 교체되어 커밋되지 않도록 알림을 받을 수 있습니다.

사용 방법을 배울 필요가 없는 코드 완성 기능

상용구 코드는 이제 그만 입력합시다.

  • GoLand 2020.1은 오류 처리 패턴을 완성하기 위해 if err != nil { … }를 제안합니다. 함수 내에 if를 입력하기만 하세요.
  • ‘type’ 키워드 또는 ‘struct’ 및 ‘interface’를 입력하기만 하면 구조체 및 인터페이스 유형을 더 빠르게 정의할 수 있습니다.
  • The Fill Fields(필드 채우기) 액션은 서식 지정 규칙에서 요구되는 경우 콜론 뒤에 공백을 추가하고 복합 리터럴 선언에서 구문 끝에 쉼표를 추가합니다.
  • 맵을 작업할 때 키 유형을 완료하면 코드 완성 기능에서 커서를 닫는 괄호 뒤로 이동합니다.
  • 함수의 반환 유형의 경우 코드 완성 기능은 해당 반환값 유형에 적합한 지역 변수 및 제로 값을 제안합니다.

스마트 코드 완성(⌃⇧Space 또는 Ctrl+Shift+Space)

또한 이제 스마트 코드 완성에서 다음을 제안합니다.

  • 구조체 이니셜라이저를 가리키는 포인터
  • 어설션 및 유형 switch case에서 호환되는 유형
  • 유형 어설션에서 대입된 변수의 유형
  • 표현식에서 가능한 포인터 목록

기본 코드 완성(⌃Space 또는 Ctrl+Space)

기본 코드 완성에서는 다음을 제안합니다.

  • 현재 패키지 선언의 이름과 함수 및 메소드의 매개변수 이름을 제안하는 주석 완성 기능
  • 리터럴 및 변환 완성

코드 편집

GoLand 2020.1은 값이 여러 개인 반환 함수의 시그너처를 작성할 때 쉼표 뒤에 오는 반환 유형의 주위에 괄호를 자동으로 추가합니다.

또한 다음 버전에서는 문자열 리터럴에 텍스트를 붙여넣으면 큰따옴표가 자동으로 이스케이프 처리됩니다.

Go 1.14 지원

Go 1.14 및 이전 버전에 대해 중첩 인터페이스를 임베딩할 수 있도록 지원을 추가하고 벤더링 모드를 기본적으로 활성화했습니다.

디버거

GoLand 2020.1에서는 프로파일러 라벨이 지원되어 디버그 또는 코어 덤프 분석을 실행할 때 고루틴을 더 쉽게 구별할 수 있습니다. 또한 매크로를 매개변수로 사용하여 Run/Debug Configurations(실행/디버그 구성) 대화상자에서 애플리케이션을 실행 또는 디버그하고 구성 파일을 프로젝트에 저장하여 팀원과 공유할 수 있습니다.

접미어 완성

.else 접미어 완성 템플릿은 “if” 문을 빠르게 추가하여 표현식이 false인지 확인합니다.

빠른 수정

다음과 같은 새로운 빠른 수정도 추가되었습니다.

  • Alt+Enter를 눌러 비서식 지정 호출을 서식 지정 호출로 빠르게 변경합니다.
  • 이제 Create variable(변수 생성) 빠른 수정에 기대 유형 힌트가 표시되어 올바른 값을 입력하기가 수월해집니다.

코드 검사

새로운 코드 검사가 에디터에 추가되었습니다.

  • 새로운 코드 검사에서는 비 포인터 리시버에 있는 포인터 메소드의 유효하지 않은 호출에 대해 경고하고 빠른 수정을 제공합니다.
  • Invalid conversions of uintptr to unsafe.Pointer(uintptr에서 unsafe.Pointer로의 잘못된 변환) 코드 검사는 정수를 포인터로 변환할 때 uintptrunsafe.Pointer가 잘못 사용된 경우 경고합니다.
  • Unmarshal is called with incorrect argument(Unmarshal을 잘못된 인수로 호출)라는 검사는 json.Unmarshal 호출 및 encoding/json, encoding/xml, encoding/gob 패키지의 유사 함수를 분석합니다.
  • Locks mistakenly passed by value(값에서 잘못 전달한 lock)라는 코드 검사는 lock이 포함된 값을 실수로 복사하지 않도록 도와줍니다.

라이브 템플릿

  • consts, vars, types, imports라는 4가지 템플릿이 추가되어 선언 그룹을 빠르게 생성할 수 있습니다.
  • fori 템플릿은 클래식한 for-loop의 상용구를 삽입합니다.

리팩토링

  • Extract Method(메소드 추출) 리팩토링은 상위 함수 및 메소드 매개변수의 기존 순서를 유지합니다.
  • 이제 Rename(이름 변경) 리팩토링은 선언 이름변경을 자동으로 탐지합니다. 선언 이름을 사용자가 직접 변경하는 경우 IDE에서 여백 아이콘을 표시하여 해당 사용 위치의 이름을 모두 변경하도록 제안합니다.
  • Navigate to implementations(구현으로 이동)Navigate to Declaration/Usages(선언/사용 위치로 이동)에서 현재 프로젝트의 결과를 먼저 표시합니다.
  • 이제 Find Usages(사용 위치 검색) 액션에서 인터페이스 메소드의 사용 위치를 기본적으로 항상 검색합니다.

VCS

  • 이제 새로운 커밋 도구 창에 Local Changes(로컬 변경)Shelf(보관) 탭이 통합되었습니다.
  • Branches(브랜치) 팝업이 몇가지 개편되었습니다.
  • Interactively Rebase from Here(여기에서 상호작용으로 리베이스) 대화상자가 개선되었습니다.

기타

  • JetBrains가 개발자를 위해 특별히 디자인한 새로운 글꼴인 JetBrains Mono가 이제 기본 글꼴로 사용됩니다.
  • IDE에서 작성된 텍스트에 대한 지능적인 절차 및 문법 검사를 제공하는 플러그인, Grazie가 기본적으로 번들로 제공됩니다.
  • 새로운 LightEdit 모드를 사용하면 프로젝트를 생성하거나 로드하지 않고도 텍스트 에디터에서 파일을 열 수 있습니다.
  • 새로운 Zen 모드가 추가되었습니다. 이 모드는 잠재적인 집중력 분산 요소를 없애고 코드에 완전히 집중할 수 있도록 도와줍니다. 이 모드에는 Distraction Free(집중력 분산 방지) 모드Full Screen(전체 화면) 모드가 결합되어 있습니다.
  • 외부 문서는 이제 https://godoc.org 대신 https://pkg.go.dev로 연결됩니다.
  • 기본 색 구성표가 Classic Light(클래식 라이트)라는 새로운 이름으로 복원되었습니다.

데이터베이스 업데이트

새 버전에서는 데이터베이스 작업을 하는 동안 다음을 수행할 수 있습니다.

  • Run configurations(실행 구성)를 사용하여 스크립트 파일 및 코드 조각을 실행하세요.
  • 코드 에디터에서 결과를 확인할 수 있습니다. 이 옵션은 기본적으로 해제되어 있습니다. Settings(설정)/Preferences(기본 설정) | Database(데이터베이스) | General(일반) | Show output results in the editor(에디터에 출력 결과 표시)에서 이를 활성화 할 수 있습니다.
  • 이제 SSH 터널용 구성을 생성하여 다양한 데이터 소스 및 프로젝트에서 사용할 수 있습니다.
  • 데이터를 Excel 파일로 내보낼 수 있습니다.
  • 추출기의 드롭다운 리스트에서 선호하는 데이터 형식을 선택하세요.

웹 개발

  • JavaScript 또는 TypeScript로 코딩할 때 시간을 절약할 수 있는 새로운 스마트 인텐션 및 검사(Alt+Enter)가 제공됩니다.
  • 이제 Documentation(문서) 팝업에서 심볼의 유형 및 가시성, 심볼이 정의된 위치와 같은 세부 정보를 포함해 더 유용한 정보가 표시됩니다.

언제나 그렇듯이 저희는 여러분의 의견을 기다립니다! 버그 트래커에 요청을 전송하거나 @GoLandIDE로 트윗하여 GoLand 2020.1에 관한 의견을 들려주세요. 감사합니다!

이 게시물은 Ekaterina Zharova가 작성한 Introducing GoLand 2020.1 — Even Smarter and Faster를 번역한 글입니다.

image description

Discover more