ํ ์คํธ ์์ญ ์ผ์ชฝ์ ๋ฒํผ ์์ญ์ ์ค๋ฅ/๊ฒฝ๊ณ ์์ด์ฝ์ ํ์ํ๋ ๊ธฐ๋ฅ์ด ์ ๋ง ๋ง์์ ๋ญ๋๋ค. ๊ทธ๋ฌ๋ ๋ชฉ๋ก์ ์ฌ์ฉ์์๊ฒ ํ์ํ ์ ์๋๋ก ๋ชจ๋ ์ค๋ฅ/๊ฒฝ๊ณ ๋ชจ์์ ๊ฐ์ ธ์ค๊ณ ์ถ์ต๋๋ค. ๋ํ ๊ฐ ๋ฌธ์ ์ ๋ํ ์ปค์ ์์น๋ฅผ ์ค์ ํ ์ ์๋๋ก ์ด ์ปฌ๋ ์ ์ ํ/์ด ๋ฒํธ๊ฐ ํฌํจ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒ์ ์ํ๋ค:
var ์ค๋ฅ = editor.getSession().getErrors();
var (var i = 0; i < Errors.length; i ++)
{
var ์ค๋ฅ = ์ค๋ฅ[i];
// Error.LineNumber
// ์ค๋ฅ.์ด ๋ฒํธ
// ์ค๋ฅ.์ค๋ช
}
๋ฐ์ดํฐ๋ annotations
์ด๋ฉฐ ๋ค์ ํธ์ถ๋ก ๊ฒ์ํ ์ ์์ต๋๋ค.
editor.getSession().getAnnotations()
๋ฐ์ดํฐ๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋ฉ๋๋ค.
/**
* Error:
* {
* row: 12,
* column: 2, //can be undefined
* text: "Missing argument",
* type: "error" // or "warning" or "info"
* }
*/
๋น ๋ฅธ ์๋ต ๊ฐ์ฌํฉ๋๋ค! getAnnotations์ ๋ํด ๋ฐํ๋ ๊ฐ์ฒด์ ์ก์ธ์คํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์๋ฅผ ์ ๊ณตํ ์ ์์ต๋๊น? ๊ฐ์ฌ ํด์!
๋ฐํ๋ ๊ฐ์ฒด๋ ๋จ์ํ ํด์ ํด์์ ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ๋ณด์ ๋๋ค.
this.$annotations = {};
๋ฐ๋ผ์ $annotations ํด์๋ ๋ค์๊ณผ ๊ฐ์ ์ ์์ต๋๋ค.
{
{
row: 12,
column: 2, //can be undefined
text: "Missing argument",
type: "error" // or "warning" or "info"
},
{
row: 32,
text: "Missing semicolon",
type: "warning"
},
// etc
}
๋ค์๊ณผ ๊ฐ์ด ์๋ต์ ๋ฐ๋ณตํ ์ ์์ต๋๋ค.
var annotations = editor.getSession().getAnnotations();
for (var anno in annotations) {
// anno.row, anno.column, anno.text, anno.type
}
์ด ๋ชฉ์ ์ ์ํด Cloud9์์ ํ๋ฌ๊ทธ์ธ์ ๋ง๋ค์์ต๋๋ค. acebugs๋ผ๊ณ ํ๋ฉฐ ์ฌ๊ธฐ์ ์์ต๋๋ค.
https://github.com/ajaxorg/cloud9/blob/devel/client/ext/acebugs/acebugs.js
cloud9 ํ์ฅ์ ๊ณ ๋ คํ๊ณ ์๋์ง ์๋๋ฉด ๊ฐ์ธ ํ๋ก์ ํธ๋ฅผ ์ํ ๊ฒ์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์ฌ๋ฌ๋ถ์ ๋ ธ๋ ฅ์ด ์ค๋ณต๋์ง ์๋๋ก ์ธ๊ธํ๊ณ ์ถ์์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ๋ณด์ ๋๋ค.
์ต์์,
๋งคํธ
๋งคํธ,
์ํ ์ ๊ณตํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
๋๋ Cloud9์ ์กฐ๊ธ ๊ฐ์ง๊ณ ๋์์ง๋ง ๋๋ ์ฌ์ ํ ๋ ๋ง์ ๊ฐ์ธ ํ๋ก์ ํธ๋ฅผ ์ฐพ๊ณ ์์ต๋๋ค. ๋ฌธ์ ๋ ๋ด ๋ค๋ฅธ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ช ๋ฌ ๋์ ์ฝ๋ ํธ์ง๊ธฐ์์ ์์ ํ๊ณ ์์๊ณ ๋ฐํด๋ฅผ ์ฌ๋ฐ๋ช ํ๋ ๋์ ์ด์ ๊ฐ์ ๊ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ฌ์ธ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค๋ ๊ฒ์ ๋๋ค.
-๋ง์ดํฌ
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด ๋ชฉ์ ์ ์ํด Cloud9์์ ํ๋ฌ๊ทธ์ธ์ ๋ง๋ค์์ต๋๋ค. acebugs๋ผ๊ณ ํ๋ฉฐ ์ฌ๊ธฐ์ ์์ต๋๋ค.
https://github.com/ajaxorg/cloud9/blob/devel/client/ext/acebugs/acebugs.js
cloud9 ํ์ฅ์ ๊ณ ๋ คํ๊ณ ์๋์ง ์๋๋ฉด ๊ฐ์ธ ํ๋ก์ ํธ๋ฅผ ์ํ ๊ฒ์ธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์ฌ๋ฌ๋ถ์ ๋ ธ๋ ฅ์ด ์ค๋ณต๋์ง ์๋๋ก ์ธ๊ธํ๊ณ ์ถ์์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ๋ณด์ ๋๋ค.
์ต์์,
๋งคํธ