這一篇藉由一個小小的例子來看我們上一篇安裝完的套件功能
啟動 Emacs 來編輯一個 testutil.js 檔案,如果一切安裝完成的話,會有類似的狀態列出現跟小緩衝區顯示 tsserver server started successfully,狀態列會列出 Javascript-IDE 的主模式跟 tide, Prettier FlyC company yas Eldoc 等次模式 
假設用 function expression 輸入第一個函式,當輸入 cons 會自動補全為 
補全同時,下面小緩衝區會出現 Eldoc 來顯示該對應函式的定義
這時如果用 Meta-x company-diag 會顯示目前正使用 company-tide 來做補全的動作 
假設輸入底下兩個 javascript 的函式,一個用 function expression,一個用 function declaration,我們故意漏掉分號跟空很多行
// function expression
var test1 = function() {
console.log("Hello from test1")
}
// function declaration
function test2() {
console.log("Hello from test2")
}
當按 Ctrl-x Ctrl-s 儲存時,會自動排列為 
儲存完之後,函式的名稱會變成橘黃色,這是語法警示,使用 Ctrl-c ! l 會顯示 Flycheck 的錯誤跟警告提示 
這裏提醒我們,test1 這個變數定義後未使用,test2 函式定義後未使用
檢查 Flycheck 的設定,使用 Ctrl-c ! v,我們看到 javascript-eslint 被啟動,同時也啟動了 javascript-tide 
可以使用 Ctrl-c Ctrl-f 對所有函示折疊開合,使用 Ctrl-c Ctrl-o 對目前游標所在函示折疊開合
折疊後,函式會以 {...} 顯示折疊 
接著編輯會使用 testutil.js 的 test.js 檔案,使用 require 加入 testutil.js 
接著使用 function contructor 來建立 Test3 
建立一個 test3 = new Test3("18", 1) 的物件,自動補全會帶出 prototype 的方法跟屬性 
直接在 Emacs 的 shell 下執行 $node test.js 
可以使用 Meta-. 一直回溯到原先函式定義,使用 Meta-, 沿路跳回 

testutil.js
// function expression
var test1 = function() {
console.log("Hello from test1");
};
// function declaration
function test2() {
console.log("Hello from test2");
}
module.exports = { test1, test2 };
test.js
const { test1, test2 } = require("./testutil");
// function contructor
function Test3(x, y) {
this.x = x;
this.y = y;
}
Test3.prototype.runTest1 = test1;
Test3.prototype.runTest2 = test2;
var test3 = new Test3("18", 1);
test3.runTest1();
test3.runTest2();
以上簡單介紹了 Emacs 在實際編輯 javascript 時可以用到的功能,相信應該可以滿足我們在編輯 javascript 時大部分的需求
相關簡報:剪報
相關資訊: 我的部落格