Visual Studio 2010 C # 코드 창에서 혼합 탭과 공백이 계속 표시되는 이유는 무엇입니까?


88

지난 한 시간 동안 웹 응용 프로그램에서 C # 파일 (Global.asax.cs)을 작업하고 있었는데 "tabify"라는 메시지가 4 번 정도 표시되었습니다. 파일을 탭화하고 저장할 때마다 나중에 임의의 지점에서 다시 메시지가 표시됩니다.

ReSharper를 사용하고 있지만 집에서 코드를 작성하고 ReSharper를 사용하는 경우에도 이런 일이 발생하지 않습니다. 직장에서만.


3
탭 들여 쓰기 설정이 공백이 실제로 탭으로 완전히 변환 될 수 있도록 설정되어 있습니까?
사용자

나는 또한 내 파일 중 하나에서 이것을 얻습니다. 오늘은 매시간 1 ~ 2 번 해요. 파일이 소스 제어에 추가되기 전부터.
sindre j

12
@LostHobbit 성가신 대화가 계속 튀어 나와 내 흐름을 방해하기 때문에 중요합니다.
ProfK 2012

답변:


146

Productivity Power Tools VS 2010 확장을 사용하고 있습니까? 그렇다면 Tools-> Options-> 로 이동하여을 선택하십시오 Productivity Power Tools. 여기에서 옵션을 해제 할 수 있습니다 Fix Mixed Tabs. 이 경고가 해제됩니다.

Visual Studio 2010 용 전원 도구

Visual Studio 2012 용 전원 도구

Visual Studio 2013 용 전원 도구

Visual Studio 2015 용 전원 도구


20
경고를 유지하고 대신 혼합 된 탭과 공백을 제거하고 싶습니다.
ProfK 2011 년

2
@ProfK 다시 메시지를받는 임의의 지점이 다른 사람이이 파일의 변경 사항을 확인한 후에도 발생합니까 (소스 제어를 사용하는 경우)? 아마도 당신과 다른 누군가가 VS에서 다르게 정의 된 탭 공간을 가지고있을 것입니다.
Justin Saraceno 2011 년

7
이것이 어떻게 생산적인지 알기가 어렵습니다. 도구 + 옵션, 텍스트 편집기로 탭을 끕니다. 이전 세기에 바이트를 절약하기 위해 사용되었습니다.
Hans Passant 2011 년

6
@Hans, 탭 사용의 생산성은 여기에서 전혀 관련이 없습니다.
ProfK 2011 년

35
탭의 생산성에 대해 잘 논의되었으며 단순히 데이터 크기보다 탭에 더 많은 장점이 있습니다. 탭은 동일한 프로젝트에서 작업하는 다른 들여 쓰기 기본 설정을 가진 사람들을 위해 구성 가능한 너비를 가지고 있습니다. 모든 사람이 탭 대신 다른 수의 공백을 사용하도록 VS를 구성하면 코드가 엉망이 될 수 있지만 모든 사람이 탭을 사용하고 탭 너비를 시각적 선호도에 맞게 구성하면 코드가 깨끗하게 유지되고 모두가 케이크를 먹고 먹습니다. 다시 말하지만, 공간을 사용하는 것의 장점은 무엇입니까?
TheXenocide

61

혼합 된 탭과 공백은 Visual Studio 텍스트 편집기 설정에서 가져올 수 있습니다. Visual Studio에서 여기에 공백 또는 탭을 삽입 할 것인지 결정할 수 있습니다.

도구 / 옵션 /-> 텍스트 편집기 / 모든 언어 / 탭에서 "탭 유지"옵션을 선택합니다.


6
이것은 질문에 대한 정답이며 @ProfK가 달성하고자하는 결과입니다.
Reality Extractor

11

VS는 탭이 아닌 공백으로 기본 설정되므로 "Untabify"옵션을 선택하십시오. 다음에 줄을 추가 할 때 "Tabify"를 선택하면 VS가 공백을 사용하고 프롬프트가 계속해서 표시됩니다.


9

ResharperVisual Studio에 별도의 탭 / 스페이스 설정을 사용합니다 . 에서 Resharper옵션 "-> 탭 들여 쓰기 위해 사용하는 경우 정렬하는 방법 일반 포맷터 스타일"을 선택합니다. 이 설정은 resharper코드를 형식화 (예 : 리팩토링 등) 할 때 사용 되며 기본값은 "사용자 공간"입니다.

또한 " 편집-> 고급 "메뉴에 "공백보기"옵션 (Ctrl + E, S)이있어 유용 할 수 있습니다!


좋은 옵션 (View Whitespace 하나)! +1
Ignacio Soler Garcia
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.