如何卸载 Pharo Glamorous Toolkit?
How to uninstall Pharo Glamorous Toolkit?
我想卸载 Pharo 4 或 5 中的 Glamorous Toolkit(对我来说似乎是经典 Smalltalk 工具的重载版本)。
这是我的代码:
| config configName |
configName := #ConfigurationOfGTInspectorCore.
config := (MBConfigurationInfo
configurationClass: (Smalltalk globals at: (configName asSymbol)))
configurationRoot: MBConfigurationRoot new;
yourself.
config workingCopy unload
但我的脚本会卸载配置,但不会卸载包或它包含的 类 和方法,我想卸载配置中的所有 GT 包。
我做错了什么?任何帮助将不胜感激!
提前致谢。
如果你想使用旧版本,你所要做的就是进入设置并停用它们(进入菜单中的设置:world menu/system/settings),然后寻找 "Glamorous Toolkit" .
卸载包要复杂得多:您需要以正确的顺序迭代每个包并卸载它。
现在,请注意 GT 工具是 官方 工具(对您而言过载,对我们来说功能强大)...很可能 Pharo 的未来版本将不包含旧工具。
我建议您尝试一下...您很快就会看到好处。
我也更喜欢 GT 是可选的,事实上 Pharo 董事会将在即将到来的 Pharos 中默认强加 GT,这让我想到了透明度过程,以及如果这些政策继续下去,Pharo 分叉会有多远。
也就是说,GT工具不能轻易卸载(而且需要很多时间):
Workspace openContents: 'GTPlayground setGTPlaygroundEnabledStatus: false.
" ========== Debuggers ========== "
Nautilus pluginClasses: nil.
SpecDebugger closeAllDebuggers.
GTGenericStackDebugger closeAllDebuggers.
GTGenericStackDebugger setGTDebuggerEnabledStatus: false.
" ========== Miscellany ========== "
GTInspector setGTInspectorEnabledStatus: false.
GTExampleOrganizer stop.
GTEventRecorder cleanUp.
GTEventRecorderSettings cleanUp.
GTSnippets reset.
GTPlayBook reset.
GTPlayBook resetDirectories.
GTSpotter cleanUp.
GTSpotterGlobalShortcut reset.
GlobalIdentifier cleanUp.
Privacy cleanUp.
" ========== QA ========== "
QASettings inspectorPluggin: false.
QASettings spotterPlugin: false.
QAEventCollector unload.
(MCPackage named: ''QualityAssistant'') unload.
" ========== RPackage ========== "
RPackageOrganizer default packageNames
select: [ :each | each beginsWith: ''GT'' ]
thenDo: [ :each |
(MCPackage named: each) unload.
RPackageOrganizer default unregisterPackageNamed: each.
" Possibly unnecessary... "
Smalltalk removeEmptyMessageCategories.
Smalltalk cleanOutUndeclared.
Smalltalk fixObsoleteReferences.
Smalltalk globals flushClassNameCache ].
Behavior flushEvents.
Behavior flushObsoleteSubclasses.
SmalltalkImage current resetTools.'
我想卸载 Pharo 4 或 5 中的 Glamorous Toolkit(对我来说似乎是经典 Smalltalk 工具的重载版本)。
这是我的代码:
| config configName |
configName := #ConfigurationOfGTInspectorCore.
config := (MBConfigurationInfo
configurationClass: (Smalltalk globals at: (configName asSymbol)))
configurationRoot: MBConfigurationRoot new;
yourself.
config workingCopy unload
但我的脚本会卸载配置,但不会卸载包或它包含的 类 和方法,我想卸载配置中的所有 GT 包。
我做错了什么?任何帮助将不胜感激!
提前致谢。
如果你想使用旧版本,你所要做的就是进入设置并停用它们(进入菜单中的设置:world menu/system/settings),然后寻找 "Glamorous Toolkit" .
卸载包要复杂得多:您需要以正确的顺序迭代每个包并卸载它。
现在,请注意 GT 工具是 官方 工具(对您而言过载,对我们来说功能强大)...很可能 Pharo 的未来版本将不包含旧工具。
我建议您尝试一下...您很快就会看到好处。
我也更喜欢 GT 是可选的,事实上 Pharo 董事会将在即将到来的 Pharos 中默认强加 GT,这让我想到了透明度过程,以及如果这些政策继续下去,Pharo 分叉会有多远。
也就是说,GT工具不能轻易卸载(而且需要很多时间):
Workspace openContents: 'GTPlayground setGTPlaygroundEnabledStatus: false.
" ========== Debuggers ========== "
Nautilus pluginClasses: nil.
SpecDebugger closeAllDebuggers.
GTGenericStackDebugger closeAllDebuggers.
GTGenericStackDebugger setGTDebuggerEnabledStatus: false.
" ========== Miscellany ========== "
GTInspector setGTInspectorEnabledStatus: false.
GTExampleOrganizer stop.
GTEventRecorder cleanUp.
GTEventRecorderSettings cleanUp.
GTSnippets reset.
GTPlayBook reset.
GTPlayBook resetDirectories.
GTSpotter cleanUp.
GTSpotterGlobalShortcut reset.
GlobalIdentifier cleanUp.
Privacy cleanUp.
" ========== QA ========== "
QASettings inspectorPluggin: false.
QASettings spotterPlugin: false.
QAEventCollector unload.
(MCPackage named: ''QualityAssistant'') unload.
" ========== RPackage ========== "
RPackageOrganizer default packageNames
select: [ :each | each beginsWith: ''GT'' ]
thenDo: [ :each |
(MCPackage named: each) unload.
RPackageOrganizer default unregisterPackageNamed: each.
" Possibly unnecessary... "
Smalltalk removeEmptyMessageCategories.
Smalltalk cleanOutUndeclared.
Smalltalk fixObsoleteReferences.
Smalltalk globals flushClassNameCache ].
Behavior flushEvents.
Behavior flushObsoleteSubclasses.
SmalltalkImage current resetTools.'