原文:[url]http://kuan.iteye.com/blog/187843[/url]
Poseidon每次打开都会重新分析装载及import的文件,这里介紹一些方法快速装载项目.
1. Poseidon会把当前项目的文档分析結果存成-->项目名称.ncb文件,每次关闭项目時便会自动保存它,下次装载项目時Poseidon会預先寻找ncb文件中的內容,若文档分析結果不在ncb中,才会装载並分析原文档(1).所以若把ncb文件刪除,Poseidon便会全部重新分析原文档(2). (这两个原文档有什么不同?这里看得有点糊涂,译者)
2. 我們的项目除了本身文档之外,也有可能import其他的庫,如std(phobos),Tango,dwt,dfl...等等,我們可以利用生成 Default Parser 來加速项目的装载:
a. 首先到 Tools->Options->Parser 中的 Make Default Parser.
[img]http://kuan.iteye.com/upload/picture/pic/13119/e028b5ac-20b6-3834-8928-fbba93b999fa.png[/img]
b. 选择想生成的庫文件目錄.(上图中选择phobos的std)
c. 按下make鍵,此時会询问我們Default Parser的名称,例子中是使用std,所以設定為std,同理:
Tango -> tango
DWT -> dwt
DFL -> dfl
(即是設為庫文件的主package名称)
d. 确定之后Poseidon便会开始庫文件分析,並于Poseidon的ana目錄下,保存分析后的結果.
3. 生成了Default Parser,我們可以选择Tools->Options->Parser的两个选项之一:
Parse All Imported Modules In Project:
选择此选项,Poseidon除了装载项目文档外,另外会額外分析文档中import的modules(通常是庫文件),若之前已生成Default Parser,Poseidon会优先装载;否則会根据module名称及项目属性中Includes And Libs->Directory目錄去寻找.
使用此选项Default Parser只作用于該项目,但可以得到目前Poseidon中最完善的自动完成功能.
Load Default Parser:
打开Poseidon時会預先装载Default Parser,預装载Parser設定如下图:
[img]http://kuan.iteye.com/upload/picture/pic/13121/e3f6ab88-012b-3d2c-bfc6-81ec4a771457.png[/img]
使用此选项装载的Default Parser可以作用于全部项目.
設定完成之后,项目的装载应该就可以加快不少,但是目前Poseidon的分析器CodeAnalyzer以后可能会有改动,建议若有更新請重新生成
[b][color=red]註: [/color][/b]
*.ncb及 *.ana其实只是把分析完成的AST(?)結果存成文档的模式,所以使用時可以节省分析的時間,而 *.ncb與 *.ana最大的不同除了文件数量不同,就是*.ana只存入声明的部份,而沒有函数內容.
我想可以利用它來生成更干净的interface文件(*.di),不過等有空再說^^
Poseidon每次打开都会重新分析装载及import的文件,这里介紹一些方法快速装载项目.
1. Poseidon会把当前项目的文档分析結果存成-->项目名称.ncb文件,每次关闭项目時便会自动保存它,下次装载项目時Poseidon会預先寻找ncb文件中的內容,若文档分析結果不在ncb中,才会装载並分析原文档(1).所以若把ncb文件刪除,Poseidon便会全部重新分析原文档(2). (这两个原文档有什么不同?这里看得有点糊涂,译者)
2. 我們的项目除了本身文档之外,也有可能import其他的庫,如std(phobos),Tango,dwt,dfl...等等,我們可以利用生成 Default Parser 來加速项目的装载:
a. 首先到 Tools->Options->Parser 中的 Make Default Parser.
[img]http://kuan.iteye.com/upload/picture/pic/13119/e028b5ac-20b6-3834-8928-fbba93b999fa.png[/img]
b. 选择想生成的庫文件目錄.(上图中选择phobos的std)
c. 按下make鍵,此時会询问我們Default Parser的名称,例子中是使用std,所以設定為std,同理:
Tango -> tango
DWT -> dwt
DFL -> dfl
(即是設為庫文件的主package名称)
d. 确定之后Poseidon便会开始庫文件分析,並于Poseidon的ana目錄下,保存分析后的結果.
3. 生成了Default Parser,我們可以选择Tools->Options->Parser的两个选项之一:
Parse All Imported Modules In Project:
选择此选项,Poseidon除了装载项目文档外,另外会額外分析文档中import的modules(通常是庫文件),若之前已生成Default Parser,Poseidon会优先装载;否則会根据module名称及项目属性中Includes And Libs->Directory目錄去寻找.
使用此选项Default Parser只作用于該项目,但可以得到目前Poseidon中最完善的自动完成功能.
Load Default Parser:
打开Poseidon時会預先装载Default Parser,預装载Parser設定如下图:
[img]http://kuan.iteye.com/upload/picture/pic/13121/e3f6ab88-012b-3d2c-bfc6-81ec4a771457.png[/img]
使用此选项装载的Default Parser可以作用于全部项目.
設定完成之后,项目的装载应该就可以加快不少,但是目前Poseidon的分析器CodeAnalyzer以后可能会有改动,建议若有更新請重新生成
[b][color=red]註: [/color][/b]
*.ncb及 *.ana其实只是把分析完成的AST(?)結果存成文档的模式,所以使用時可以节省分析的時間,而 *.ncb與 *.ana最大的不同除了文件数量不同,就是*.ana只存入声明的部份,而沒有函数內容.
我想可以利用它來生成更干净的interface文件(*.di),不過等有空再說^^