2011-01-27 4 views
13

저는 최근에 정말 짜증나는 일이 발생하고 있습니다. 왜 그런 일을하는지 이해할 수 없습니다. 내가 최근에 내 컴퓨터를 지워 버렸기 때문에 언제 시작했는지 알지 못합니다. 아마도 최근 업데이트 일 수도 있고 오래 전 일 수도 있습니다.Visual Studio 2010 JavaScript "Intellisense"함수에서 F를 대문자로 사용

어느 쪽이든, 여기에 무슨 일이 일어나고 있는지. 익명 함수를 인라인으로 선언하고 "function() {...}"부분을 입력하기 시작할 때 VS2010 인텔리 센스가 나타나고 소문자 함수를 대문자 "Function"으로 바꿉니다. JavaScript 또는 JScript 또는 일부 다른 정적 함수를 추측하지만 나는 모른다. 어느 쪽이든, 내가 그것을 입력 할 때 "()"을 가정합니다.

독립 실행 형 함수를 선언하는 경우 영향을받지 않습니다. 이후에 "()"를 넣지 않아 영향을받지 않으므로 입력 한 내용이 그대로 유지됩니다.

다음은 몇 가지 스크린 샷입니다. 내가 때마다 통지를하지 않는 다음, 물론, 기능이 실행되지 않기 때문에
javascript intellisenseenter image description here

그것은 매우 실망이다. 또한 VS2008에서 매일 작업하며 2008 년에는 "기능"과 "기능"이 모두 인텔리 센스 메뉴에 나열되어 있지만 기본적으로 소문자로 설정되어 있으므로 영향을받지 않습니다.

인텔리 센스 설정을 무시할 수있는 방법이 있습니까? 내가 그것을 결코 사용하지 않을 것이기 때문에 파일을 찾고 목록에서 "함수"를 제거하십시오. 소문자 "함수"선택 항목으로 다시 기본 설정 하시겠습니까?

도움이 될 것입니다. 감사!

-Jorin

+1

1이 (가 설계 비록) – SLaks

+1

@SLaks 매우 성가신 - 의도적으로? 'Function'은'function' 생성자이며, 거의 사용되지 않습니다 (실제로는 거의 사용하지 말아야합니다). 누군가가 그것이 디폴트가되어야한다고 결정한 경우, 실제로 무엇을하고 있는지를 알지 못합니다. – benekastah

답변

2

나는 거의가 자바 스크립트 파일에 비주얼 스튜디오의 인텔리을 해제하는 것이 더 생산적 결론에 도달했습니다.

enter image description here

업데이트 :

당신이 그것의 대부분의 측면과 같이 할 경우 그러나 "문 완성"옵션을 사용하면 공간을 칠 때 Functionfunction을 대체하는 특정 문제를 해결하는 한 가지 방법은

나는 (기능과 괄호 사이의 공간을 유의) VS2010의 새로운 괄호 간격이 같은 무의식적으로 입력하는 일에 저를 학대 한 생각합니다 :

$(document).ready(function() { 

}); 

이렇게하면 Function의 Intellisense 완료가 삽입되지 않습니다.

VS2010 sp1을 사용하면 괄호를 공백없이 포맷 할 수있는 옵션이 다시 추가되었습니다.

$(document).ready(function() { 

}); 

... 내가 시작하고 싶었 무엇 : 나는 닫는 });를 입력 할 때, 그것은 다시 간격 괄호를 포맷합니다.

처음에는 뒤얽혀 있지만 근육 기억이 꽤 빨리됩니다.

+0

흥미롭게도 실제로 그 옵션을 선택했습니다. 분명히 "탭 또는 엔터 만"이라고되어 ​​있더라도 분명히 "탭만 입력하거나 괄호를 입력하거나 입력하는 것"을 의미합니다. :-) 그래,이 프로젝트 중 일부는 엄청난 기능을 가지고 있기 때문에 intellisense를 완전히 비활성화하고 싶지는 않습니다.하지만 그 중 많은 것을 찾을 수는 있습니다. – Jorin

+0

나는 paren-triggered 완료를 통해 분명히 우회했습니다. 내가 눈치 채지 못했던 다른 것. 답변을 업데이트했습니다. –

+0

그래, 그 공간을 타이핑하는 습관을 들여야 할 것 같아. 매우 불행한. 누군가가 intellisense 파일이나 다른 파일을 편집하는 방법을 알기를 바랐습니다. – Jorin

2

이 문제는 적어도 Visual Studio 2013에서 Resharper가 원인 일 수 있습니다.이 확장은 "기능"이 포함 된 DHtml.js 파일을 추가하고 있습니다. (다른 플러그인의 경우, 제거하면 충분할 수 있습니다.) 다른 많은 것들이 옳다는 것은 좋은 일입니다.) (http://youtrack.jetbrains.com/issue/RSRP-400812 : Javascript Intellisense list too long...

편집 : JetBrains의이 버그를 수정한다)이 질문을 참조하십시오. 그동안 ...

Resharper의 옵션을 사용하면 언어별로 인텔리 센스 기능을 비활성화 할 수 있습니다. 이 문제를 해결하기 위해, 당신과 같이 영향을받는 것을 자바 스크립트를 비활성화 할 수 있습니다

enter image description here

+0

Resharper가이 문제를 소개하는 것은 사실이지만 제안 된 솔루션은 선택하지 않은 언어로 자동 IntelliSense를 종료합니다. 당신은 Ctrl-Spacing을 통해 네이티브 인 텔리 센스를 얻을 수 있습니다. – Steve

+1

@ 스티브 확실합니다. IMO, intellisenseless javascript는 자바 스크립트를 사용하는 것이 바람직합니다. 버그 수정이 포함 된 릴리스를 모두 보자. 더 이상 진절머리 나는 대안의 결정이 아닙니다. –

+0

나는 게으르다. 나는 내 Intellisense를 좋아한다. :) – Steve