본문 바로가기
카테고리 없음

IntelliJ 프로젝트 구조를 Markdown으로 내보내는 방법

by Hoft 2025. 3. 18.
728x90
반응형

개발을 하다 보면 프로젝트 구조를 문서화해야 할 때가 많습니다. 특히 팀원들과 프로젝트 구조를 공유하거나, 블로그에 정리할 때 가독성 좋은 Markdown 포맷으로 저장하고 싶을 때가 있죠.

저도 최근 IntelliJ에서 프로젝트 구조를 Markdown으로 정리할 일이 생겨서 몇 가지 방법을 테스트해봤습니다. 이 글에서는 가장 간단하면서도 효율적인 방법을 소개해 보겠습니다.


1. tree 명령어를 활용한 Markdown 변환 (추천 ✅)

가장 간단한 방법은 터미널에서 tree 명령어를 활용하는 것입니다. 저는 macOS에서 아래 명령어를 실행해봤습니다.

tree -L 3 -F | sed '1s/^/```\n/; $a\
```' > project_structure.md

👉 윈도우에서는 tree /F /A > project_structure.md 명령어를 사용
👉 tree 명령어가 없으면, Mac은 brew install tree, Ubuntu는 sudo apt install tree로 설치 가능.

📌 명령어 설명

  • tree -L 8 -F : 현재 디렉토리의 구조를 8단계(depth)까지 출력, -F 옵션은 폴더와 파일을 구분해 표시
  • sed '1s/^/```\n/; $a\ ```' : 출력된 내용을 Markdown 코드 블록( ``` )으로 감싸기
  • > project_structure.md : 결과를 project_structure.md 파일로 저장

실제 결과는 아래와 같이 출력됩니다.

이 방법은 간단하면서도 Markdown 친화적인 구조를 만들 수 있어서 가장 추천합니다.


2. IntelliJ 플러그인 활용 (GUI 선호 시)

터미널이 익숙하지 않다면 IntelliJ 플러그인을 활용하는 방법도 있습니다.

📌 "Markdown Navigator" 플러그인 설치

  1. Settings (환경설정)Plugins
  2. "Markdown Navigator" 검색 후 설치
  3. 프로젝트 구조를 복사하여 Markdown에 붙여넣기

하지만 직접 구조를 수정해야 하는 단점이 있습니다.


3. Python 스크립트로 자동 변환 (커스텀 가능)

좀 더 세련된 Markdown을 원한다면 Python 스크립트를 활용할 수도 있습니다.

import os

def generate_markdown_tree(directory, level=0):
    markdown = ""
    for item in sorted(os.listdir(directory)):
        path = os.path.join(directory, item)
        if os.path.isdir(path):
            markdown += "  " * level + f"- 📂 **{item}**\n"
            markdown += generate_markdown_tree(path, level + 1)
        else:
            markdown += "  " * level + f"- 📄 {item}\n"
    return markdown

project_root = "."  
markdown_output = "# 📁 Project Structure\n\n" + generate_markdown_tree(project_root)

with open("project_structure.md", "w", encoding="utf-8") as f:
    f.write(markdown_output)

print("Markdown 파일 생성 완료: project_structure.md")

이 방법은 아이콘(📂, 📄)을 추가하여 좀 더 가독성 있는 Markdown을 만들 수 있다는 장점이 있습니다.


결론 📌

  • 가장 간단한 방법tree -L 3 -F 명령어 활용 (sed와 조합하면 Markdown 친화적)
  • GUI로 편하게 → IntelliJ 플러그인 활용
  • 세련된 Markdown → Python 스크립트로 자동 변환

저는 개인적으로 터미널에서 tree -L 3 -F + sed 조합이 가장 편리했습니다.
개발하면서 프로젝트 구조를 문서화해야 할 일이 있다면, 위 방법 중 하나를 활용해 보세요! 🚀

728x90
반응형