본문 바로가기
Flutter/Package

플러터에서 flutter_screenutil 패키지 린트 추가하기

by Maccrey Coding 2024. 12. 23.
728x90
반응형

Flutter에서 ScreenUtil을 사용할 때, sp, w, h와 같은 메서드를 필수적으로 사용하도록 강제하는 커스텀 린트를 설정하려면, 커스텀 린트 규칙을 만들어야 합니다.

기본적으로 ScreenUtil은 화면 크기에 맞게 레이아웃을 설정하는 유틸리티로, sp는 글자 크기, w는 가로 크기, h는 세로 크기를 화면 크기에 맞게 자동으로 조정해줍니다.

이를 강제하려면 커스텀 린트를 설정해야 합니다.

1. Flutter의 기본 린트 규칙

flutter_lints 패키지를 사용하면, 기본적으로 제공되는 린트 규칙들이 있지만, 이 규칙에 ScreenUtil 관련 규칙을 추가하는 방법을 알아보겠습니다.

Flutter에서는 커스텀 린트 규칙을 사용하려면 Dart 분석 도구를 사용해야 합니다.

이를 위해 analysis_options.yaml 파일을 설정할 수 있습니다.

2. 커스텀 린트 규칙 만들기

ScreenUtil의 sp, w, h 메서드 사용을 필수로 요구하는 커스텀 린트 규칙을 만들기 위해, 기본적으로는 lint를 직접 정의하거나 외부 패키지를 사용해야 합니다. 이를 위해서는 Dart의 AST(Abstract Syntax Tree)를 분석하여 코드 내에서 ScreenUtil을 사용하는 부분을 찾고, 해당 메서드들이 반드시 사용되도록 강제할 수 있습니다.

 

그러나, Flutter/Dart에서는 맞춤형 린트 규칙을 작성하는 것이 어렵기 때문에 외부 패키지에서 제공하는 규칙을 활용하거나 analysis_options.yaml을 설정하여 간접적으로 규칙을 강제하는 방법을 사용할 수 있습니다.

3. analysis_options.yaml 설정

ScreenUtil을 사용할 때 sp, w, h 메서드를 꼭 사용하도록 유도할 수는 없지만, 이를 유도하는 방식으로 린트를 설정할 수 있습니다.

예를 들어, ScreenUtil을 사용할 때 위 코드에서 반드시 sp, w, h를 사용하는 것을 유도하는 방법은 불필요한 값 사용에 대한 경고를 추가하는 것입니다.

다만, 실제로 메서드를 필수적으로 사용하도록 강제하는 린트 규칙은 커스텀 린트 패키지를 만들어야 할 수도 있습니다.

4. analysis_options.yaml 설정 예시

linter:
  rules:
    # 글꼴 크기, 가로/세로 크기 설정에 반드시 ScreenUtil의 sp, w, h 사용을 강제
    prefer_screenutil_usage:
      - level: error
      - message: 'Use ScreenUtil\'s sp, w, h methods for screen scaling.'

# 여기서 커스텀 규칙을 추가할 수 있습니다.
 
여기서 커스텀 규칙을 추가할 수 있습니다.

위와 같은 방법으로 커스텀 규칙을 설정할 수 있지만, 실제로 sp, w, h 메서드를 강제하는 것과 같은 복잡한 규칙은 자체적인 Dart 패키지를 작성해야 합니다. 이를 통해 코드에서 해당 메서드들이 반드시 사용되도록 할 수 있습니다.

5. 커스텀 린트 규칙 만들기

ScreenUtil 메서드를 강제하는 정확한 규칙을 만들려면 Dart의 linter API를 사용해야 합니다.

Dart의 linter는 기본적으로 규칙을 정의하고, 코드 분석을 통해 특정 패턴을 찾고 이를 경고하는 기능을 제공합니다.

커스텀 린트 패키지를 만들려면 다음 단계를 따를 수 있습니다:

  1. Dart 패키지로 커스텀 린트 규칙 작성
  2. ScreenUtil의 sp, w, h를 사용하는지 확인하는 코드 작성
  3. 규칙이 위반되면 경고를 출력하도록 설정

6. flutter_lints와 외부 패키지 사용

현재로서는 flutter_lints와 같은 기본 패키지를 사용하여 ScreenUtil 사용을 유도할 수 있지만, 정확한 메서드 사용을 강제하는 린트는 Dart 자체의 커스텀 규칙을 통해 구현해야 합니다.

 

현재 sp, w, h 메서드 사용을 강제하는 커스텀 린트 규칙을 Flutter에서 구현하려면, Dart의 커스텀 린트 규칙을 작성하는 방법을 사용해야 합니다.

이는 다소 복잡할 수 있으며, 기본적인 린트 도구로는 이 기능을 바로 제공하지 않습니다.

대신, analysis_options.yaml에서 규칙을 유도하는 방법을 사용하거나 외부 패키지에서 제공하는 규칙을 활용하는 것이 좋습니다.

이 부분에 대해 더 궁금한 점이 있으면 더 자세히 설명드리겠습니다!

 

 

구독!! 공감과 댓글,

광고 클릭은 저에게 큰 힘이 됩니다.

 

Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.

 

Tester Share [테스터쉐어] - Google Play 앱

Tester Share로 Google Play 앱 등록을 단순화하세요.

play.google.com

 

728x90
반응형