CLI에서 편집기 명령 사용 - Amazon Q Developer

CLI에서 편집기 명령 사용

Amazon Q Developer CLI가 제공하는 /editor 명령을 사용하면 원하는 텍스트 편집기를 열어 복잡한 프롬프트를 구성할 수 있습니다. 이는 다중 라인 프롬프트, 코드 예제를 사용하거나 질문을 신중하게 구성해야 하는 경우에 특히 유용합니다.

기본 사용법

빈 프롬프트로 기본 편집기를 열려면 다음을 수행합니다.

Amazon Q> /editor

초기 텍스트로 편집기를 열려면 다음을 수행합니다.

Amazon Q> /editor Write a Python function that calculates Fibonacci numbers

/editor 명령을 사용하면 Amazon Q는 .md 확장자가 있는 임시 파일을 생성하고 이 파일로 지정된 편집기를 연 다음, 편집기를 저장하고 닫을 때 콘텐츠를 읽고 프롬프트로 제출합니다.

원하는 편집기 설정

Amazon Q는 시스템의 $EDITOR 환경 변수를 사용하여 열 편집기를 결정합니다. 설정하지 않으면 기본값은 vi입니다.

임시 설정(현재 세션만 해당)

현재 터미널 세션에 대해서만 편집기를 설정하려면 다음을 수행합니다.

$ export EDITOR=nano

영구 설정

세션 간에 편집기 기본 설정을 지속하려면 다음과 같이 쉘 구성 파일에 내보내기 명령을 추가합니다.

# For bash (add to ~/.bashrc)
export EDITOR=nano

# For zsh (add to ~/.zshrc)
export EDITOR=nano

# For fish shell (add to ~/.config/fish/config.fish)
set -x EDITOR nano

구성 파일을 편집한 후 터미널을 다시 시작하거나 파일을 소싱합니다.

$ source ~/.bashrc  # or ~/.zshrc

공통 편집기 옵션

다음은 사용할 수 있는 몇 가지 일반적인 편집기 옵션입니다.

  • vi 또는 vim - Vi/Vim 텍스트 편집기

  • nano - Nano 텍스트 편집기(초보자 친화적)

  • emacs - Emacs 텍스트 편집기

  • code -w - Visual Studio Code(VS Code CLI 설치 필요)

  • subl -w - Sublime Text(Sublime CLI 설치 필요)

참고

GUI 편집기의 -w 플래그는 파일이 닫힐 때까지 터미널을 기다리게 하므로 중요합니다.

작동 방법

/editor 명령은 다음 워크플로를 따릅니다.

  1. /editor 명령을 사용하면 Amazon Q는 .md 확장명이 있는 임시 파일을 생성합니다.

  2. 지정된 편집기가 이 파일로 열립니다.

  3. 편집기에 프롬프트를 작성하고 파일을 저장합니다.

  4. 편집기를 닫을 때

  5. Amazon Q가 콘텐츠를 읽고 프롬프트로 제출합니다.

  6. 임시 파일이 자동으로 정리됩니다.

편집기에서 코드 작업

편집기에서 코드를 작성하면 편집기를 닫을 때 전체 콘텐츠가 Amazon Q에 프롬프트로 전송됩니다. 코드는 로컬에서 실행되지 않으며 AI에 대한 텍스트 입력으로 처리됩니다.

예: 코드 작성 및 제출

  1. 편집기를 열려면 /editor를 입력합니다.

  2. 다음과 같이 편집기에서 Python 스크립트를 작성합니다.

    def fibonacci(n): if n <= 1: return n else: return fibonacci(n-1) + fibonacci(n-2) # This function seems inefficient # How can I improve it?
  3. 저장하고 편집기를 닫습니다.

  4. Amazon Q는 이 전체 텍스트를 프롬프트로 수신하고 코드 개선을 위한 제안으로 응답합니다.

이 접근 방식은 다음과 같은 경우에 유용합니다.

  • 코드 검토 가져오기

  • 최적화 요청

  • 복잡한 코드 구조 설명

  • 디버깅을 돕기 위한 컨텍스트 제공

다른 명령과 결합

다른 Amazon Q CLI 명령과 결합하면 /editor 명령이 훨씬 더 강력해집니다. 다음은 워크플로를 개선하기 위한 몇 가지 실용적인 조합입니다.

/editor를 /compact와 함께 사용

/compact 명령은 Amazon Q 응답을 더 간결하게 만듭니다. 이 조합은 효율적인 코드 검토에 매우 적합합니다.

Amazon Q> /editor
# Write in the editor:
Please review this Python function that calculates prime numbers:

def is_prime(n):
    if n <= 1:
        return False
    if n <= 3:
        return True
    if n % 2 == 0 or n % 3 == 0:
        return False
    i = 5
    while i * i <= n:
        if n % i == 0 or n % (i + 2) == 0:
            return False
        i += 6
    return True

# Save and close

Amazon Q> /compact
# This makes Amazon Q provide a concise code review

/editor를 /context와 함께 사용

/context 명령은 대화 컨텍스트에 파일을 추가합니다. 이 조합은 다른 파일을 참조하는 코드를 설명하는 데 유용합니다.

Amazon Q> /context path/to/config.json
Amazon Q> /editor
# Write in the editor:
Given the config.json file I just shared, please help me write a Python function that:
1. Loads the configuration
2. Validates all required fields are present
3. Returns a validated config object

# Save and close

/editor를 /clear와 함께 사용

/clear 명령은 새 대화를 시작합니다. 이 조합은 주제를 전환할 때 도움이 됩니다.

Amazon Q> /clear
Amazon Q> /editor
# Write in the editor:
I want to start a new discussion about AWS Lambda cold starts.
What are the best practices for minimizing cold start times for Python Lambda functions?

# Save and close

다단계 대화에 /editor 사용

/editor 명령은 사용할 때마다 새 임시 파일을 생성합니다. 이 명령을 대화에서 여러 번 사용하여 이전 응답을 구축할 수 있습니다.

# First use of editor for initial complex question
Amazon Q> /editor
# Write in editor:
I need to design a database schema for a library management system.
Requirements:
- Track books, authors, publishers
- Handle member checkouts and returns
- Support reservations and waiting lists
- Generate overdue notices

# After getting Amazon Q's response with initial schema design

# Second use of editor for follow-up with specific implementation details
Amazon Q> /editor
# Write in editor:
Based on your proposed schema, I have some follow-up questions:
1. How would you modify the Member table to support different membership tiers?
2. What indexes would you recommend for optimizing checkout queries?
3. Can you show me SQL to create the Books and Authors tables with proper relationships?

이 접근 방식의 이점은 명령줄에 모든 내용을 입력하지 않아도 이전 대화를 참조하는 복잡한 후속 질문을 신중하게 만들 수 있다는 것입니다. 각 편집기 세션이 제공하는 스페이스 및 서식 제어를 사용하면 Amazon Q의 이전 응답을 기반으로 하는 자세한 질문을 작성할 수 있습니다.

/editor를 /profile과 함께 사용

특수 질문에 편집기를 사용하기 전에 다른 컨텍스트 프로필로 전환합니다.

Amazon Q> /profile set aws-developer
Amazon Q> /editor
# Write detailed AWS-specific questions that benefit from the AWS developer profile context

/editor를 /help와 함께 사용

명령 옵션에 대해 잘 모르는 경우 /editor 앞에 /help를 사용할 수 있습니다.

Amazon Q> /help editor
# Review the help information
Amazon Q> /editor
# Use the editor with better understanding of available options

명령 조합 모범 사례

  1. 특정 파일을 참조해야 하는 경우 /editor 앞에 /context 사용

  2. 복잡한 질문에 대한 간결한 응답을 원하는 경우 /compact 앞에 /editor 사용

  3. 완전히 새로운 주제를 시작할 때 /editor 앞에 /clear 사용

  4. 후속 질문을 신중하게 작성해야 하는 복잡한 다중 파트 대화에 여러 /editor 세션을 사용합니다.

  5. /editor를 사용하기 전에 현재 프로필을 고려하여 올바른 컨텍스트에 있는지 확인합니다.

효과적인 사용을 위한 팁

  • 신중한 구조화를 활용하는 복잡한 프롬프트에 편집기 사용

  • 적절하게 들여쓰기된 코드 예제 포함

  • 명확한 섹션화로 다중 파트 질문 구성

  • 마크다운 형식을 사용한 구조 강화

  • 빈 파일을 저장하면 프롬프트가 제출되지 않습니다.

문제 해결

  • 편집기가 열리지 않음: $EDITOR 환경 변수가 올바르게 설정되었는지 확인합니다.

  • ‘해당 파일 또는 디렉터리 없음’ 오류: 편집기 명령이 PATH에 설치되어 있는지 확인합니다.

  • 터미널 중단: GUI 편집기의 경우 대기 플래그(예: -w)를 사용해야 합니다.

  • 콘텐츠가 제출되지 않음: 편집기를 닫기 전에 파일을 저장했는지 확인합니다.