vscode를 배포를 준비하고 준비과정에서 찾은 버그도 발견되어서 해결하고 배포하였다.
배포준비: package.json에 배포 정보 작성
vscode 마켓에서 보여줄 정보를 package.json에서 저장한다. 해당 정보를 수정함으로서 보여질 값을 보여준다.
{
"name": "vscode-with-tistory",
"displayName": "vscode with tistory",
"description": "vscode에서 티스토리 게시글을 작성 및 수정할 수 있는 extension",
"publisher": "green-flamingo",
"version": "1.0.0",
"license": "MIT",
"bugs": {
"url": "https://github.com/dev-green-flamingo/vscode-with-tistory/issues"
},
"repository": {
"type": "git",
"url": "https://github.com/dev-green-flamingo/vscode-with-tistory.git"
},
"engines": {
"vscode": "^1.58.0"
},
"categories": [
"Other"
],
"keywords": [
"vscode",
"tistory",
"markdown"
]
/**생략**/
}
작성된 의미는 다음과 같다.
- name: 패키지 이름
- displayName: 마켓에서 보여줄 extension이름
- description: 마켓에서 보여줄 extensino의 한줄평
- publisher: 배포하는 사용자 혹은 단체
- version: extension의 현 버전
- license: 코드의 라이선스
- bugs: 사용자가 extension을 사용중에 버그가 발생하였을 경우 버그를 제보할 수 있는 웹사이트 혹은 이메일. 필자는 git issue만 남겼다.
- repository: extension코드 원문이 업로드된 url
- engines: 해당 extension이 동작하기 위한 vscode의 최소버전
- categories: vscode marketplace에 등록될 카테고리 종류
- keywords: 검색을 용이하게 하기 위한 extension의 키워드
여기서 하나 의문이 들 것은 marketplace에 보여줄 extension설명이 없다는 것을 알 수 있다. 이는 워크스페이스의 루트경로의 README.MD를 자동으로 참조하므로 README만 잘 작성하면 된다.
배포 과정중 찾은 문제점
배포전에 테스트를 수행하면서 찾은 문제점과 배포 과정중 발생한 문제점이 무엇이었고 어떻게 해결했는지를 작성하였다.
문제1: 이미지 파일 경로의 한글 인코딩
vscode의 uri로 함수를 바꾸니 문제가 생겼다. 파일경로를 url인코딩해서 반환을 해준다. 이로인해 파일 경로를 읽을 수 없다. nodejs에서 인지 못하는건 이해가 되는데 vscode의 fs모듈에서도 인지를 못하는건 왜인지 모르겠다.(fsPath인데...) 그래서 javascript의 decodeURI함수를 이용해 인코딩된 값을 디코딩값으로 돌려놓았다. vscode.workspace.fs는 vscode.Uri객체를 주어서 사용되므로 직접 uri디코딩을 수행할 수 없어 해당 함수를 사용할 수 없다. 그래서 파일을 읽는 부분만 nodejs의 fs로 바꾸었다. 결국 이전에 수행했던 vscode.workspace.fs로 바꾼 의미가 없어졌다.
문제2: 배포과정 중 한글 인코딩 문제
README를 적고 marketplace에 등록을 수행할려하니 다음과 같은 오류내용이 나온다.
아무래도 한글 이름으로 이미지 파일을 저장해서 한글 파일 이름을 인식하지 못하는 것으로 보인다. 그래서 git의 mv로 파일 이름을 영어로 바꾸고 README의 파일 이름도 수정하여서 배포하여서 정상적으로 완료되었다.
이제 개발은 끝났다.😊
배포도 정상적으로 완료되었으니 의견이나 접수받아서 유지보수를 수행하면서 관리를 해야겠다. 다음부턴 개발일기가 아니라 유지보수 일기를 작성하면서 어떤 작업을 하였고 어떻게 갱신하였는지를 작성하겠다.
'vscode-with-tistory' 카테고리의 다른 글
vscode extension 개발일기9: 코드 최적화 (0) | 2021.11.16 |
---|---|
vscode extension 개발일기8: 이미지업로드, 게시글 수정 (0) | 2021.11.16 |
vscode extension 개발일기7: 테스트 코드 이식 (0) | 2021.11.16 |
vscode extension 개발일기6: markdown-it모듈, 포스트 정보 파싱 테스트 (0) | 2021.11.16 |
vscode extension 개발일기5: 포스팅 기능 설계 준비 & Mocha를 이용한 테스트 유닛 작성 (0) | 2021.11.16 |