Eclipse 포맷터가 모든 에넘을 한 줄에 배치하지 않도록 하는 방법
다음과 같은 에넘이 있습니다.
public static enum Command
{
login,
register,
logout,
newMessage
}
파일 포맷 시 출력은 다음과 같습니다.
public static enum Command
{
login, register, logout, newMessage
}
@wjans의 답변은 일반 enum에서는 정상적으로 동작하지만 인수가 있는 enum에서는 동작하지 않습니다.그의 답변을 조금 더 자세히 설명하자면, Eclipse Juno에서 나에게 가장 합리적인 포맷을 제공한 설정은 다음과 같습니다.
Window
>Preferences
>Java
>Code Style
>Formatter
- 클릭
Edit
- 를 선택합니다.
Line Wrapping
탭 - 를 선택합니다.
enum
선언 삼극 - 세트
Line wrapping policy
로.Wrap all elements, every element on a new line (...)
그래서 괄호 안에 3개 중 3개라고 되어 있어요. - 체크 마크를 끄다
Force split, even if line shorter than maximum line width (...)
그래서 괄호 안에 3개 중 3개라고 되어 있어요. - 를 선택합니다.
Constants
삼면체 - 확인.
Force split, even if line shorter than maximum line width
그러면 열거형 3개의 서브노드가 동일한 래핑정책으로 설정되며, 이 정책 이외의 경우 강제 분할정책은 동일합니다.Constants
treenode를 사용하면 인수가 있는 enum이 각각 고유한 행으로 포맷됩니다.인수는 최대 행 너비를 초과하는 경우에만 래핑됩니다.
예:
@wjans
enum Example {
CANCELLED,
RUNNING,
WAITING,
FINISHED
}
enum Example {
GREEN(
0,
255,
0),
RED(
255,
0,
0)
}
위에서 설명한 솔루션:
enum Example {
CANCELLED,
RUNNING,
WAITING,
FINISHED
}
enum Example {
GREEN(0, 255, 0),
RED(255, 0, 0)
}
포메터 설정에서 지정할 수 있습니다.
- 환경설정: Java -- 코드 스타일 -- 포맷터
- [편집(Edit)]을 클릭합니다.
- '줄 바꿈' 탭을 선택하십시오.
- 왼쪽 상자에서 'enum' 선언 -> 상수를 선택합니다.
- 줄 바꿈 정책을 '모든 요소, 모든 요소를 새 줄에 줄 바꿈'으로 설정합니다.
- 강제 분할을 확인합니다..'
약간 못생긴 것도 있지만 회사 방침상 포메터를 변경할 수 없는 경우에는 줄 끝에 코멘트를 붙이면 됩니다.
public static enum Command
{
login,//
register,//
logout,//
newMessage//
};
좋진 않지만 이클립스 포메터를 끄면 코드의 일부 구간에서...
// @formatter:off
public static enum Command {
login,
register,
logout,
newMessage
};
// @formatter:on
Windows > [ Preferences ]-> [ Preferences ]-> [ Java ]-> [ Code Style ]-> [ Formatter ]-> [ Edit ]-> [ Off / On Tags ]패널에 옵션이 있습니다
열거 선언에서 "상수"에 대한 줄 바꿈 정책을 설정해야 합니다.
래핑 정책 설정
- 새 줄에 모든 요소, 모든 요소 줄 바꿈
그리고.
- [ Force Split ](강제분할, 줄이 더 짧아도...)이라고 표시된 상자를 체크합니다.
최신 Eclipse 2018.9 추가
Window > Preferences > Java > Code Style > Formatter
-Edit
- 확대한다.
Line Wrapping
트리 노드 - 확대한다.
Wrapping settings
- 확대한다.
'enum' declaration
- 편집
Constants
그리고.Constant arguments
.
상수는 다음과 같아야 합니다.Wrap all elements, every element on a new line
. 상수 인수는 다음과 같아야 합니다.Wrap where necessary
.
언급URL : https://stackoverflow.com/questions/6676305/how-to-stop-eclipse-formatter-from-placing-all-enums-on-one-line
'programing' 카테고리의 다른 글
mysql 마지막 행에서 선택 (0) | 2022.10.21 |
---|---|
Javascript는 지금까지 선행 0을 추가했습니다. (0) | 2022.10.11 |
JavaScript 함수가 정의되어 있는지 확인하는 방법 (0) | 2022.10.11 |
MariaDB Galera 클러스터 참조 무결성 제약 조건 (0) | 2022.10.11 |
JSON 인코딩 MySQL 결과 (0) | 2022.10.11 |