vscode 자동완성
228
7 asked
강사님 안녕하세요
강사님이 남기신 자료를 바탕으로 5~6년간 잘 공부하고 있다가 이번에 강의까지 수강하게 된 열혈 수강생입니다.
강의 내용이 매우 흡족하고 좋습니다.
한가지 궁금한 사항이 있어 글을 남깁니다.
vscode에서는 자동완성 기능이 있어
예를 들면 Path. 까지 타이핑하면 뒤에 자동으로 올 함수 등을 제시해 주는데
hwp = win32.gencache.EnsureDispatch('hwpframe.hwpobject')
생성한 hwp 객체에 hwp. 하면 뒤에 올 수 있는 것에 대한 자동완성이 작동하지 않습니다. 혹시 자동완성이 되도록 하는 방법이 있을까요?
매번 레퍼런스 찾기도 어렵고 대강 지식을 갖추고 나서 vscode의 도움으로 코드를 진행하고 싶은데 쉽지 않네요.. ^^
Answer 1
2
안녕하세요? 회신이 늦었습니다^^;
제가 vscode에 익숙하지 않은 관계로,
분명 더 좋은 방법이 있을 수 있다는 점을 먼저 밝힙니다ㅜ
우선 아래 코드로 hwp 객체를 만들었다는 가정하에
import win32com.client as win32
hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject")
hwp.XHwpWindows.Item(0).Visible = Truehwp.까지 입력하시고 Ctrl-Space를 누르시면 자동완성 목록이 뜨잖아요?
근데 이게 모든 메서드와 프로퍼티가 뜨지 않습니다..
예를 들면 .CharShape은 뜨는데, hwp.XHwpWindows는 한 번에 뜨지 않고 타이핑을 한 후에야 뜬다든지,
hwp.XHwpWindows.이하로는 전혀 못 잡아주는 문제들..

이게 상당히 불편한 부분인데,
제가 자주 사용했던 세 가지 방법을 알려드려보겠습니다.
(기본적인 방법들이라 다 아시는 내용일 수 있어요ㅜ)
① dir() 사용하기
dir 함수로 아예 멤버 리스트를 확인해버리는 방법인데요.
아래와 같은 방식으로 사용합니다.

② hwp.a.b.c 를 d라는 변수에 넣고 자동완성
이것도 나름의 방법인데 될 때도 있고 안 될 때도 있는 것 같고 그래요....;

③ pyhwpx 모듈 사용
이건 자동완성을 보완하는 방법은 아니지만, 하여튼 추천드리는 방법입니다.
임포트하고 hwp인스턴스 생성하는 부분만 아래처럼 변경하시면,
나머지 인터페이스는 기존의 한/글 오토메이션API와 동일하므로 불편함 없이 사용하실 수 있을 겁니다.
hwp의 멤버들은 우선 거의 모두 자동완성으로 보여주는데요. (직접 매핑작업을 했기 때문입니다..)
from pyhwpx import Hwp
hwp = Hwp()
특히, 기존의 Run 액션들은 문자열을 통해 명령하는 방식 때문에 자동완성이 되지 않아 번거로운데
pyhwpx에서는 전부 동일한 이름의 메서드로 매핑해놓은 덕분에 자동완성이 됩니다.
(노가다의 산물ㄷㄷ)
예를 들어 hwp.HAction.Run("SelectAll")이라는 액션은 hwp.SelectAll()로 실행할 수 있기 때문에
자동완성으로 코드를 짜기 훨씬 수월한 편입니다.

④ 위에서 소개해드린 방법 이외에도,
사실... 파이참에서는 Ctrl-Shift-Space로 제법 잘 잡아주거든요...
(그래서 위 방법들을 대부분 쓰지 않습니다;)

좌: VSCode, 우:Pycharm Professional
분명 vscode에도 좀 더 똑똑한 자동완성 기능이 따로 있을 겁니다.
하여튼 이런 방법들이 있어요.
혹시 더 좋은 방법을 발견하면 즉시 댓글로 남겨두겠습니다.
도움이 되었기를 바랄게요ㅋ
강의 수강해주셔서 감사드립니다.
질문 많이 남겨주세요! 제가 아는 선에서 최대한 상세히 설명을 남겨놓겠습니다.
행복한 하루 되세요^^
yes24 수집 md 파일 만들 때
0
18
2
map API
0
36
1
nodejs 터미널 인식
0
38
1
프리젠테이션 도구
0
73
1
로그인 필수 사이트 정보 수집시
0
155
2
0201 데이터 수집을 위한 프롬프트 컨텍스트 문서 작성과 코드 작성 실행시 도서정보링크확인
0
101
3
질문입니다
0
76
1
안녕하십니까! 질문드립니다!
0
111
2
md파일 수정만 하는게 아니라 실제 파일 수정
0
190
3
26번 영상과 23번 영상이 같습니다
0
89
1
영상에 사용한 슬라이드
0
93
2
어디서 표를 복사하나요?
0
63
2
1,2번이 강의가 같아요.
0
74
2
export
0
213
4
화면이 두번째 강의 부터 안나와요
0
144
1
nodemon ./bin/www 입력 시 오류
0
166
1
스티커 앱 문의
0
183
3
호스팅 및 도메인 관련
0
160
1
마커이미지가 깨집니다
0
145
2
nodemon설치와 express-generator 오류
0
222
1
List<Product> 작성시
1
142
2
코드를 다운받을수 있나요?
0
204
1
Mac vscode 으로 시작하시려는 분들께
0
313
1
vscode 테마 어떤거 쓰시나요?
0
349
1

