将活动预处理器符号从文件导入Eclipse CDT
我将EclipseCDT用于一个带有定制makefiles的C项目,我想使用非活动代码高亮显示,正如在问题的答案中所建议的那样。活动/定义符号的自动发现不适用于我的makefiles。相反,我为每个构建目标创建了一个文本文件,列出了活动符号 因此,我的问题是:将活动预处理器符号从文件导入Eclipse CDT,c,eclipse-cdt,c-preprocessor,C,Eclipse Cdt,C Preprocessor,我将EclipseCDT用于一个带有定制makefiles的C项目,我想使用非活动代码高亮显示,正如在问题的答案中所建议的那样。活动/定义符号的自动发现不适用于我的makefiles。相反,我为每个构建目标创建了一个文本文件,列出了活动符号 因此,我的问题是: 如何在不通过GUI(文件夹属性->路径和符号->符号)的情况下将这些设置加载到项目中 我如何选择符号添加到哪个配置/构建目标 直接编辑.cproject文件并添加如下行: <listOptionValue builtIn="fals
<listOptionValue builtIn="false" value="HIRES_OUTPUT"/>
但前提是我通过GUI为每个构建目标创建第一个键。我更愿意在一次操作中创建构建目标并导入符号
对于这项任务来说,从头开始编写Eclipse插件似乎有些过火了
有什么更智能的方法可以做到这一点吗?导入/导出向导可以处理符号定义。使用文件->导入并选择C/C++项目设置 导入向导所需的XML格式可以使用一个小的一次性脚本从活动符号的文本文件中创建 我使用了以下python脚本:
#
# Tool to import a list of defined symbols into Eclipse IDE for code highlighting.
#
# Takes a _cdef.txt file (generated during library build) and converts to an XML file
# suitable for import into Eclipse
# Use stdin and stdout for input and output.
import sys
import string
header = [
'<?xml version="1.0" encoding="UTF-8"?>',
'<cdtprojectproperties>'
,
'<section name="org.eclipse.cdt.internal.ui.wizards.settingswizards.Macros">',
'<language name="holder for library settings">',
'',
'</language>',
'<language name="GNU C++">',
'',
'</language>',
'<language name="GNU C">',
''
]
sys.stdout.write (string.join(header, '\n'))
text=sys.stdin.readlines()
tokens = string.split(string.strip(text[0]),',')
for curtok in tokens:
lines = ['<macro>',
'<name>' + string.strip(curtok) + '</name><value></value>',
'</macro>', '']
sys.stdout.write(string.join(lines, '\n'))
footer = [
'',
'</language>',
'<language name="Assembly">',
'',
'</language>',
'</section>',
'</cdtprojectproperties>',
'']
sys.stdout.write (string.join(footer, '\n'))
#
#用于将定义的符号列表导入EclipseIDE以突出显示代码的工具。
#
#获取一个_cdef.txt文件(在库构建期间生成)并转换为XML文件
#适合导入到Eclipse中
#使用标准输入和标准输出进行输入和输出。
导入系统
导入字符串
标题=[
'',
''
,
'',
'',
'',
'',
'',
'',
'',
'',
''
]
sys.stdout.write(string.join(头“\n”))
text=sys.stdin.readlines()
标记=string.split(string.strip(文本[0]),',')
对于curtok in代币:
行=['',
''+string.strip(curtok)+'',
'', '']
sys.stdout.write(string.join(行“\n”))
页脚=[
'',
'',
'',
'',
'',
'',
'',
'']
sys.stdout.write(string.join(页脚“\n”))
脚本的输入是一个带有逗号分隔的活动符号的文本文件,所有符号都在第一行。另一种方法是使用项目设置XML并在其中添加所有必需的宏。您可以通过以下方式生成基本XML文件: 右键单击项目->转到属性->C/C++常规->路径和符号 在符号选项卡中,添加一些GNU C或GNU C++的预处理器,并在窗口底部使用“导出设置”链接将这些设置导出为文件。然后手动编辑新宏的XML文件,并使用上述选项中的“导入设置”按钮导入
使用保存的文件作为所有其他项目的模板,并在项目创建时导入一次。我在Eclipse Oxygen.3a版本(4.7.3a)中没有看到“导入设置”按钮,我看到了您在“文件>导出…>C/C++>C/C++项目设置”中可能提到的内容。