有没有办法在使用boost库提供的.ipp实现文件中添加断点?
使用Visual Studio,我能够这样做,但xcode(4.4.1)不会将.ipp文件识别为代码文件。
答案 0 :(得分:1)
注意:这不是一个有效的解决方案,但我希望有人可以从这里继续。
如this question中所述,OSX的文件类型关联存储在plist
个文件中,因此我编写了一个简短的shell脚本,用于搜索所有hpp
中的字符串plists
在给定目录下:
#!/bin/sh
find $1 -iname "*.plist" -print0 | while read -d $'\0' file
do
if plutil -convert xml1 "$file" -r -o - | grep -q "<string>hpp</string>"
then
echo "$file"
fi
done
按照预期,使用sh find_hpp.sh /Applications/Xcode.app
调用上述脚本找到Contents/Info.plist
。请注意,此文件无法使用Xcode直接编辑,因为它在Xcode运行时被锁定,但您可以退出Xcode,通过plutil -convert xml1 Info.plist -o Info.xml
将二进制plist文件转换为xml,编辑xml并将其转换回{{ 1}}。
我刚刚在xml文件中搜索了plutil -convert binary1 Info.xml -o Info.plist
,并添加了hpp
作为附加文件类型(它发生了两次):
ipp
将已编辑的xml文件转换回二进制文件后,为了强制Launch Services重新读取plist,我触摸了应用程序包:
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>hh</string>
<string>hp</string>
<string>hpp</string>
<string>hxx</string>
<string>h++</string>
<string>ipp</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>c-header_Icon</string>
<key>CFBundleTypeName</key>
<string>C++ Header Source</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSIsAppleDefaultForType</key>
<true/>
<key>LSItemContentTypes</key>
<array>
<string>public.c-plus-plus-header</string>
</array>
</dict>
我退出并重新登录,但是:没有。在Xcode中仍然没有语法高亮,也没有Finder中的touch /Applications/Xcode.app
文件的文件关联。我甚至重新启动了系统,将Xcode应用程序包移动到我的桌面并返回。依然没有。我希望其他人可以从这里接听。
答案 1 :(得分:1)
sudo /Applications/Xcode.app/Contents/MacOS/Xcode /System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist
使用 Cmd + F 查找.cpp
并添加.ipp
分机附近
重新启动