2009-11-13 3 views
10

소스 코드를 다른 언어로 형식화/들여 쓰기/prettify 할 수있는 명령 줄 Unix 도구가 있습니까? 저는 특히 Java, JavaScript, PHP 및 XML에 관심이 있지만 다른 사람들을 처리하는 것이 이상적입니다. 다국어 명령 줄 소스 코드 포맷터

은 (내가 구문 강조 마크 업을 생성하기 위해 뭔가를 찾는 게 아니에요, 나는 이미 그렇게 몇 가지 도구로 알고있다.)

+1

askubuntu에 비슷한 질문을 올렸습니다 : [특정 디렉토리의 모든 소스 파일을 다시 포맷/다시 정렬하는 방법?] (http://askubuntu.com/questions/98164/how-to-reformat-reindent-all- the-source-files-in-a-given-directory) – fdierre

+0

나는 그것을 시도하지 않았지만 이것이 유망하다고 생각한다. https://github.com/google/google-java-format –

+0

할 수있는 다양한 옵션 이것은 [여기에서 찾을 수 있습니다] (https://alternativeto.net/software/artistic-style/) –

답변

1

저는 항상 Vim의 코드 포맷터를 사용하는 것이 좋습니다. 많은 언어를 알고 있으며 합리적으로 사용자 정의 할 수 있습니다.

파이프 할 수 있습니다 같은 정력에 관련된 명령 :

vim MyClass.java <<< gg=G:wq 

설명 :

  • gg=G
  • :wq 프롬프트 명령에 파일과 수익을 저장하는 파일의 형식을
+0

옙 그냥 gg = G 할. – Christian

+0

불행히도, 예를 들어,'brew install astyle'을 실행하면 (예 :'@ Override','@ Deprecated') –

4

예술적 스타일. http://astyle.sourceforge.net/

+0

이 Mac에서 homebrew로 설치 될 수 있기 전에 여러 개의 자바 어노테이션이있을 때 이것은 잘 동작하지 않습니다 –

+0

및 다양한 이 작업을 수행 할 수있는 다른 옵션은 [여기에서 찾을 수 있습니다] (https://alternativeto.net/software/artistic-style/) –

0

빔은 일반적으로 자동 구문 강조가 있고 설치할 때 대부분의 유닉스 기반 시스템에서 사용할 수 있습니다. Vim에서 포맷팅과 들여 쓰기를 할 때는 시작시 :set autoindent:set tabstop=4을 자동으로 사용합니다. autoindent은 새 줄을 시작할 때 현재 들여 쓰기를 유지하고 tabstop은 탭을 눌렀을 때 코드가 들여 쓰기되는 정도를 설정합니다 (들여 쓰기 용, 일반적으로 사용하는 탭의 경우 shiftwidth). Vim을 시작할 때마다이 옵션들을 설정하려면 ~/.vimrc 파일에 넣으십시오.

0

XML과 HTML의 경우 htb을 사용했습니다.

Eclipse 사용자 인 경우 JTidy이 또 다른 옵션입니다.

Java의 경우 Jalopy입니다.

3

이클립스 프로젝트 별 설정대로 자동 서식 옵션을 설정 한 경우, 당신은 같은 것을 할 수있다 : 이것은 당신이 실질적으로 설치 한 경우에만 사용이 목적을 위해 Eclipse를 구성하는 것이 의미

/opt/local/eclipse/eclipse -nosplash 
-application org.eclipse.jdt.core.JavaCodeFormatter 
-verbose 
-config .settings/org.eclipse.jdt.core.prefs 
src/ tests/ doc/examples/ 

을 그것은 당신이 일반적으로 사용하는 편집기에 관계없이 자동 서식 기능입니다. :)

소스

: http://blogs.operationaldynamics.com/andrew/software/java-gnome/eclipse-code-format-from-command-line

추가 정보 맥 OS X에

: 그래서

/Applications/eclipse/java-oxygen/Eclipse.app/Contents/MacOS/eclipse -nosplash -application org.eclipse.jdt.core.JavaCodeFormatter -verbose -config ~/my-eclipse-workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs MyClass.java 
+1

위대한 팁. 내가 맥과 동등한 것을 추가해도 괜찮 으면 좋겠다. –

0

, 나는 당신의주의 스타일 Revisor, GUI 및 명령 줄과 소스 코드 포매터를 가져 인터페이스. 그것은 JavaScript와 PHP를 포함하여 다른 언어를 지원할 것입니다. 명령 줄 사용법에 관심이 있다면 - 자신의 서식 스타일을 addon으로 정의 할 수 있습니다. 물론 많은 미리 정의 된 스타일을 사용할 수도 있습니다.예 :

./Style\ Revisor --lang=PHP --style=GNU --path=~/to-your-project-root-dir 

현재 Style Revisor는 두 언어 C 및 Objective-C를 지원합니다. 환영합니다 : http://style-revisor.com/

감사합니다.

+0

유망한 소리! –

+0

사실, 나는 이것을 오랫동안 찾고 있었다. 사용 준비가되면, 필자의 autoformat 플러그인 https://github.com/Chiel92/vim-autoformat을 통해 vim-support를 추가 할 것입니다. 오픈 소스가 아니라는 게 너무 나쁘다. –

+0

Vim 용 자동 서식 플러그인? 춥다. –