Visual Studio에서 자동 서식 해제


134

Visual Studio의 기본 설정과 달리 내 스타일의 코드 형식을 선호하는 코드 순수 주의자입니다. 도구 / 옵션에서 자동 서식 옵션을 해제했습니다. 대부분의 경우 작동합니다.

기본 제공 리팩터링을 사용한 후 Visual Studio는 기본 설정으로 내 설정을 복제합니다. VS가 그렇게하지 못하게하려면 어떻게합니까?


9
@ user1142958 오픈 소스 프로젝트에서 몇 개월마다 그리고 몇 년 동안 비즈니스에서, 나는 자신의 스타일이 표준보다 낫다고 주장하는 핫샷을 만납니다. 수년간의 연구를 통해 스타일 표준이 코드 가독성과 유지 관리 성을 향상시키는 것으로 결정되었습니다. 개발자가 자신의 "더 나은"접근 방식을 생각해 내면 일반적으로 팀의 다른 개발자를 버리는 경향이 있습니다. 이것을 예로 들어보십시오 -woldlab.caltech.edu/~king/swc/www/readstyle.html
senfo

29
@senfo 모두 유용한 정보이지만 Visual Studio의 내장 포맷터는 특정 경우에 부인할 수없는 부분이 있습니다 (예 : stackoverflow.com/questions/6459861/… ). 그러한 경우, 나는 "스타일"에 대한 VS의 슬픈 시도에 의존하기보다는 적절하다고 생각되는 표준을 따르기 위해 인간의 지혜를 사용하려고합니다.
Dan Bechard

5
@senfo-특히 Razor 측면에서 VS .cshtml 자동 서식이 손상되었습니다. 다른 부분에서 당신과 동의했지만 이것은 기능이 아닙니다-버그입니다
Ross

5
"표준"이 두 마리의 고양이가 키보드에서 싸운 것처럼 보일 때 일관성은 미덕이 아닙니다. 핫샷이라고 부르십시오. 그러나 코드를 읽기 쉽게 만드는 데 시간이 더 필요합니다. 내 경험은 완벽하게 일관됩니다. 일관성 (sic)에 대해 가장 열정을 가진 사람들은 읽을 수있는 가장 읽을 수없는 코드를 장려했습니다.
Chris Fox

5
코드 퓨리스트는 텍스트를 올바른 형식으로 입력하는 사람이므로 자동 서식을 지정할 필요가 없습니다.
Anders Lindén

답변:


106

aspx페이지 에서 VB를 쓰는 동안이 문제가 발생했습니다 .

해결책은 '도구> 옵션> 텍스트 편집기> 기본> VB 특정'으로 이동하여 '예쁜 목록'을 끄는 것입니다.


참고-Visual Studio 2015에서는 다음 위치에서 찾을 수 있습니다.

도구> 옵션> 텍스트 편집기> 기본> 고급


이 확인란을 짧은 키에 쉽게 바인딩 할 수 있기를 바랍니다.
Mike de Klerk

1
고마워, 이것은 나를 위해 일했다. "prettying"은 함수 매개 변수가 함수 이름 아래에 "고정"되어 있기 때문에 엄청나게 나쁩니다. 표 형식의 세로 정렬이 통신에서 일하는 사람이 당신에게 말할 수있는 것이라면 말할 수없는 선택입니다.
Chris Fox

54
나는 옵션 트리 계층 구조를 갖는 아름다움에 감탄하기 위해 잠시 멈출 것입니다 text editor -> basic -> advanced. 그것은 기본입니다
fostandy

12
@ fostandy, 아마 당신이 이것을 알고 있지만 basicC #도 거기에 나열되어 있으므로 옵션 섹션이 아닌 언어의 이름입니다.
Lightfire228

32

예쁜 목록을 사용 중지합니다. 수행중인 작업을 다시 포맷하는 옵션입니다. 나는 그것과 똑같은 불편을 겪었고 그것을 한 후에 내 코드는 내가 원하는 방식으로 유지되며 이전 설정으로 돌아 가지 않습니다.

여기에 이미지 설명을 입력하십시오


VS2010 Premium에이 옵션이 없습니다
Maciej

2
VS2017에서 수정
Doug Null

VS 2013에서 C ++ 문제를 해결하지 못했습니다. 그리고 기계를 변경하기 전에 고장이 나지 않았 음을 확신합니다
CashCow

6

제 경우에는 ReSharper였습니다.

ReSharper인지 테스트

StackOverflow : Visual Studio에서 ReSharper를 비활성화하고 다시 활성화하려면 어떻게해야합니까?

ReSharper가 코드를 다시 포맷하지 않도록 방지

StackOverflow : 코드를 마크 업하여 ReSharper가 포맷하지 않도록 지시하는 방법이 있습니까?

최신 정보

결국 ReSharper였습니다.

여기에 이미지 설명을 입력하십시오


2
고마워, 이것은 나를 미치게했다.
Simon Arnold

1
동의, 중괄호는 항상 잘못된 위치에 있었고, 세미콜론을 칠 때마다 문자 그대로 무거운 똥 부팅으로 코드를 밟았습니다. 쿨하지 않아.
Contango

5

Power Tool이 설치 되었을 수 있습니다 .

이 경우 '도구> 옵션> 생산성 전원 도구> PowerCommands> 일반'에서 끌 수 있습니다.

여기에 이미지 설명을 입력하십시오


4

@TheMatrixRecoder가 제안한 것처럼 약간의 결과를 얻었으므로 다른 사람에게 도움이 될 것입니다. VS 2017 옵션은 여기에서 찾을 수 있습니다

세미콜론을 배치하거나 줄 끝에 리턴을 눌렀을 때 성가신 자동 서식을 방지하려면이 옵션을 결합하십시오.


3

VS2017에서는 설정 메뉴에서 코딩 언어를 선택한 후 변경할 수 있습니다. "포맷"-하위 메뉴에는 "새 줄"이라는 옵션이 있습니다.


2

리팩토링 후에 재 포맷을 비활성화 할 수 있을지 의심됩니다. 리팩토링 코드 변경 및 텍스트 만 있기 때문에 원하는 것은 형식화되지 않은 텍스트를 소스에 덤프하는 것입니다. VS가 원하는 스타일을 고수하는 코드 스타일을 설정하는 것이 조금 더 쉽지 않습니까?


1
코딩 스타일을 알고리즘화할 수없는 경우가 있습니다. 일관성없는 코딩 스타일을 가진 프로젝트에 기여하고 편집중인 특정 코드 조각의 코딩 스타일을 고수하기 때문에 의도적으로 일관성이없는 경우가 있습니다.
Palec

2

세미콜론 또는 닫는 중괄호의 재 포맷을 해제 할 수 없습니다. 마이크로 소프트가 화를내는 것은 누군가에게 코드를 포맷하는 방법을 알려주는 열망을 가지고 있다는 것을 알았다. 내가 본 것 중 가장 읽기 어려운 코드는 거기서 작업하는 동안이었습니다.

인접한 과제를 세로로 정렬하고 싶습니다. VS는 왼쪽의 변수 길이에 관계없이 등호 양쪽의 한 공간으로 다시 포맷합니다. 이것은 참을 수 없습니다. 그리고 편집기 옵션에서 끄는 것은 무시됩니다. 위의 오프너와 같은 의견이 주어지면 이것이 의도적이라고 확신합니다.

일관성은 바람직한 결과로 이어질 때만 미덕입니다. 이것은 하나가 아닙니다.



1

도구-> 옵션-> 텍스트 편집기-> CSS-> 서식을 따르십시오. "작은 규칙"을 선택하고 "계층 들여 쓰기"를 선택 해제하십시오.


텍스트 편집기-> CSS 또는 HTML-> 탭-> 들여 쓰기-> (o) 없음
Bob Stein

1

Clang 형식의 경우 일 수 있습니다. 이전에는 전체 파일이 파일 저장시 자동으로 형식이 지정되어 Clang 형식이 활성화되지 않은 리포지토리의 경우 저를 몰아 냈습니다.

"도구-> 옵션-> LLVM / Clang-> ClangFormat-> 포맷시 저장-> 사용"을 False로 설정하면 이러한 동작이 사라집니다.

저장시 ClangFormat 형식


0

코드 형식 설정을 조정할 수 있습니다. 나는 항상 여분의 줄 바꿈을 모두 끈 다음 코드 형식을 지정하는 데 효과적입니다.

환경 설정에 최대한 가깝게 설정을 조정하면 리팩토링을 사용할 때마다 최소한의 작업 만 남게됩니다.


0

실제 솔루션에 대한 Tango의 답변 외에도 사람들이 실제로 자동 형식으로 최신 상태를 유지하고 싶지만 관련 변경 사항을 망칠 수는 없습니다. 자동 형식 활성화를 위해 파일을 수정하고 해당 변경 사항을 확인한 다음 실제 변경 작업을 진행하는 것이 좋습니다.

그렇게하면 코드를 최신 상태로 유지할 수 있지만 체크인은 관련이 있습니다.


0

확장 프로그램 번 들러 및 축소기를 비활성화하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.