-
카테고리
-
세부 분야
모바일 앱 개발
-
해결 여부
해결됨
context 관련 질문입니다!
23.07.15 01:32 작성 23.07.15 01:32 수정 조회수 329
1
섹션3 / AssetIcon / 04:41~04:51 / Line24
color ?? context.color.text,
04:47에서 context.co까지만 입력해도 자동완성이 뜨는데요.
Q1. context가 어떤걸(어떤 파일의 어떤 클래스?) 지칭하는지 궁금합니다
Q2. 어떤 매커니즘으로 theme_service import가 자동완성으로 뜨는지 궁금합니다(어떻게 인식했는지..?)
질문이 난해할 수도 있는데, context에 관한 질문입니다!
답변을 작성해보세요.
2
DevStory
지식공유자2023.07.15
안녕하세요~!
섹션3 후반부에 BuildContext 챕터에서 BuildContext가 무엇인지 상세하게 설명드리고 있으니 해당 챕터를 참고 부탁드립니다 :)
theme_service.dart
파일이 자동으로 뜨는 기능은 VSCode에서 제공하는 기능으로, BuildContext를 extension
하여 context.color
를 추가한 구문을 VSCode가 기억하고 있다가 코드 입력시 해당 코드가 위치한 파일을 추천해주는 것으로 이해하실 수 있습니다. 간혹 자동 완성이 안뜨는 경우도 있는데, 이땐 해당 코드가 있는 파일에서 저장(Ctrl/Cmd + S)를 눌러주셔야 VSCode에서 추천을 해주는 경우도 있습니다.
감사합니다.
안일호
질문자2023.07.17
감사합니다!
두번째 질문은, 자동완성으로 뜰 수 있는 많은 것들 중에 어떻게 theme_service를 딱 인식했는지에 관한 질문이었습니다..!
BuildContext 파트를 참고하여 연구해보겠습니다 감사합니다~~
DevStory
지식공유자2023.07.17
두 번째 질문 추가 답변 드립니다.
기존 BuildContext
클래스에는 color
라는 getter 함수가 존재하지 않기 때문에 context.color
라고 입력하더라도 아무런 자동완성도 뜨지 않는게 맞습니다.
하지만 theme_service.dart
파일에서 Dart의 extension
문법을 활용하여 BuildContext
클래스에 color
getter 함수를 추가해 주었고, 이를 VSCode가 알고 있기 때문에 context.color
라고 입력하는 경우, theme_service.dart
파일을 import 하라고 추천해주게 됩니다 :)
감사합니다.
답변 1