본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

Powershell Beautifier

0

Powershell Beautifier는 Windows PowerShell과 PowerShell Core용 코드 포맷터로, Dan Ward가 개발한 오픈소스 도구입니다.

대소문자 수정들여쓰기별칭 변환스크립트 정리오픈소스코드 포맷터

소개

Powershell Beautifier는 Windows PowerShell과 PowerShell Core용 코드 포맷터로, Dan Ward가 개발한 오픈소스 도구입니다. PowerShell 스크립트의 들여쓰기, 공백, 별칭, 대소문자 등을 자동으로 정리하여 가독성을 높이고 일관된 코드 스타일을 유지하도록 도와줍니다. 이 도구는 PowerShell 모듈 형태로 제공되며, 스크립트 파일을 바로 수정하거나 새 파일로 출력하는 등 유연한 사용 방식을 지원합니다.

상세정보

들여쓰기 및 공백 정리

중괄호 {}, 대괄호 [], 소괄호 (), 달러괄호 $() 내부의 코드를 올바르게 들여쓰고, 줄 내부의 모든 공백을 정리하거나 재배열합니다. 탭 또는 스페이스 기반 들여쓰기를 선택할 수 있으며, 기본값은 2칸 스페이스입니다.

별칭 및 명령어 대소문자 수정

내장 별칭을 정식 cmdlet 이름으로 변환합니다(예: dir → Get-ChildItem). 또한 cmdlet 이름, 매개변수 이름, .NET 형식 이름 등의 대소문자를 PowerShell 표준에 맞게 수정합니다(예: get-childitem → Get-ChildItem, -path → -Path).

파일 끝 개행 보장

처리된 파일이 항상 새로운 줄로 끝나도록 보장하여, 일부 도구에서 발생할 수 있는 파일 끝 누락 문제를 방지합니다.

출력 방식 선택

-SourcePath만 지정하면 원본 파일을 바로 수정하고, -DestinationPath를 추가하면 새 파일로 결과를 출력합니다. -StandardOutput을 사용하면 결과를 콘솔로 출력하여 외부 에디터와의 파이프라인 사용이 가능합니다.

다운로드·설치 방법

PowerShell 갤러리에서 모듈을 설치할 수 있습니다. 다음 명령을 관리자 권한 PowerShell에서 실행합니다:

Install-Module -Name PowerShell-Beautifier

설치 후 모듈을 가져와야 사용 가능합니다:

Import-Module .PowerShell-Beautifier.psd1

모듈이 정상적으로 로드되었는지 확인하려면 도움말을 확인합니다:

Get-Help Edit-DTWBeautifyScript

기본 사용법/명령어

사용 전 반드시 원본 파일을 백업하세요. -DestinationPath를 지정하지 않으면 원본 파일이 바로 수정됩니다.

단일 파일 원본 수정 (2칸 스페이스 들여쓰기)

기본 설정으로 파일을 바로 beautify합니다:

Edit-DTWBeautifyScript C:tempMyFile.ps1

단일 파일 탭 들여쓰기로 수정

-IndentType Tabs 옵션을 추가하여 탭 기반 들여쓰기를 사용합니다:

Edit-DTWBeautifyScript C:tempMyFile.ps1 -IndentType Tabs

단일 파일 새 파일로 출력

-DestinationPath를 지정하면 원본은 유지되고 새 파일에 결과가 저장됩니다:

Edit-DTWBeautifyScript -SourcePath C:tempMyFile.ps1 -DestinationPath c:tempMyFile_AFTER.ps1

여러 파일 일괄 처리

Get-ChildItem과 파이프라인을 사용하여 디렉터리 내 모든 .ps1, .psm1 파일을 재귀적으로 처리할 수 있습니다:

Get-ChildItem -Path c:temp -Include *.ps1,*.psm1 -Recurse | Edit-DTWBeautifyScript

표준 출력으로 결과 받기

-StandardOutput 옵션을 사용하면 파일을 수정하지 않고 결과를 콘솔로 출력합니다. 외부 에디터에서 유용합니다:

Edit-DTWBeautifyScript C:tempMyFile.ps1 -StandardOutput

줄바꿈 형식 강제 (LF 또는 CRLF)

-NewLine 옵션으로 운영체제 기본값을 무시하고 줄바꿈 형식을 지정할 수 있습니다. 예를 들어 LF를 강제하려면:

Edit-DTWBeautifyScript C:tempMyFile.ps1 -NewLine LF

이런 경우에 유용합니다

PowerShell 스크립트를 협업하거나 공개 저장소에 커밋하기 전에 코드 스타일을 일관되게 맞춰야 하는 개발자에게 유용합니다. 별칭 사용이나 일관되지 않은 들여쓰기로 인한 가독성 문제를 자동으로 해결하여 코드 리뷰 효율을 높이고, 팀 내 스타일 통일을 지원합니다.

지원 환경·시스템 요구사항

이 도구는 Windows PowerShell 5.1 및 PowerShell Core 6+에서 네이티브로 테스트되었습니다. 또한 Ubuntu, CentOS 등 Linux 환경의 PowerShell Core Docker 컨테이너에서도 동작이 확인되었습니다. macOS에서도 간헐적으로 테스트되었으나, 주요 타깃은 Windows 환경의 PowerShell 사용자입니다.

최신 버전·업데이트

현재 버전은 1.2.5이며, GitHub 저장소의 ChangeLog.md에서 업데이트 내역을 확인할 수 있습니다. 각 릴리스는 Windows PowerShell, PowerShell Core(Windows), Linux 환경에서 테스트됩니다.

제한 사항·확인 사항

이 도구는 스크립트를 수정하기 전에 반드시 사용자가 직접 백업을 권장합니다. 자동 수정이므로 예기치 못한 동작을 방지하기 위해 먼저 복사본이나 버전 관리 시스템에서 테스트하는 것이 안전합니다. 또한 -DestinationPath를 지정하지 않으면 원본 파일이 바로 덮어쓰므로 이 점을 유의해야 합니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.