본문 바로가기
Flutter

[VS Code] const 자동 완성 옵션 설정하기

by haku-s 2024. 6. 20.
728x90

Dart에서 상수 변수에 대해 const 사용이 권유됩니다.

 

예를 들어,

위의 파란줄에서 다음의 단축키인 Ctrl + '.' (Windows/Linux) 또는 Cmd + '.' (Mac)으로 빠른 수정 확인 시 const를 add하라는 것을 볼 수 있습니다.

 

코드를 계속 작성하다보면 자주 const를 등록해줘야 하는 경우가 생기는데요.

이러한 귀찮음을 없애기 위해 자동 완성 옵션을 설정하는 방법을 살펴보겠습니다.

 

설정하는 방법은 다음과 같습니다.

1. Ctrl + p (Windows/Linux) 또는 Cmd + ',' (Mac)를 눌러 팔레트(Palette)를 엽니다.

 

2. settings를 검색하여 Open User Settings를 선택합니다.

 

3. 다음의 코드를 추가합니다.

"editor.codeActionsOnSave": {
    "source.fixAll": true
}

 

※ 위의 이미지에서 볼 수 있듯이, 최신의 flutter에서는 true가 warning으로 나타납니다.

그대로 사용해도 상관 없으나, 다음과 같이 수정하면 warning을 제거할 수 있습니다.

"editor.codeActionsOnSave": {
    "source.fixAll": "explicit"
}

 

"source.fixAll"의 값으로 다음과 같이 사용가능합니다.

"always": 창 또는 포커스 변경에 의해 트리거되는 명시적 저장 및 자동 저장 시 코드 작업을 트리거합니다.
"explicit": 명시적으로 저장된 경우에만 코드 작업을 트리거합니다.
"never": 저장 시 코드 작업을 트리거하지 않습니다.
false: 저장 시 코드 작업을 트리거하지 않습니다. 이 값은 "never"로 인해 더 이상 사용되지 않습니다.
true: 명시적으로 저장된 경우에만 코드 작업을 트리거합니다. 이 값은 " explicit"을 위해 더 이상 사용되지 않습니다.

 

그렇다면 const를 사용하는 이유는 무엇일까요? 그것은 다음의 이유와 같습니다.

1. 불변성: const로 선언된 객체는 변경할 수 없는 불변 객체입니다. 이는 객체가 생성된 후 그 상태가 변경되지 않음을 보장합니다.

2. 컴파일 타임 상수: const로 선언된 값은 컴파일 타임에 결정됩니다. 즉, 애플리케이션 실행 전에 상수 값이 결정되어 메모리에 저장됩니다. 이는 성능을 향상시킬 수 있습니다.

3. 성능 최적화: const 객체는 동일한 값을 가진 다른 const 객체와 공유할 수 있습니다. 이는 메모리 사용량을 줄이고, 애플리케이션의 성능을 향상시킵니다.

4. Flutter에서 위젯을 const로 선언하면, 프레임워크는 해당 위젯이 불변임을 알고 불필요한 재빌드를 피할 수 있습니다. 이는 애플리케이션의 렌더링 성능을 최적화합니다.

 

ref)

https://stackoverflow.com/questions/77945267/vscode-settings-json-error-incorrect-type-expected-string

 

VSCode settings.json error - incorrect type expected string

how do i fix the error shown in the pic, i was trying to edit my VSCode settings.json, installed the extension Ruff and tried to edit the settings based on an article I've read here: https://medium...

stackoverflow.com

 

728x90