Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr
  • 0

[공유] C++빌더 코드인사이트가 동작하지 않아요. 조치방법을 알려주세요.


험프리

질문

(메일로 온 받은 질답을 공유합니다.)

C++ Builder 10.4.2 사용하고 있습니다.

코드 인사이트가 원활하지않아(동작하지 않아) 불편을 겪고 있습니다. 

조치방법을 알고 싶습니다.

참고로, 64bit Windows 타겟으로 개발 중입니다.

이 댓글 링크
다른 사이트에 공유하기

2 answers to this question

Recommended Posts

  • 0

우선 C++빌더 컴파일러는 다음 2가지를 제공합니다. (사용할 컴파일러를 선택하는 옵션 보기)

  • Borland classic compiler - 전통적으로 볼랜드 시절부터 사용된 C++ 컴파일러로 Win32에서 사용 가능
  • Clang Compiler - LLVM 기반 컴파일러, Win32/64, Android, iOS, OSX 플랫폼에서 사용

C++빌더에서는 64bit Windows 플랫폼용 애플리케이션 빌드는 Clang Complier가 담당합니다.

Clang Compiler에 대해 조금 더 설명드리면, 10.4 버전에 Clang Compiler에 LSP(Language Server Protocol) 기술이 도입되었습니다.

간단히 LSP의 특징을 설명하면, 외부 프로세스를 이용해 코드를 분석하고 그 프로세스와 IDE가 통신해 코드인사이트(등)에 필요한 정보를 받아 기능을 수행합니다.
(이 과정은 비동기로 동작해 코드 작성을 방해하지 않습니다.)

 

제가 테스트한 코드 인사이트가 안되는 현상과 조치방안입니다.

현상

신규로 프로젝트를 생성하고, 코드 작성 시 코드 자동완성과 코드 툴팁 등이 (전혀)동작하지 않습니다.

image.png.808d061d6bc2cf3cacbb84b3e809d5e3.png

조치방안

프로젝트와 소스파일을 저장하고, 프로젝트를 닫은 다음, 다시 프로젝트를 열고 코드 작성 시 코드 자동완성과 코드 툴팁 등이 동작합니다.

image.png.7ee8aeb70c8d5a6d9b12d800c548f45a.png

image.png.bd9f0d43969df435cb4ed878caf6348e.png

추가 조치사항

프로젝트 옵션의 LSP 항목을 통해 분석한 내용을 인덱싱해 성능을 높이고, 분석 결과를 확인할 수 있는 로그를 생성할 수 있습니다.
(Project > Options | Building > C++ Compiler > LSP)

lsp.png.3b9fed26e7ae333018dda020876d63b9.png

  • Display information related to LSP in a tap in the message : 메시지 뷰 탭에 LSP 관련 정보 표시
  • Enable project indexing for Navigation/Tooltip support : 네비게이션/툴팁 지원을 위한 프로젝트 인덱싱 활성화
  • Generate a .log file of LSP Server activities : LSP 서버 작업에대한 로그파일 생성(내문서에 생성)
  • Generate LSP input and output files : LSP 입/출력 파일 생성(내문서에 생성)
  • Number of worker threads for indexing : 인덱스를 위한 작업 쓰래드 갯수 지정
  • Update the index each time a file modified : 파일을 수정할 때마다 인덱스 업데이트

저는 특히 2번째 옵션을 지정해 사용합니다. 규모가 큰 프로젝트를 인덱싱하면 자동완성과 툴팁 도움말등을 더욱 빠르게 처리 가능할 것으로 보입니다.

이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 질문에 답변하기...

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.