標籤:
Notepad++ Emmet安裝後出現 unknown exception提示外掛程式無效Python Script Plugin did not accept the script。以下為記錄解決方案和過程,在此記錄備查。
Emmet的前身是大名鼎鼎的Zen coding,Web前端開發的話,對該外掛程式一定不會陌生。它使用仿CSS選取器的文法來產生代碼,大大提高了HTML/CSS代碼編寫的速度。
比如Notepad++ 快速編寫HTML代碼—初始化 HTML文檔需要包含一些固定的標籤,比如<html>、<head>、<body>等,現在你只需要1秒鐘就可以輸入這些標籤。比如輸入“!”或“html:5”,然後按Tab鍵。
Emmet需要 Python Script 的支援,因此這兩款外掛程式必須同時安裝才能使用。按照官方的方法教程,安裝方法有兩種。
第一種:用外掛程式管理器安裝,開啟外掛程式—外掛程式管理器—顯示外掛程式下找到emmet外掛程式安裝
第二種:手動方法。
先安裝Python Script外掛程式 (Python Script:A Python Scripting plugin for Notepad++),官方教程上說可以在外掛程式管理器裡面安裝。下載Emmet 外掛程式,解壓縮到\Program Files\Notepad++\plugins 安裝目錄,啟動notepad++就可以看到Emmet外掛程式了。外掛程式址:https://github.com/emmetio/npp
官方建議是將快速鍵Abbreviation設定為tab。
但是,奶牛在安裝的過程中發現上面的方法不可行,因為外掛程式根本不工作。有Unknown exception和python script plugin did not accept the script錯誤提示,環境是win7 x64位系統,找到解決方案是Python Script外掛程式問題,下載Python Script外掛程式重新安裝解決了此問題。
外掛程式介紹及安裝地址:http://npppythonscript.sourceforge.net/download.shtml
再次安裝前要卸載原來的Python Script外掛程式。
卸載notepad++外掛程式
下載後的檔案是PythonScript_1.0.8.0.msi右鍵點擊安裝,注意這裡要安裝在notepad++的程式根目錄,他會自動安裝到\Notepad++\plugins\PythonScript\下面的。安裝後,重啟Notepad++,測試OK。綜合度娘和Google其他人反映的情況,此問題主要出現在win7和win8 64位系統上。
此外還有一個問題Emmet 外掛程式貌似預設安裝完,快速鍵不是Tab鍵,需要自己另外設定。具體設定方法如下:
安裝完Emmet後,強烈建議更改 Expand Abbreviation 的鍵盤快速鍵為Tab鍵。
開啟Notepad++Settings > Shortcut Mapper…對話方塊,切換到 plugin commands,選中 Expand Abbreviation 項,修改其快速鍵為Tab鍵即可。
Notepad++外掛程式快速鍵設定
!
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
</body>
</html>
html:4s
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
</head>
<body>
</body>
</html>
html:xs
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
</head>
<body>
</body>
</html>
#content.aticle.posts
<div id="content" class="aticle posts"></div>
ul#ccc.ddd
<ul id="ccc" class="ddd">
</ul>
div.aaa>ul>li
<div class="aaa">
<ul>
<li></li>
</ul>
</div>
div>ul>li^^span
<div>
<ul>
<li></li>
</ul>
</div>
<span></span>
div>ul>li^^div.clear
<div>
<ul>
<li></li>
</ul>
</div>
<div class="clear"></div>
div>ul>li*6
<div>
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
(div>dl>(dt+dl)*3)+footer>p
<div>
<dl>
<dt></dt>
<dl></dl>
<dt></dt>
<dl></dl>
<dt></dt>
<dl></dl>
</dl>
</div>
<footer>
<p></p>
</footer>
div.banner>ul>li*2>((dt+dl)*3)+footer^^span
<div class="banner">
<ul>
<li>
<dt></dt>
<dl></dl>
<dt></dt>
<dl></dl>
<dt></dt>
<dl></dl>
<footer></footer>
</li>
<li>
<dt></dt>
<dl></dl>
<dt></dt>
<dl></dl>
<dt></dt>
<dl></dl>
<footer></footer>
</li>
</ul>
<span></span>
</div>
a
<a href=""></a>
a>{我是連結標題}
<a href="">我是連結標題</a>
link
<link rel="stylesheet" href="">
ul>li.item$*5
<ul>
<li class="item1"></li>
<li class="item2"></li>
<li class="item3"></li>
<li class="item4"></li>
<li class="item5"></li>
</ul>
$ 就表示一位元字,只出現一個的話,就從1開始。如果出現多個,就從0開始。如果我想產生三位元的序號,那麼要寫三個 $:
ul>li.item$$*5
<ul>
<li class="item01"></li>
<li class="item02"></li>
<li class="item03"></li>
<li class="item04"></li>
<li class="item05"></li>
</ul>
(header>ul.nav>li*5)+article+footer
<header>
<ul class="nav">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</header>
<article></article>
<footer></footer>
Notepad++ Emmet安裝方法教程