이 페이지에서

언어 서버

여러 프로그래밍 언어의 경우 언어 서버는 언어 서버 프로토콜(LSP)을 통한 통신을 지원하는 한 코드에 대한 정보를 IDE에 제공합니다. 그러면 IDE는 다음과 같은 서비스를 제공할 수 있습니다:

언어 서버 프로토콜용 클라이언트를 제공함으로써 Qt Creator 은 C++ 외에 다른 여러 프로그래밍 언어에 대해 위의 기능을 지원할 수 있습니다. 그러나 이 클라이언트는 특별한 처리가 필요한 언어 서버는 지원하지 않습니다.

언어 서버용 MIME 유형 추가하기

Qt Creator 는 파일의 MIME 유형을 사용하여 편집을 위해 파일을 열 때 어떤 언어 서버에 정보를 요청할지 결정합니다. 언어 서버와 일치하는 새 MIME 유형 또는 파일 패턴을 추가합니다. 하나 이상의 MIME 유형 또는 파일 패턴을 설정하지 않으면 언어 서버로 파일이 전송되지 않습니다. 이는 언어 서버에서 처리할 수 있는 것으로 알려진 파일만 언어 서버로 전송되므로 불필요한 트래픽과 부정확한 정보를 피하기 위한 것입니다. Qt Creator 에서 MIME 유형을 사용하는 방법에 대한 자세한 내용은 MIME 유형 편집을 참조하세요.

언어 서버 추가하기

Qt Creator 기본적으로 파이썬 언어 서버를 추가합니다.

또한 컴퓨터에서 NPM 패키지 관리자를 찾을 수 있는 경우 편집기에서 파일을 열 때 JSON 및 YAML 파일용 언어 서버를 설치하도록 제안합니다.

JSON 언어 서버를 설치하라는 메시지

Android 개발을 위한Java 언어 서버를 추가합니다. 다른 언어의 경우 일반 stdIO 언어 서버를 추가합니다.

언어 서버를 추가하려면 환경설정 > Language Client 으로 이동하여 Add 을 선택합니다.

언어 클라이언트 환경설정의 일반 탭

언어 서버를 사용하려면 언어 서버 이름 옆의 확인란을 선택하고 서버 환경설정을 설정합니다.

목록에서 언어 서버를 제거하려면 Delete 을 선택합니다.

Python 언어 서버 업데이트하기

Qt Creator 는 편집기에서 Python 파일을 열 때 Python 언어 서버를 업데이트하도록 제안합니다.

Python 언어 서버 업데이트에 대한 메시지

언어 서버를 업데이트하려면 Update 을 선택합니다. 선택 사항을 저장하려면 Always Update 을 선택합니다.

업데이트를 건너뛰고 향후 업데이트를 위해 메시지를 숨기려면 Never 을 선택합니다.

지원되는 로케이터 필터

로케이터를 사용하면 파일뿐만 아니라 로케이터 필터로 정의된 모든 항목을 찾아볼 수 있습니다. 언어 클라이언트 플러그인은 다음과 같은 로케이터 필터를 지원합니다:

  • 현재 프로젝트에서 기호 찾기 (:)
  • 현재 문서에서 기호 찾기 (.)
  • 프로젝트에서 클래스(c), 열거형 및 함수(m) 정의 찾기

문제 보고

언어 서버 클라이언트는 대부분 Python 및 C++로 테스트되었습니다. 해당 언어나 다른 언어로 시도할 때 문제가 발생하면 Help > Report Bug 을 선택하여 Qt 프로젝트 버그 트래커에 보고해 주세요. 보고서에는 QT_LOGGING_RULES=qtc.languageclient.*=true 환경 변수가 설정된 Qt Creator 콘솔 출력이 포함되어야 합니다.

사용법: 언어 서버동작관리도 참고하세요.

Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.