GoLand의 새로운 기능

GoLand 2022.1에서는 제네릭Go 작업 공간을 지원합니다.

또한 마이크로서비스 작업을 위한 몇 가지 신규 기능을 추가했습니다. 전용 도구 창에서 모든 엔드포인트를 검색하고 Go 파일에서 바로 HTTP 요청을 생성할 수 있습니다.

언제나처럼 GoLand 신규 버전은 웹 개발 개선 사항과 데이터베이스 업데이트를 제공합니다.

대화형으로 알아보고 싶으시다면 시작 화면에서 GoLand 2022.1의 새로운 기능 튜토리얼을 완료해보세요.

제네릭

제네릭을 사용하여 추가 함수 생성

개선 및 버그 수정 사항

이번 릴리스의 가장 중요한 과제는 거짓 양성 및 거짓 음성 오류 수정이었습니다. 지금까지 200개 이상의 제네릭 관련 문제가 해결되었습니다.

여는 대괄호 입력 시 GoLand가 자동으로 닫는 대괄호 추가

완성 기능

또한 타입 매개변수 관련 기능이 몇 가지 추가되었습니다.

여는 대괄호를 입력하는 즉시 GoLand가 자동으로 닫는 대괄호를 삽입합니다.

코드 완성 제안의 타입 매개변수

GoLand는 코드 완성 제안에 타입 매개변수를 표시하고 제안 중 하나가 수락된 경우 대괄호를 삽입합니다.

빠른 수정을 사용하여 누락된 메서드 구현

누락된 메서드 구현 빠른 수정

타입 인수에 대한 제약 조건을 지정하는 인터페이스의 메서드 중 누락된 메서드가 있는 경우 GoLand는 오류를 표시합니다. 오류 메시지에서 바로 빠른 수정을 사용하면 누락된 메서드를 구현할 수 있습니다.

또는 빨간색 전구 아이콘을 클릭하거나 Alt+Enter를 누르고 Implement missing methods(누락된 메서드 구현)를 선택하면 됩니다.

Go 작업 공간

go.work 파일 열기

go.work 파일로 디렉터리를 열고 평소와 다름없이 개발을 진행할 수 있습니다. 앞으로 go.work의 구문 강조 표시 및 코드 완성 기능도 구현될 예정입니다.

마이크로서비스

Go 파일에서 선언으로 이동 액션 사용

사용 위치 찾기 및 탐색

참고: 마이크로서비스 빌드를 위한 신규 기능은 현재 표준 라이브러리에서만 작동합니다.

이제 Go 파일의 각 엔드포인트 옆에 지구 아이콘이 표시됩니다. 아이콘을 클릭하면 GoLand가 몇 가지 옵션을 제안합니다.

첫 번째 옵션을 사용하면 모든 엔드포인트 사용 위치를 찾고 탐색할 수 있습니다. Ctrl 키를 누르고 엔드포인트를 클릭하면 사용 위치가 표시됩니다.

Go 파일에서 요청 생성

요청 생성

지구 아이콘 클릭 시 표시되는 두 번째 옵션은 Generate request in HTTP client(HTTP 클라이언트에서 요청 생성)입니다. 해당 옵션을 선택하면 IDE에서 번들로 제공되는 HTTP 클라이언트가 열립니다. 이 액션을 사용해 모든 유효한 URL에 대한 요청을 생성할 수 있습니다.

이제 HTTP 클라이언트는 엔드포인트에 대한 코드 완성 기능을 제공합니다. Go 파일(현재는 표준 라이브러리만 지원됨), Swagger 사양, .proto 파일 및 JavaScript 파일의 엔드포인트에서 코드 완성 기능을 사용할 수 있습니다.

새로운 엔드포인트 도구 창 열기

엔드포인트 도구 창

세 번째 옵션은 Show all endpoints of module(모듈의 모든 엔드포인트 표시)입니다. 이 옵션을 선택하면 프로젝트의 모든 엔드포인트가 표시되는 새 Endpoints(엔드포인트) 도구 창이 GoLand에서 열립니다.

여기에서 Jump to source(소스로 이동)를 사용하거나 엔드포인트를 클릭한 후 HTTP 클라이언트 탭에서 바로 요청을 실행할 수 있습니다.

GoLand에서 HTTP 메서드 코드 완성 제안 표시

메서드 및 헤더 코드 완성

이제 코드 완성 기능을 Go 파일의 HTTP 메서드 및 헤더에서 사용할 수 있습니다.

브라우저에서 링크 열기

링크와 엔드포인트에 밑줄 표시

이제 Go 파일의 모든 링크와 엔드포인트에 밑줄이 표시되므로 코드에서 이를 쉽게 확인할 수 있습니다. 링크는 클릭 가능하며 브라우저에서 열 수 있습니다.

GoLand에서 gRPC 요청에 대한 코드 완성 제안 표시

gRPC 리플렉션 지원

If your project doesn't have a .proto file but the server supports gRPC reflection, you will be able to run requests and get completion for service and method names right from a running server.

테스트

잘못된 서식 지정 동사가 사용된 경우 오류 표시

testify/assert에 대한 문자열 서식 지정

이제 GoLand는 testify/assert 함수에서 잘못된 서식 지정 동사가 사용된 경우 오류를 보고합니다.

디버거

디버그 창에 탭 라벨 표시

숨겨진 탭 라벨

Debugger(디버거) 도구 창의 가용 공간을 극대화하고자 기본적으로 탭 라벨이 숨겼습니다. 탭 라벨을 다시 표시하거나 위치를 사용자 지정하려면 Layout Settings(레이아웃 설정)에서 Show Tab Labels(탭 라벨 표시) 옵션을 사용하세요.

Kubernetes

클러스터에서 로드된 리소스 수정

클러스터의 리소스 편집

참고: Kubernetes 플러그인은 Settings(설정) | Plugins(플러그인)에 설치할 수 있습니다.

클러스터에서 로드된 리소스를 에디터 탭에서 수정할 수 있습니다.

kubectl 경로를 변경할 수 있는 설정

kubectl에 대한 사용자 지정 경로

kubectl이 표준 위치에 없는 경우 kubectl에 대한 경로를 수동으로 구성할 수 있습니다. 사용자 지정 경로를 설정하려면 Settings(설정) | Build, Execution, Deployment(빌드, 실행, 배포) | Kubernetes | Path to kubectl executable(kubectl 실행 파일 경로)로 이동하세요.

툴바의 포트 포워딩 기능 사용

포트 포워딩

Pod에 포트 포워딩 기능이 추가되었습니다. 포트 포워딩을 수행하려면 툴바의 아이콘을 사용하거나 Pod를 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴의 Forward Ports…(포트 포워드...) 옵션을 선택하세요.

리소스 설명 액션 사용 중

서비스 뷰의 리소스 설명 액션

Services(서비스) 뷰의 모든 리소스에 대해 새로운 Describe Resource(리소스 설명) 액션이 제공됩니다. 컨텍스트 메뉴에서 호출하거나 툴바의 버튼을 사용하세요.

서비스 뷰에 표시되는 클러스터 이벤트.

클러스터 이벤트용 노드

이제 Services(서비스) 뷰에서 클러스터 이벤트가 별도 노드로 표시되어 시스템의 최근 이벤트에 대한 데이터를 제공합니다.

Helm 템플릿 파일 작업 시 코드 완성.

Werf 지원

werf.yaml 및 관련 Helm 템플릿 파일을 위한 일부 에디터 지원이 추가되었습니다. 코드 완성 기능, 검사, 빠른 수정 제안, .Values.werf.image.* 리팩터링 및 이름 변경, booleanint와 같은 일부 필드 유효성 확인 등의 조기 지원을 제공합니다.

Docker

서비스 도구 창

새로운 서비스 뷰 UI

Services(서비스) 도구 창의 Docker UI가 대대적으로 개편되어 컨테이너, 이미지, 네트워크 및 볼륨에 대한 개선 사항이 구현되었습니다.

Docker Compose 대상 지원

Docker Compose 대상 지원

Docker Compose 대상에 대한 지원이 추가되었습니다. 대상을 추가하려면 Run(실행) | Manage targets(대상 관리)를 선택한 후 Add new target(새 대상 추가)을 클릭하세요.

Docker Registry 설정에서 액세스 가능한 Docker V2.

Docker Registry V2 지원

이제 GoLand에서 Docker Registry HTTP API V2가 지원됩니다.

Markdown

Markdown 에디터의 코드 복사 아이콘

코드 복사 아이콘

Markdown 블록에 Copy code(코드 복사) 아이콘이 추가되어 콘텐츠를 클립보드에 쉽게 복사할 수 있습니다.

Markdown 파일의 명령어 실행

명령어 실행

Markdown 파일에 터미널에서 실행해야 하는 명령어와 관련된 지침이 있는 경우, 여백의 Run(실행) 아이콘을 사용하여 Markdown 파일에서 바로 해당 명령어를 실행할 수 있습니다.

새로운 플로팅 툴바가 있는 Markdown 파일

플로팅 툴바 개선 사항

Markdown 파일의 서식을 간편하게 지정할 수 있도록 텍스트 선택 시 표시되는 플로팅 툴바가 개선되었습니다. 디자인이 새로워졌을 뿐 아니라 툴바에서 목록 생성 기능, 헤더 스타일 선택을 위한 드롭다운 메뉴도 제공됩니다.

사용자 경험

알림 도구 창

알림 도구 창

IDE의 중요하고 유용한 알림을 더 명확하게 강조하기 위해 Event Log(이벤트 로그) 인스턴스를 새로운 Notifications(알림) 도구 창으로 교체했습니다.

구조 검색 및 바꾸기 대화상자

업데이트된 구조 검색 및 바꾸기 대화상자

이제 Structural Search and Replace(구조 검색 및 바꾸기) 대화상자에 모든 템플릿 목록이 표시되어 템플릿을 더 쉽게 탐색할 수 있습니다.

GoLand는 Structural Search and Replace(구조 검색 및 바꾸기)에서 XML, HTML, SQL 및 JavaScript를 지원합니다.

에디터 탭 균등 분할

탭 균등 분할

에디터의 작업 공간을 다양한 탭에 균등하게 분할할 수 있습니다. 이를 설정하려면 Settings(설정) | Advanced Settings(고급 설정) | Editor Tabs(에디터 탭)으로 이동하여 Equalize proportions in nested splits(중첩된 분할의 비율을 동일하게 변경) 옵션을 선택하세요.

UML 다이어그램 내보내기

UML 다이어그램을 다른 형식으로 내보내기

이제 다이어그램을 yEd .graphml, JGraph .drawio, Graphviz .dot, 위치 정보 포함 Graphviz .dot, Mermaid .md, Plantuml 및 IDEA .uml 파일로 내보낼 수 있어 타사 도구와 호환성이 개선되었습니다.

버전 관리

커밋 세부정보 패널의 GPS 서명 정보

Git 도구 창의 커밋 세부정보 패널 업데이트

이제 Commit details 패널에 상세한 GPG 서명 정보가 포함됩니다.

'Git Blame으로 어노테이션 추가' 기능이 활성화되면 GoLand에서 코드 줄의 차이점이 강조 표시됨

Git Blame으로 어노테이션 추가 기능 업데이트

도입된 변경 사항을 더 쉽게 살펴볼 수 있도록 Annotate with Git Blame(Git Blame으로 어노테이션 추가) 기능을 개선했습니다. 어노테이션에 마우스를 올리면 IDE에서 바로 코드 줄의 차이점이 강조 표시됩니다. 또한 해당 어노테이션을 클릭하면 Git Log(Git 로그) 도구 창이 열립니다.

데이터베이스

여러 테이블을 다른 스키마에 복사

여러 객체 복사

이제 여러 테이블을 선택하고 다른 스키마에 복사할 수 있습니다.

테이블을 선택하고 F5 키를 누르면 내보내기 대화상자가 열립니다. 테이블 1개를 내보낼 경우 열을 매핑하고, 새 테이블의 DDL을 확인하거나 변경할 수 있습니다.

MongoDB 컬렉션의 필드 편집

MongoDB: 결과 내 필드 편집

이제 관계형 데이터베이스에서와 마찬가지로 MongoDB 컬렉션의 결과를 쉽게 편집할 수 있습니다.

참고: 2022.1 버전의 모든 데이터베이스 업데이트는 DataGrip의 새로운 기능 페이지에서 확인할 수 있습니다.

웹 개발

GoLand에서 Vue 파일의 전역 구성 요소 인식

Vue 관련 개선 사항

Vue 3에 대한 몇 가지 개선 사항이 있습니다. 이제 구성 요소를 전역으로 정의하면 .vue 파일에 있는 해당 구성 요소가 IDE에서 인식됩니다.

GoLand는 createApp 구문도 지원하여, createApp을 사용하여 만든 애플리케이션을 관련 요소와 정확하게 일치시킵니다. 이 버전에는 인기 있는 Vue 프레임워크의 새 버전인 Nuxt 3에 대한 지원도 포함되어 있습니다.

GoLand는 Link 구성 요소에서 href 프로퍼티의 경로를 확인

Next.js 업데이트

페이지 지원이 수정되었습니다. GoLand는 Link 구성 요소의 href 프로퍼티에 사용된 경로를 확인합니다. 또한 코드 완성, 탐색 및 Rename(이름 변경)과 같은 리팩터링도 작동합니다.

ES 모듈을 사용한 Webpack 구성

webpack 구성을 위한 ESM 지원

이제 webpack.config.js 파일에서 webpack 코딩 지원 기능이 ES 모듈을 사용할 때 작동합니다.

GoLand는 Volta를 사용하여 설치된 Yarn 및 npm을 자동으로 인식

Volta 통합

GoLand는 JavaScript 도구 관리자인 Volta와 통합되어 Volta를 사용하여 설치된 Yarn 및 npm을 자동으로 인식합니다.

참고: 2022.1 버전의 모든 웹 개발 개선 사항은 WebStorm의 새로운 기능 페이지에서 확인할 수 있습니다.

접근성 업데이트

이제 스크린 리더가 Log(로그) 탭에서 Git 브랜치의 이름과 설명을 읽고 Ctrl+L을 사용하여 Log 필터를 탐색하라는 음성 안내를 제공합니다.

또한 macOS 사용자를 위한 접근성 지원을 개선하고자 VoiceOver 지원을 다양하게 업데이트했습니다.