강디너의 개발 일지

Vscode Extension (플러그인) 만들기_7 본문

Javascript/삽질

Vscode Extension (플러그인) 만들기_7

강디너 2018. 12. 7. 18:30
728x90

Vscode Extension (플러그인) 만들기_7



음... 어떻게하면 더 편하게 쓸수 있을까 생각하다가


어짜피 번역되서 나오는 값이 1개인데 굳이 선택하게 할 필요가 있을까 ?


라는 생각이 들어서 바로 번역되게 코딩을 해봤습니다.

( + 카카오 API 허용량 넘으면 메시지 뜨게끔..)


바뀐점은

translationText 함수가 editor 인수를 받게끔 해놨습니다.

editor 를 밖으로 꺼내서 this 로 할려했는데 실패..


그냥 함수를 실행할 때 editor 를 보내줍니다.


translationText(editor);


function translationText(editor: any) {
            console.log('-------testCode--------');

            const src_lang = 'kr';
            const target_lang = 'en';
            let query = text;
            const headers = {
                'Authorization': 'KakaoAK ------API 키-----',
                'Content-Type': 'application/json;charset=utf-8',
            };
            query = encodeURI(query);
            return fetch(
                `https://kapi.kakao.com/v1/translation/translate?src_lang=${src_lang}&target_lang=${target_lang}&query=${query}`, {
                    method: 'GET',
                    headers: headers
                }).then(
                    (res: Response) => {
                        console.log('res-----', res);
                        if (res.status == 200) {
                            console.log('성공');
                            return res.json();
                        } else {
                            console.log('실패');
                            vswindow.showInformationMessage('일일허용량을 넘겼습니다. 아마.. 수정하겠습니다.');
                        }
                    }
                ).then(resJson => {
                    console.log(resJson);
                    editor.edit((edit: any) => edit.replace(selection_range, String(resJson.translated_text[0])));
                    return resJson.translated_text[0];
                })
                .catch(err => console.log(err));
        }


어느정도 코딩은 끝난거 같기도 하고... 흐으으으음

마켓에도 한번 올려봐야겠고 흐으으음

오픈소스 기여좀 해봐야죠 !







반응형
Comments