如何将CDT插件版本写入.cproject文件?
How to write CDT plug-in version to .cproject file?
我正在为 Eclipse IDE 开发 CDT 插件,我需要跟踪创建 C 项目所用的插件版本以跟踪兼容性问题。为此,我需要将 CDT 插件版本写入 .cproject
文件。
我已经尝试过这样的代码:
IProject project = ...;
IManagedBuildInfo buildInfo = ManagedBuildManager.getBuildInfo(project);
// change things in the buildInfo
ManagedBuildManager.saveBuildInfo(project, true);
但是我还没有找到正确的使用方法
我已经尝试使用 CProject
extension point, but the interface ICOwner
,它需要实现,但我没有找到替代方案。
我找到了another similar question,但答案似乎是UI相关的(至少我找不到getResDesc()
方法)。
还想澄清一下,这不是要更改 .cproject
文件中的现有选项,而是要添加新选项。
如何将 CDT 插件版本写入 .cproject
文件?
您可以通过写入项目范围的首选项存储来解决此问题。这会将首选项存储在 .settings/*.prefs 文件中。
来自 docs 的快速入门:
IScopeContext projectScope = new ProjectScope(MyProject);
Preferences projectNode = projectScope.getNode("com.example.myplugin");
然而,围绕偏好还有很多其他 API 选择,因此进一步讨论可能最好解决另一个问题。
我正在为 Eclipse IDE 开发 CDT 插件,我需要跟踪创建 C 项目所用的插件版本以跟踪兼容性问题。为此,我需要将 CDT 插件版本写入 .cproject
文件。
我已经尝试过这样的代码:
IProject project = ...;
IManagedBuildInfo buildInfo = ManagedBuildManager.getBuildInfo(project);
// change things in the buildInfo
ManagedBuildManager.saveBuildInfo(project, true);
但是我还没有找到正确的使用方法
我已经尝试使用 CProject
extension point, but the interface ICOwner
,它需要实现,但我没有找到替代方案。
我找到了another similar question,但答案似乎是UI相关的(至少我找不到getResDesc()
方法)。
还想澄清一下,这不是要更改 .cproject
文件中的现有选项,而是要添加新选项。
如何将 CDT 插件版本写入 .cproject
文件?
您可以通过写入项目范围的首选项存储来解决此问题。这会将首选项存储在 .settings/*.prefs 文件中。
来自 docs 的快速入门:
IScopeContext projectScope = new ProjectScope(MyProject);
Preferences projectNode = projectScope.getNode("com.example.myplugin");
然而,围绕偏好还有很多其他 API 选择,因此进一步讨论可能最好解决另一个问题。