티스토리 뷰

반응형

코딩을 하면서 상태나 프로세스를 확인하기 위해서 로그에 출력하는 프린트문을 자주 작성하는데 이때 나의 경우, 로그 내용에 해당 프린트문이 실행되는 class 명, funcaion(method)명을 함께 출력하게 하고 있다. 

매번 프린트문을 적을 때마다 클래스명과 함수명을 직접 입력하기 귀찮아서 단축키(snippet)로 만들어 놓고 사용하고 있다.

 

안드로이드 스튜디오

메뉴의 Setting에 들어간다. 그리고 왼쪽 메뉴 중에 Editor > Code Stype > Live Templates 로 이동하면 아래와 같은 창을 볼 수 있다. 

여기서 자신이 작성하는 코드의 언어를 선택하고 그 아래에 원하는 단축어를 선언하면되는데, 나의 경우 Flutter 로 앱을 만드는 중이라 사용언어인 dart 아래에 단축어를 만들었다.

 

단축어를 정의할때

Abbreviation은 설정한 약어,

Template text는 약어가 실행되었을 때 에디터에 출력되는 텍스트를 의미한다.

위의 사진에서 Template text  $CLASS_NAME$, $METHOD_NAME$ 과 같은 변수를 사용한 것이 보인다. 이름에서 알 수 있듯이 각각 클래스명과, 변수명을 가져와 표시한다. 이제 변수를 연결해줘야한다. 오른쪽에 Edit variable 을 클릭 한 후, 

와 같이 정의 해주면 된다.

 

 

VS CODE

안타깝게도 vs code 에서 사용할 수 있는 변수 중에 클래스명이나 함수명을 가져올 수 있는 변수는 없다. 

vs code 에서 snippet 작성시 사용할 수 있는 변수는 아래에서 확인 가능하다 

https://code.visualstudio.com/docs/editor/userdefinedsnippets#_variables

 

Snippets in Visual Studio Code

It is easy to add code snippets to Visual Studio Code both for your own use or to share with others on the public Extension Marketplace. TextMate .tmSnippets files are supported.

code.visualstudio.com

이 중에 클래스명, 메서드 명을 가져오는 변수가 없으므로 대안으로 파일명과 라인넘버를 표시하는 변수를 사용했다. 

 

메뉴에서 Code > 기본 설정 > 사용자 코드 조각 구성 을 선택한다.  

그러면 아래 같은 창이 뜨는데, 나는 이미 dart.json 이라는 snippet 을 정의하기 위한 파일이 만들어놔서 아래 처럼 뜬다. 처음 만드는 경우라면, '새 전역 코드 조각 파일'을 선택하여 직접 파일명을 입력하고나 그 아래 선택항목중 해당 언어를 선택해 주면 파일이 열린다. 

그리고 파일 열리면 아래 와 같이 예문이 주석 처리 되어있는 내용을 볼 수 있는데 해당 예문을 토대로 원하는 단축어를 정의하면 된다. 

{
	// Place your snippets for dart here. Each snippet is defined under a snippet name and has a prefix, body and 
	// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
	// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the 
	// same ids are connected.
	// Example:
	// "Print to console": {
	// 	"prefix": "log",
	// 	"body": [
	// 		"console.log('$1');",
	// 		"$2"
	// 	],
	// 	"description": "Log output to console"
	// }
}

 

나는 파일명과 해당 파일에서 라인 넘버를 표시하도록 했다.

{
	"DebugPrint to console": {
		"prefix": "prt",
		"body": [
			"debugPrint('${TM_FILENAME_BASE} :: ${TM_LINE_NUMBER} lines ::$0');"
		],
		"description": "Log output to console"
	}
}
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함