개발을 하다 보면 프로젝트 구조를 문서화해야 할 때가 많습니다. 특히 팀원들과 프로젝트 구조를 공유하거나, 블로그에 정리할 때 가독성 좋은 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" 플러그인 설치
Settings (환경설정)
→Plugins
- "Markdown Navigator" 검색 후 설치
- 프로젝트 구조를 복사하여 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
조합이 가장 편리했습니다.
개발하면서 프로젝트 구조를 문서화해야 할 일이 있다면, 위 방법 중 하나를 활용해 보세요! 🚀
댓글