GoLand의 새로운 기능

GoLand 2021.2에서는 새로운 Go 모듈용 기능과 서식 지정 옵션을 도입하고 Go 1.17 기능을 지원합니다. 또한 새로운 //go:build 구문을 올바르게 사용할 수 있도록 도와주는 수정 기능을 포함해 새로운 빠른 수정이 추가되었습니다.

버전 관리가 업데이트되었으며 개선 사항에 GPG 키로 커밋 서명하는 기능이 포함됩니다. 웹 개발자를 위해 코드 저장 시 자동 페이지를 다시 로드하는 기능이 추가되었으며 MongoDB 필드 및 연산자에 코드 완성도 제공됩니다.

이러한 GoLand의 새로운 기능을 인터랙티브한 방식으로 알아보고 싶으신가요? 그렇다면 시작 화면에서 GoLand 2021.2의 새로운 기능 튜토리얼을 완료해보세요. 그곳에서 새로운 온보딩 투어도 확인할 수 있습니다. 온보딩 투어를 이용하면 GoLand를 처음 사용하는 누구나 빠르게 기능을 익힐 수 있습니다.

Go 모듈

GoLand가 go.mod 파일의 변경 내용을 로드하는 방식을 제어하는 설정

go.mod의 변경 내용을 수동으로 로드

GoLand 2021.2에서는 go.mod 편집 시 IDE가 go list를 호출하는 방식을 제어하고, go.mod 파일의 변경 내용을 수동으로 로드할 수 있습니다.

Settings(설정) | Build, Execution, Deployment(빌드, 실행, 배포) | Build Tools(빌드 도구)로 이동하여 External changes(외부 변경 내용) 옵션을 선택하세요. 그러면 사용자가 IDE에서 파일을 편집할 때 GoLand가 go list를 자동 호출하지 않습니다.

전용 아이콘을 눌러 go.mod의 변경 내용을 수동으로 로드

대신 Load Go modules Changes(Go 모듈의 변경 내용 로드) 아이콘이 표시되고 이 아이콘을 클릭하면 편집 완료 시 변경 내용을 수동으로 로드할 수 있습니다.

Reload project after changes in the build scripts(빌드 스크립트가 다음에서 변경되면 프로젝트 다시 로드) 체크박스를 선택 해제하면, 모든 유형의 내외부 변경 발생 시 Load Go modules Changes(Go 모듈 변경 내용 로드) 아이콘이 표시됩니다.

빠른 수정을 사용하여 Go 버전 변경

다양한 Go 버전에 대한 지원 개선

GoLand는 사용자가 go.mod 파일에 지정된 Go 버전보다 최신 버전의 기능을 사용하는 경우 오류를 표시합니다. 숫자 리터럴 및 //go:embed 구문의 경우, go.mod 내 Go 버전을 변경하는 빠른 수정이 제공됩니다.

시작 화면에서 이름 변경된 프로젝트 옵션

Go 모듈용 Go

시작 화면의 Go 옵션이 Go 모듈 프로젝트의 디폴트 옵션이 되었습니다. 또한 GOPATH 기반 프로젝트의 이름이 Go(GOPATH)로 변경되었습니다.

사용되지 않은 종속성 다운로드

사용되지 않은 종속성 처리

replace 지시문 내 사용되지 않은 종속성이 회색으로 강조 표시되어 오류와 구별됩니다. 회색 줄 중 하나를 마우스로 가리키면 "Unused dependency(사용되지 않는 종속성)"라는 메시지가 표시됩니다.

사용되지 않는 모듈을 다운로드해야 하는 경우, Alt+Enter를 누르고 Download all modules to the module cache(모든 모듈을 모듈 캐시로 다운로드) 옵션을 선택하세요. 개별 모듈을 다운로드할 수도 있습니다.

서식 지정 도구

설정에서 '코드 서식 다시 지정 시 gofmt 실행' 옵션 활성화

이번 릴리스에는 Run gofmt on code reformat(코드 서식 다시 지정 시 gofmt 실행) 옵션이 도입되었습니다. 이는 고유한 서식 지정 도구가 있는 GoLand에서 gofmt를 더 쉽게 찾을 수 있도록 하기 위한 첫 단계입니다.

이 옵션을 선택하면 Ctrl+Alt+L 단축키를 눌러 두 가지 서식 지정 도구를 호출할 수 있고, GoLand의 서식 지정 도구 뒤에 gofmt가 실행됩니다.

이 옵션은 기본적으로 활성화되어 있으며 Settings(설정) | Editor(에디터) | Code Style(코드 스타일) | Go에서 전환할 수 있습니다.

다양해진 빠른 수정

go-build 줄을 파일 맨 위로 이동

새로운 //go:build 제약 서식 지정에 대한 지원

GoLand에 새로운 빠른 수정이 몇 가지 추가되어 기존 // +build 제약과 새로운 //go:build 구문을 모두 올바르게 사용할 수 있습니다.

첫 번째 빠른 수정을 사용하면 새 구문에서 요구되는 대로 //go:build 줄을 파일 맨 위로 이동할 수 있습니다.

또한 Go 1.16에서는 기존 구문을 사용하거나 두 구문을 함께 사용할 수 있으므로 //go:build 줄과 더불어 // +build 줄을 생성하기 위한 빠른 수정이 추가되었습니다.

클릭 한 번으로 cgo 지원 활성화

클릭 한 번으로 cgo 지원 활성화

사용자가 'C' 패키지를 가져온 후 프로젝트 설정에서 cgo 지원 활성화하기를 잊은 경우, GoLand는 Enable cgo support(cgo 지원 활성화) 빠른 수정이 포함된 배너를 표시합니다.

패키지 이름의 시작 부분에 커서를 옮겨놓는 Navigate to cgo import(cgo import 문으로 이동) 옵션도 있습니다. 이 기능은 큰 프로젝트에서 import 문을 찾는 데 유용합니다.

디버거

디버그가 진행되는 동안 미리보기 모드 사용

이제 애플리케이션 디버그 시 Preview(미리보기) 모드가 작동합니다. 또한 이 모드를 이용하면 파일을 한 탭에서 연속으로 열 수 있어 여러 개의 파일을 별도의 탭에 열어 에디터가 지저분해지는 상황을 피할 수 있습니다.

디버그 시 Preview 모드를 활성화하려면 Settings(설정) | Editor(에디터) | General(일반) | Editor Tabs(에디터 탭)으로 이동하여 Enable preview tab(미리보기 탭 활성화) 체크박스를 선택하세요.

Go 1.17

슬라이스를 배열 포인터로 변환

Go 1.17에서는 슬라이스를 배열 포인터로 변환할 수 있습니다. GoLand는 이러한 변환을 오류로 표시하지 않습니다. Go 1.17 기능을 사용하려면 Settings(설정) | Go에서 GOROOT를 'Go 1.17'로 변경하세요.

빠른 탐색

내부 폴더에 포함된 인터페이스의 구현으로 이동

이번 릴리스부터 internal 폴더에 포함된 인터페이스에 대해 Navigate to implementations(구현으로 이동)을 수행할 수 있습니다. 여백을 클릭하면 구현으로 이동할 수 있습니다. 또한 해당 구현에서 인터페이스로 돌아갈 수도 있습니다.

VCS 업데이트

GoLand에서 GPG 서명 설정

GPG 서명

GoLand 2021.2에서는 GPG 키로 커밋에 서명하여 보안을 유지할 수 있습니다. 이 기능은 Settings(설정) | Version Control(버전 관리) | Git을 통해 활성화할 수 있습니다.

If this is your first time using a GPG key, you’ll first need to configure it. 기존에 사전 구성된 GPG 키를 사용하려면 간단히 드롭다운 목록에서 선택하세요.

커밋 전 검사의 옵션 설정

새로운 커밋 전 검사 옵션

이제 변경 내용을 커밋하기 전에 Run tests(테스트 실행)Analyze code(코드 분석)을 실행할 수 있습니다. Settings(설정) | Version Control(버전 관리) | Commit(커밋) | Before commit(커밋 전)으로 이동하거나 Commit 뷰에서 톱니바퀴 아이콘을 클릭하세요.

단, Run tests 옵션은 Settings | Version Control | Commit에서 Use non-modal commit interface(모달이 아닌 커밋 인터페이스 사용) 박스를 선택할 때만 사용할 수 있습니다.

로컬 기록 메뉴에서 검색창 사용

로컬 기록 메뉴의 새로운 검색 창

Local History(로컬 기록) 메뉴에 새 검색 창이 추가되어 여기에서 버전 관리를 사용하지 않고도 변경 내용을 추적할 수 있습니다. 이 창을 이용하면 Local History 리비전에서 검색하려는 텍스트를 빠르게 찾을 수 있습니다. 이 기능을 사용하려면 파일을 마우스 오른쪽 버튼으로 클릭하여 Local History(로컬 기록) | Show History(기록 표시)로 이동하세요.

단, Local History는 VCS를 대체하여 사용할 수 없습니다. 변경 내용 추적에는 VCS를 디폴트로 선택하고 Local History(로컬 기록)을 차선책으로 사용하는 것이 좋습니다.

커밋되지 않은 변경 내용을 저장하는 노드를 '변경 내용'으로 이름 변경

디폴트 변경 목록 대신 변경 내용 사용

커밋되지 않은 모든 변경 내용을 저장하는 노드의 이름이 새로워졌습니다. 이전에는 Default Changelist(디폴트 변경 목록)였으나 이제 Changes(변경 내용)으로 바뀌었습니다. 이 업데이트는 모든 새 프로젝트에서 기본적으로 사용할 수 있습니다. 또한, 이제 Git 작업이 changelists의 자동 생성을 트리거하지 않습니다.

UI 개선 사항

GoLand의 연결된 프로젝트 뷰

연결된 프로젝트의 뷰 개선

연결된 프로젝트가 Project(프로젝트) 뷰에서 표시되는 방식이 변경되었습니다. 예전에는 기존 프로젝트의 하위 디렉터리로 표시되었으나, 이제 Project(프로젝트) 뷰에서 별도의 디렉터리로 표시됩니다.

새로운 고급 설정 노드 및 탐색용 화살표

고급 설정 및 탐색용 화살표

새로운 Advanced Settings(고급 설정) 노드가 Settings(설정)에 추가되었습니다. 이 노드에는 Distraction-free(집중력 분산 방지) 모드의 왼쪽 여백을 구성할 수 있는 옵션 등의 추가적인 구성 옵션이 포함됩니다.

또한 Settings에 새로운 탐색 옵션도 생겼습니다. 이제 이 창의 오른쪽 상단 모서리에 있는 화살표를 사용하면 섹션 사이를 앞뒤로 이동할 수 있습니다.

GoLand로부터의 업데이트 알림

JetBrains Toolbox App으로부터의 알림 업데이트

GoLand는 새 버전을 이용할 수 있을 때 이를 알려주고 IDE에서 바로 새버전으로 업데이트할 수 있는 옵션을 제공합니다. 이 기능을 사용하려면 JetBrains Toolbox App 1.20.8804 이후 버전이 필요합니다.

설정에서 커서 모양 변경

새로운 터미널 옵션

Settings(설정) | Tools(도구) | Terminal(터미널)로 이동하여 기본 제공되는 터미널의 커서 모양을 밑줄 또는 세로선으로 변경할 수 있습니다.

Terminal 설정에는 또 다른 변경 사항이 있습니다. 이제 Use Option as Meta key(Option을 Meta 키로 사용) 설정이 지원됩니다. Meta 키를 다른 키와 함께 누르면 다른 키의 일반 액션이 일시적으로 변경됩니다. Meta 키는 터미널을 많이 사용하는 경우 유용할 수 있습니다.

프로젝트 아이콘 변경

새로운 프로젝트 아이콘 변경 창

시작 화면에서 프로젝트 목록의 프로젝트 아이콘을 사용자 지정할 수 있는 대화상자를 편리하게 사용할 수 있도록 만들었습니다. 사용자 지정 아이콘을 업로드하려면 프로젝트를 마우스 오른쪽 버튼으로 클릭한 후 컨텍스트 메뉴에서 Choose project icon(프로젝트 아이콘 선택)을 선택하세요.

웹 개발

코드 저장 시 브라우저에서 페이지 업데이트

저장 시 브라우저에서 페이지 다시 로드

이제 HTML, CSS, JavaScript 파일을 편집한 후 저장하면 브라우저에서 페이지가 자동으로 업데이트됩니다.

저장 시 페이지를 다시 로드하는 기능은 기본적으로 켜져 있으며, Settings(설정) | Build, Execution, Deployment(빌드, 실행, 배포) | Debugger(디버거) | Built-in Server(기본 제공 서버)에서 전환할 수 있습니다.

React 훅의 이름 변경

React useState 훅에 대한 이름 변경 리팩터링

이제 리팩터링이 React 훅의 useState 값과 함수에서도 작동합니다. 간단히 상태 값에 캐럿을 놓고 Shift+F6을 사용하거나 컨텍스트 메뉴를 마우스 오른쪽 버튼으로 클릭한 후 Refactor(리팩터링) | Rename(이름 변경)으로 이동하여 Rename(이름 변경) 리팩터링을 호출하세요.

GoLand에서 누락된 require 문 추가

require()에 대한 자동 import 문

GoLand은 사용자가 ES6 심볼을 완성할 때 누락한 import 문을 추가하고, 이와 동일한 작업을 CommonJS 모듈에서도 수행하여 코드 완성require() import 문이 삽입됩니다.

GoLand에서 비공개 npm 패키지에 대한 코드 완성 제안 제공

비공개 npm 패키지에 대한 코드 완성

이제 코드 완성이 비공개 npm 패키지에서 작동합니다. 공개 패키지의 경우와 마찬가지로 GoLand에서 비공개 패키지의 최신 버전에 대한 정보를 확인할 수 있습니다.

Vue 프레임워크에 web-types 사용

web-types에 대한 일반 지원

다양한 웹 프레임워크를 문서화하기 위한 오픈 소스 표준인 web-types의 새로운 버전이 도입되었습니다. web-types의 초기 버전은 Vue.js 지원에만 초점이 맞춰져 있었습니다.

JetBrains는 더 간편하게 새로운 JavaScript 프레임워크를 지원하고 기존 프레임워크 지원을 확장할 수 있도록 새로운 아키텍처를 빌드하려고 합니다. 이 블로그 게시물과 WebStorm 팀이 진행하는 웨비나를 참조하면 web-types를 사용하는 방법을 이해하는 데 도움이 됩니다.

데이터베이스 작업

MongoDB 콘솔에서 실행되는 코드 완성

이제 코드 완성이 MongoDB 콘솔에서 필드, 중첩된 필드, 집계 표현식 내 필드에 대해 작동합니다. 또한 쿼리 및 프로젝션 연산자, 업데이트 연산자, 집계 스테이지에 대해서도 작동합니다.

기타 변경 내용

저장 시 액션 설정 구성

저장 시 액션

가능한 모든 저장 시 액션이 Settings(설정) | Tools(도구) | Actions on Save(저장 시 액션)에 취합되어 거기에서 모두 구성할 수 있습니다. 활성화하려는 액션 옆의 체크박스를 간단히 선택하세요.

또한 액션 설정을 더 정확하게 구성할 수 있습니다. 이렇게 하려면 액션을 마우스로 가리키고 구성 링크를 클릭하여 표시되는 관련 설정 페이지에서 액션을 세세하게 조정하세요.

캐시 및 로그 삭제

캐시 및 로그 자동 정리

GoLand는 마지막 업데이트 후 180일이 지난 캐시와 로그 디렉터리를 자동으로 정리합니다. 이 프로세스는 시스템 설정 및 플러그인 디렉터리에 영향을 주지 않습니다.

Help(도움말) | Delete Leftover IDE Directories(남은 IDE 디렉터리 삭제) 액션을 사용해 로그와 캐시를 수동으로 정리할 수도 있습니다.

GoLand에서 문법 검사 설정

Go 파일에서 지능적인 철자 및 문법 검사 활성화

Go 파일에서 지능적인 철자 및 문법 검사가 기본적으로 활성화되었습니다. 이러한 검사는 IDE에 번들로 포함된 Grazie 플러그인에서 제공됩니다.

설정을 조정하려면 Settings(설정) | Editor(에디터) | Languages(언어) | Grammar(문법)으로 이동하세요.

GoLand의 중국어 사용자 인터페이스

한국어, 중국어, 일본어 UI

이제 GoLand UI가 한국어, 중국어일본어로 완전히 현지화되었습니다. 현지화된 UI는 번들로 포함되지 않은 언어 팩 플러그인으로 제공되며 GoLand에서 쉽게 설치할 수 있습니다.

Code With Me

Code With Me 세션 중에 동료에게 제공된 코드 제안을 GoLand에서 표시

이제 Code With Me 세션이 진행되는 동안 GoLand가 동료에게 제공한 코드 완성 제안을 추적할 수 있습니다. 이 기능을 사용하려면 Following(팔로잉) 모드에 있어야 합니다.