wing ide review features
경험이 풍부한 SQL 질문과 답변
The Wing Python IDE의 기능, 장점 및 특징에 대한 포괄적 인 검토 :
Wing은 지능형 편집, 디버깅 및 코드 탐색과 같은 기능으로 개발 활동을 지원하는 Python IDE (통합 개발 환경)입니다.
소프트웨어 애플리케이션을 코딩하고 테스트하는 데 필요한 메커니즘을 결합하는 소프트웨어 설정입니다.
학습 내용 :
Wing IDE : 전체 개요
IDE 란? 왜 필요한가요?
통합 개발 환경 (IDE)은 편집기, 라이브러리, 컴파일러 및 플랫폼과 같은 많은 개발 도구를 단일 프레임 워크로 통합합니다. 개발자는 종종 소프트웨어 코드를 작성, 빌드 및 테스트하는 동안 여러 도구를 사용합니다.
IDE가 없으면 개발자는 이러한 모든 도구를 개별적으로 식별, 설정, 통합 및 관리해야합니다. IDE는 여러 도구의 필요성을 없애고 코드 생성 및 구현 중에 발생한 실수를 식별하고 줄이는 데 도움이되도록 설계되었습니다.
왜 Wing IDE인가?
Wing은 아래와 같이 몇 가지 뛰어난 이점을 제공하는 Python 전용 IDE입니다.
- 지능형 편집기
- 간편한 코드 탐색
- 강력한 디버거
- 통합 단위 테스트
- 원격 개발
- 사용자 정의 및 확장 가능
다음 섹션에서 이러한 이점을 살펴 보겠습니다.
Wing IDE의 장점
Wing IDE의 각 장점에 대한 자세한 설명은 다음과 같습니다.
# 1) 지능형 편집기
Wing의 편집기는 상황에 맞는 자동 완성 및 문서화, 자동 편집, 호출 지원, 코드 폴딩, 리팩토링, 다중 선택, 사용자 정의 가능한 인라인 코드 스 니펫 및 북마크를 사용하여보다 대화식으로 Python 개발을 향상시킵니다. Wing은 vim, Eclipse, Emacs, Visual Studio 및 XCode와 같은 다른 편집기를 에뮬레이션 할 수 있습니다.
주요 특징은 다음과 같습니다.
(i) Solid Editor 기본 사항
편집기는 구성 가능한 탭 및 분할 창, 들여 쓰기 지원, 코드 접기, 오류 표시기, 방문 기록, 유연한 선택 모드, 편집기 에뮬레이션 및 자동 저장과 같은 기능을 지원합니다.
70 개 이상의 이상한 언어가 지원됩니다. 열린 파일은 팝업 메뉴 또는 편집기 상단의 탭을 사용하여 선택할 수 있습니다. 편집기는 가로 또는 세로로 여러 부분으로 나눌 수 있습니다. 입력 할 때 Wing은 소스 코드의 컨텍스트에 따라 자동으로 들여 씁니다.
편집기는 입력 할 때 강조 표시하여 중괄호를 찾습니다. Wing IDE의 편집기는 파일 또는 클래스의 최상위 콘텐츠를 확인한 다음 관심 지점으로 드릴 다운하는 방법으로 구조에 따라 코드 접기를 지원합니다.
접기 여백을 사용하여 개별 함수를 접거나 정의를 완전히 접은 다음 점진적으로 확장하거나 모듈의 최상위 수준보기를 위해 모든 메서드 또는 클래스를 접을 수 있습니다.
(ii) 지능형 자동 완성
Wing의 자동 완성 기능은 정적 및 런타임 분석을 모두 사용하여 편집기 및 통합 Python 셸에서 상황에 맞는 완성을 제공합니다.
소스 어시스턴트는 편집기, 자동 완성기 및 IDE의 다른 부분을 돌아 다니면서 업데이트되어 문서, 개체 상속에 대한 정보, 호출 서명 및 내장 및 표준 라이브러리 용 Python 문서 링크를 표시합니다.
'try'와 같은 블록의 경우 wing은 자동으로 accept를 추가하고 예외 유형을 추가하거나 try-finally 블록으로 변환 할 수 있습니다.
(iii) 자동 편집
자동 편집 작업 모음은 코딩을 더욱 단순화합니다. 예를 들어, Wing auto는 사용자가 입력 할 때 인수를 입력하고 호출을 통해 인수 목록을 탭할 수 있습니다. Wing은 호출을 종료 할 때 변경되지 않은 기본값을 자동으로 제거합니다.
줄 배열을 선택하고 콜론 키를 눌러 해당 줄로 새 블록을 생성하여 코드 블록을 쉽게 수정할 수도 있습니다. 또는 콜론 키를 반복해서 눌러 새 블록 아래의 다음 줄 또는 연속 된 줄 범위로 이동합니다.
다른 자동 편집 옵션에는 자동 들여 쓰기, 선택적으로 pep8 스타일의 자동 간격 및 순서가 맞지 않는 입력 자동 수정이 포함됩니다. 들여 쓰기가 혼합 된 파일이 열리거나 파일에 들여 쓰기 오류가있는 경우 Wing은 선택적으로 파일에 대해 경고하고 들여 쓰기를 복구 및 변환하도록 제안 할 수 있습니다.
파일에 들여 쓰기 오류가있는 경우 들여 쓰기 도구는 오류를 찾고 복구하는 데 사용할 수있는 단추를 표시합니다. 입력하는 위치와 누르는 키에 따라 기호가 아닌 모든 키가 완료 키가되는 Python 용 선택적 터보 완성 모드도 있습니다.
(iv) 리팩토링
리팩토링은 기능에 영향을주지 않고 코드를 재정렬하는 데 도움이됩니다. 정의 지점 이동 및 기호 이름 변경, 기존 코드에서 함수 또는 메서드 만들기, 표현식 변수 추가 및 기호 이름 지정 스타일 업데이트는 Wing에서 지원합니다.
Wings 리팩토링 도구는 오류없이 코드를 재구성합니다.
동일한 이름을 가진 다른 기호와 혼동하지 않고 기호의 모든 사용자 이름을 바꿀 수 있습니다. 코드 범위를 선택하여 새로운 함수 나 메서드로 만들어 코드를 추출 할 수 있습니다. 표현식을위한 변수를 도입 할 수 있으며 사용 지점을 자동으로 업데이트하여 기호를 이동할 수 있습니다.
리팩토링 및 기타 편집을위한 코드를 선택하는 것은 제어 위쪽 화살표 및 제어 아래쪽 화살표를 사용하여 논리 단위에서 코드를 선택하기 쉽습니다.
(v) 다중 선택
Wing은 편집기를 클릭하여 블록, 파일 또는 범위 내에서 동일한 표현식을 여러 번 선택할 수 있도록 지원하고 변경 사항을 선택 사항에 균일하게 적용합니다.
(vi) 코드 스 니펫
Wing은 코드를 탭하여 입력 한 코드 스 니펫의 형태로 제공되는 편집기의 자동 완성기에서 범용 코드 템플릿과 가장 많이 사용되는 구조의 신속한 입력을 지원합니다. 스 니펫은 호출 컨텍스트에 따라 다양한 형식을 취할 수 있습니다.
Wing은 런타임 및 정적 분석을 사용하여 복잡하거나 익숙하지 않은 코드를 이해하고 탐색합니다. 코드 색인 메뉴를 사용하거나 소스 브라우저에서 파일 또는 기호 이름의 일부를 입력하여 코드를 쉽게 탐색 할 수 있습니다.
(i) 정의로 이동 및 기호 찾기
Wing은 편집기에서 기호를 사용할 때 기호의 정의 지점으로 이동합니다. Wing IDE를 사용하면 Python 소스 코드의 기호 정의 지점으로 쉽게 이동할 수 있습니다. Ctrl 키를 누른 채로 클릭하거나 F4 키를 누르거나 마우스 오른쪽 버튼을 클릭하고 선택하면됩니다. ‘정의로 이동’ .
편집기에는 파일 내부 탐색을위한 기호 색인 메뉴가 있습니다. 프로젝트 상자의 기호 찾기 및 기호 찾기를 사용하면 기호 조각을 입력하여 기호의 정의를 검색 할 수 있습니다. 편집기의 왼쪽 상단에있는 뒤로 및 앞으로 방문 기록 버튼을 사용하여 정의 지점에서 돌아 오거나 다시 방문 할 수 있습니다.
(ii) 사용 지점 찾기
Wing은 프로젝트 코드 또는 지정된 경로에서 기호 사용을 탐색하고 검사합니다. Wing은 편집기에서 소스 기호의 사용 지점을 검색하고 표시 할 수 있습니다. 동일한 이름을 가진 다른 기호가 아닌 기호의 실제 용도 만 표시됩니다.
클릭 ‘용도’ 도구는 편집기에서 사용 지점을 표시합니다. 마우스 오른쪽 버튼을 클릭하면 프로젝트의 모든 모듈 또는 가져온 코드에서 심볼에 대한 모든 사용 지점을 찾을 수 있습니다.
(iii) 소스 브라우저
소스 브라우저는 현재 파일 또는 전체 프로젝트에서 모듈 또는 클래스 계층별로 전체 코드를 탐색하는 데 도움이됩니다. 현재 파일 또는 프로젝트의 코드를 쉽게 탐색 할 수 있도록 소스 색인을 표시합니다.
파일의 구조는 기호 유형, 가져 오기 또는 상속 여부 및 해당 범위에 대한 개인용인지 여부와 함께 표시됩니다.
특정 유형의 기호 또는 상속되거나 가져온 기호를 생략하도록 표시를 필터링 할 수 있습니다. 소스 브라우저는 또한 프로젝트의 모든 패키지 및 모듈에 대한 기호를 표시 할 수 있으며 프로젝트 또는 Python 경로에있는 모든 클래스를 나열하는보기를 제공합니다.
(iv) 강력한 검색
파일, 디렉토리 또는 모든 프로젝트 파일에서 텍스트 일치, 정규식 또는 와일드 카드와 같은 기능을 사용하여 코드를 검색하고 바꿀 수 있습니다. Wing은 다양한 검색 작업을위한 편리한 검색 인터페이스를 제공합니다. 도구 모음 검색은 현재 파일 내에서 일치하는 간단한 텍스트를 검색하는 빠르고 쉬운 방법입니다.
편집 메뉴의 키보드 기반 미니 검색은 단일 파일에서 텍스트 및 정규식을 검색하는보다 정교한 방법입니다. 검색 도구는 단일 파일 텍스트, 와일드 카드 및 정규식 검색 및 바꾸기를위한 친숙한 그래픽 사용자 인터페이스를 구현합니다.
파일 검색 도구의 강력한 다중 파일 검색 및 바꾸기 기능을 통해 프로젝트의 모든 파일, 열려있는 모든 파일 또는 선택한 디렉토리 내에서 검색을 수행 할 수 있습니다.
파일 검색 세트는 파일 필터로 제한 될 수 있으며 검색 스타일 및 결과 표시 목록 변경에 대한 다양한 기타 옵션이 있습니다. 파일 내 검색 도구에는 정규 표현식을 사용한 다중 파일 교체, 그룹 일치가 포함되며 Wing IDE의 통합 문서를 검색하는 데 사용할 수도 있습니다.
# 3) 강력한 디버거
Wing의 Python Debugger는 버그를 수정하고 격리하고 코드의 대화 형 개발을 위해 모델링되었습니다. Wing은 시작 방법이나 로컬 또는 다른 컴퓨터에서 실행 중인지 여부에 관계없이 모든 Python 코드를 디버깅 할 수 있습니다.
디버거는 IDE에서 시작된 코드, 웹 프레임 워크 또는 서버에 의해 실행되거나 Python의 포함 된 복사본에서 스크립트로 호출되거나 원격 호스트에서 실행되는 코드와 호환됩니다. 또한 Wings 통합 테스트 도구에서 실행되는 Django 템플릿 및 단위 테스트를 디버그 할 수 있습니다.
(i) 견고한 디버그 기본 사항
Wing을 사용하면 편집기 또는 Python Shell에서 코드를 중지하는 중단 점을 설정할 수 있습니다. 디버거에서 중단 점 또는 예외에 도달하면 스택 데이터 도구에서 프로그램 상태를 검사하거나 현재 디버그 스택 프레임에서 작동하는 Python 셸인 디버그 프로브에서 상호 작용할 수 있습니다.
Wing은 편집기의 심볼 위로 마우스를 가져 가면 디버그 데이터 값을 표시하고 심볼 이름 또는 객체 참조로 시간이 지남에 따라 표현식 또는 값을 관찰 할 수있는 감시 도구가 있습니다. Wing IDE는 Python 코드뿐만 아니라 Django 템플릿 파일도 디버깅 할 수 있습니다.
디버거에서 Django를 시작하고 브라우저를 사용하여 템플릿을 호출하는 페이지를로드 할 수 있습니다.
템플릿을 호출하는 모든 Python에서 또는 템플릿 또는 템플릿 자체에서 호출하는 모든 Python에서 Wing의 디버거 기능을 사용할 수 있습니다. Wing은 Django 템플릿 엔진의 Python 스택 프레임을 템플릿 컨텍스트 데이터 및 템플릿 스택을 기반으로하는 스택 프레임으로 대체합니다.
디버그 프로브는 일시 중지 된 디버그 프로세스에서 템플릿의 데이터와 상호 작용하는 데 유용합니다. 디버거가 활성화되어있는 동안 편집기의 자동 완성기에있는 COG 아이콘은 템플릿 엔진의 라이브 런타임 상태에 의해 완성이 촉진되고 있음을 나타냅니다.
(ii) 프로그램 카운터 이동
프로그램 카운터 이동은 디버그 모드를 다시 시작하지 않고도 실패한 코드로 돌아가서 단계적으로 이동할 수 있도록 현재 코드 실행 줄을 역 추적합니다. 디버거는 스택을 위아래로 이동하거나 함수 및 메서드 호출을 한 단계 씩 이동할 수 있습니다. 관심 지점을 지나면 맨 아래 스택 프레임의 아무 줄이나 클릭하고 프로그램 카운터를 이동할 수 있습니다.
(iii) 조건부 중단 점
조건부 중단 점은 특정 부분에 영향을 미치는 버그를 식별하고 수정하기 위해 코드가 여러 번 호출 될 때 사용됩니다. 조건부 중단 점을 사용하면 특정 실패 사례를 쉽게 격리하여 코드를 반복적으로 호출 할 수 있습니다.
(iv) 디버그 명령 줄
Wing의 디버그 프로브는 현재 디버그 스택 프레임의 컨텍스트에서 실행되는 자동 완성 Python 셸입니다. 버그를 이해하고 수정을 완료하기 위해 런타임에 데이터를 검사하고 상호 작용합니다.
디버그 프로브에서 또는 통합 Python 셸 내의 편집기에서 코드 범위를 평가하여 즉시 새 코드를 시험해 볼 수 있습니다. 이는 코드를 테스트하거나 사용하거나 버그 수정을 설계하는 데 유용한 방법입니다.
(v) 인터랙티브 개발
편집기와 디버거는 함께 작동하여 코드 인텔리전스 기능이 라이브 런타임 상태를 활용하도록합니다. 중단 점까지 실행하는 것은 라이브 런타임 상태에 직접 액세스하여 새 코드를 작성하는 좋은 방법입니다. 디버거는 단위 테스트 기능과 통합되어 대화 형 개발을 테스트 중심으로 만듭니다.
(vi) 재귀 디버깅
재귀 디버깅을 사용하면 디버그 세션 중 중단 점 또는 예외에있을 때 코드를 디버깅 할 수 있습니다.
(vii) 원격 개발 디버깅
원격 개발 지원은 IDE에서 원격 코드를 시작할 수 있습니다. Wing은 원격 호스트에서 시작된 코드를 디버그하도록 구성 할 수 있습니다.
# 4) 통합 단위 테스트
Wing은 단위 테스트, 문서 테스트, py 테스트 및 Django 테스트 프레임 워크와 같은 테스트 주도 개발 접근 방식을 제공합니다. 디버거와 통합되어 프로세스가 빠르고 효율적입니다.
(i) 단위 테스트 관리
Wing IDEs 테스트 도구는 프로젝트에서 단위 테스트를 수집하고 실행하는 데 사용할 수 있습니다. 단위 테스트는 개별 파일로 생성하거나 프로젝트 콘텐츠에 적용된 정규식 또는 와일드 카드를 사용하여 선택할 수 있습니다. 테스트는 한 번에 하나씩 또는 필터링을 통해 모두 실행할 수 있습니다.
테스트가 실행되면 테스트 도구에 결과가 표시되고 결과를 클릭하면 편집기에 테스트가 표시됩니다. 실패한 테스트의 우선 순위를 지정할 수 있습니다. 결과에는 날짜, 실행 시간 및 테스트에서 발생한 모든 예외 또는 오류가 포함됩니다. 테스트 결과 요약을 복사하여 붙여 넣어 팀원과 공유 할 수 있습니다.
(ii) 단위 테스트 디버깅
Wing의 테스트 도구는 단위 테스트에서 드러난 문제를 빠르게 진단하고 수정하는 방법으로 디버거에서 테스트 실행을 지원합니다. 중단 점에 대한 테스트를 정의하고 실행함으로써 라이브 런타임 상태의 컨텍스트에서 새 코드를 작성하고 테스트 할 수 있으므로 편집 및 테스트 재 작업 시간을 절약 할 수 있습니다.
(iii) 유연한 테스트 호출
시작 구성은 사용자 지정 환경에서 테스트를 실행하고 디버그하는 데 사용됩니다. 실행 속도를 높이기 위해 모듈 또는 패키지에서 여러 테스트 프로세스를 동시에 실행할 수 있습니다. 단위 테스트는 Wing 외부에서도 실행할 수 있으며 나중에 결과를 가져올 수 있습니다.
# 5) 원격 개발
Wing은 Python 코드를 Wing의 모든 기능에 안전하게 액세스 할 수있는 원격 호스트, 컨테이너 또는 가상 머신에서 실행할 수있는 원격 개발을 지원합니다.
(i) 원격 호스트에 쉽게 액세스
원격 호스트는 구성이 빠르고 SSH로 액세스 할 수 있습니다. Wing의 Python 셸 및 OS 명령 도구는 원격 호스트에서 Python 및 기타 명령을 실행하는 데 도움이됩니다.
(ii) 유연한 프로젝트 관리
여러 시스템과 원격 호스트에 저장된 프로젝트 파일은 Wing을 사용하여 액세스 할 수 있습니다.
(iii) 원격 디버깅
Wing은 중단 점 및 예외에서 중지, 데이터 검사 및 코드 단계별 실행과 같은 원격 디버깅을위한 모든 디버깅 기능을 확장합니다. X11 포워딩은 창을 Wing이 호스팅되는 위치로 이동하여 창을 표시하는 디버깅 코드를 지원합니다.
# 6) 사용자 정의 및 확장 가능
Wing의 디스플레이와 기능을 구성 할 수 있습니다.
(i) 인터페이스 레이아웃 및 색상 조정
사용자 인터페이스는 편집기 분할 및 도구 상자, 메뉴 및 도구 모음 콘텐츠, 색상, 글꼴 및 구문의 위치를 조정하는 옵션으로 구성 할 수 있습니다. Wing은 IDE에서 제공하는 편집기와 도구를 단일 창 또는 두 개의 다중 창 모드로 정렬 할 수 있습니다. 도구 모음 색상 및 기타 여러 구성 옵션도 제공됩니다.
도구는 패널에서 패널로 이동할 수 있으며 동일한 도구의 여러 인스턴스를 작성할 수 있습니다. 편집기 영역은 임의로 분할하거나 단일 편집기보기로 다시 결합 할 수 있습니다. 도구 패널은 여러 분할로 나눌 수도 있습니다. 편집기와 도구 모두 패널에서 패널로 또는 별도의 창으로 이동할 수도 있습니다.
도구 영역은 F1 및 F2 키를 사용하여 쉽게 숨기고 표시 할 수 있으며 Shift F2는 편집기 영역을 최대화합니다.
(ii) 기능 사용자 지정
Wing은 Visual Studio, vi, Eclipse, XCode 및 emacs를 에뮬레이트 할 수 있습니다. 기능을 활성화 / 비활성화하고 원하는대로 작동하도록 구성 할 수 있습니다.
(iii) Python으로 Wing 확장
Wing은 Python 스크립트를 작성하여 IDE를 확장 할 수있는 스크립팅 API를 제공합니다. Python 스크립트는 편집기 및 프로젝트 컨텍스트 메뉴의 메뉴 모음과 도구 모두에 기능을 제공합니다.
Wing을 사용하여 Wing을 디버깅하고 개발할 수 있습니다. wing이 확장 스크립트를 찾는 위치는 환경 설정에서 구성 할 수 있습니다. 스크립트는 내장 IDE 명령처럼 작동하며 키 바인딩에 할당 될 수 있습니다.
가장 유용한 기능 : 디버깅
Wing이 중단 점 또는 예외에 도달하면 코드를 한 줄씩 단계별로 진행할 수 있으며, 선택적으로 함수 또는 메서드 호출을 한 단계 씩 실행하거나 해제 할 수 있습니다. 편집기에서 심볼 위로 마우스를 가져 가면 해당 심볼이 스택에서 활성화 된 경우 해당 심볼의 현재 값이 표시됩니다.
스택 데이터 도구는 현재 스택 프레임에 대한 지역 및 전역을 표시하고 복합 값을 확장하여 해당 부분을 볼 수 있습니다. 유사한 도구는 디버그 프로세스에 의해로드 된 모듈을 표시하고 여기에 저장된 모든 데이터를 검사 할 수 있습니다.
Wing은 코드를 단계별로 진행할 때 기호의 값을 볼 수도 있습니다. 이것은 심볼의 이름으로 수행하거나 객체 참조로 특정 인스턴스를 볼 수 있습니다.
래더를 사용하면 기호가 범위를 벗어나는 경우에도 값을 볼 수 있습니다. Wing은 또한 디버깅 중에 값을 변경할 수있게하여 일부 경우에 라이브 코드가 다른 데이터로 어떻게 작동하는지 시험하는 데 유용 할 수 있습니다.
결론
Wing IDE는 내장 된 디버거, 스레드에서의 디버깅, 소스 코드의 오류 검사, 뛰어난 응답 성 지원, 매우 유연한 매크로 기능, 사용자 정의 가능한 플러그인과 같은 다양한 유용한 기능을 제공하며 그만한 가치가 있습니다.
Wing IDE를 사용해 볼 준비가 되셨습니까?