初窥Xcode4 -- Xcode4主题样式、快捷键等常用设置

今天晚上开始使用Xcode4,初窥历程如下。

一、下载安装Xcode4

因为我需要让Xcode4和老版本共存,在安装Xcode4时选择其他安装路径,安装成功后在xcode4安装目录下改名Xcode.app为Xcode4.app以区分老版本,随便找一个xcodeproj文件,右键Get Info,在Open with里面选择Xcode4并点击Change All以设置文件类型关联。

二、熟悉界面

打开Xcode,大概浏览下界面的变化,到处乱点下看是啥东西,把Xcode菜单浏览一遍。

有空的话可以看看帮助文档里面关于源代码管理的部分。

试着建一个HelloWorld项目,并操作下IB链接。

三、配置代码编辑器的字体和颜色(Fonts & Colors)

我比较喜欢用黑色背景写代码,眼睛比较舒服。以前老的ColorTheme文件用不了,ColorTheme的存放路径变了,旧的在~/Library/Application Support/Xcode/Color Themes,Xcode4的在~/Library/Developer/Xcode/UserData/FontAndColorThemes下,而且文件格式也变了,但是大部分项目都是一样的。可以重新配置颜色字体,也可以对照着手动改配置文件。

Google了一下,aktowns已经写了一个转换脚本:https://gist.github.com/793006 

使用方法非常简单:

1.下载dvtcolorconvert.rb,假如你放在桌面,把旧的Theme文件也复制到桌面

//dvtcolorconvert.rb

 

#!/usr/bin/env ruby
# This script converts xccolorthemes to dtvcolorthemes for porting xcode 3.x themes to xcode 4.x 
# created by ashley towns <ashleyis@me.com> 
# Public domain.
# ./dvtcolorconvert <inputfile>
# spits out a .dtvcolortheme file

require 'rubygems'
require 'plist'
raise "Error: need a source file #{__FILE__} [file.xccolortheme]" if ARGV.length == 0 

def alpha inc, alpha=1
  "#{inc} #{alpha}"
end
def convert infile
  hash = Plist::parse_xml infile
  out_hash = {}
  out_hash[:DVTSourceTextSyntaxFonts] = {}
  out_hash[:DVTSourceTextSyntaxColors] = {}
  hash.each do |name, node|
    node.each do |child_name, child|
      puts "[on] node:#{name} child:#{child_name}(#{child})"
      if name == "Colors"
        case child_name
          when /Background/ 
            out_hash[:DVTSourceTextBackground] = alpha child
            out_hash[:DVTConsoleTextBackgroundColor] = alpha child
            out_hash[:DVTSourceTextInvisiblesColor] = alpha child
            out_hash[:DVTSourceTextBlockDimBackgroundColor] = alpha child
          when /InsertionPoint/ 
            out_hash[:DVTSourceTextInsertionPointColor] = alpha child
            out_hash[:DVTConsoleTextInsertionPointColor] = alpha child
            out_hash[:DVTDebuggerInsutrctionPointerColor] = alpha child
            out_hash[:DVTConsoleDebuggerInputTextColor] = alpha child
            out_hash[:DVTConsoleDebuggerOutputTextColor] = alpha child
            out_hash[:DVTConsoleExectuableInputTextColor] = alpha child
            out_hash[:DVTConsoleExecutableOutputTextColor] = alpha child
          when /Selection/
            out_hash[:DVTSourceTextSelectionColor] = alpha child
            out_hash[:DVTConsoleTextSelectionColor] = alpha child
            out_hash[:DVTDebuggerPromptTextColor] = alpha child
          else
            out_hash[:DVTSourceTextSyntaxColors][child_name] = alpha child
        end
      elsif name == "Fonts"
        case child_name
          when /xcode.syntax.plain/
            child = "Inconsolata - 14pt"
            out_hash[:DVTConsoleDebuggerInputTextFont] = child
            out_hash[:DVTConsoleDebuggerOutputTextFont] = child
            out_hash[:DVTConsoleDebuggerPromptTextFont] = child
            out_hash[:DVTConsoleExecutableInputTextFont] = child
            out_hash[:DVTConsoleExecutableOutputTextFont] = child
            out_hash[:DVTSourceTextSyntaxFonts]['xcode.syntax.plain'] = child
          else
            out_hash[:DVTSourceTextSyntaxFonts][child_name] = "Inconsolata - 14pt" #child
        end
      else
        raise "I don't know what #{name} is."
      end
    end
  end
  puts "Saving #{infile.gsub(/xccolortheme/,'dvtcolortheme')}"
  fp = File.open(infile.gsub(/xccolortheme/,'dvtcolortheme'),'w')
  fp.write out_hash.to_plist
  fp.close
end

convert ARGV[0]
#Dir['*.xccolortheme'].each do |file|
#  convert file
#end

2.安装"plist“ ruby gem: $sudo gem install plist

3.执行转化: $ruby dvtcolorconvert.rb ElfDart.xccolortheme  就在桌面生成ElfDart.xccolortheme了,放到~/Library/Developer/Xcode/UserData/FontAndColorThemes下重启Xcode4,在Preferences中的Fonts & Colors启用主题。

我转换后的主题文件:

 

如果你喜欢的话可以在这里下载到:http://code.google.com/p/elf-ios-resource/downloads/detail?name=ElfDark.dvtcolortheme

https://github.com/Sundae/Cocoa-Utilities

四、Preferences/Text Editing

五、快捷键

打开Key Bindings Preferences,复制Default并起名。

键盘对照:实体键盘左下角为Ctrl,从左到右依次为ctrl,option,cmd(command,苹果花键),从下到上依次为ctrl,shift,CapsLock,tab.

列表格式:功能名称 (快捷键,如为手动修改则标记“修改”,否则为Xcode4默认): 功能描述


Edit Menu:
Filter in Navigator (cmd+option+J):Xcode左下角的文件过滤(查找).
Filter in Library (cmd+option+L): 库过滤(查找),类似之前IB的Library(cmd+shift+L)
View Menu:
Project (cmd+1):切换到Xcode左边的导航区域(Navigator area)的项目组,类似与之前的Groups & Files.
Show Navigator (cmd+0):显示/隐藏导航区域

Standard (cmd+enter):如下图,切换到右上角的"Editor"里面的标准编辑器视图,右边的那两个依次为助手视图(用于分割编辑器)、版本视图(用于对照当前文件的版本变更)。

Show Debug Area (修改cmd+shift+R):显示/隐藏Xcode下面的Debug区域。Xcode4将之前的Debugger和Consoler合在了一起,默认快捷键是之前Debugger的快捷键(cmd+shift+Y),修改为之前比较常用的Consoled快捷键cmd+shift+R,方便呼出隐藏调试区域,R键也比Y键更容易按到。

Navigate Menu:

Reveal in Project Navigator (cmd+shift+J):在导航区域的项目组定位并选中当前正在编辑的文件。

Jump to Next Counterpart(ctrl+cmd+上箭头):跳到下一个相关文件,类似与之前的Switch To Header/Source File(cmd+option+上箭头),在头文件和实现文件之间切换。

Editor:

Show completions (Esc 或者 ctrl+space): 应该是最常用的一个功能,显示自动完成列表。

Re-Indent(修改cmd+F8):整理代码缩进(格式化代码风格),对于喜欢8位Tab和代码整洁的我个人来说,这个功能很常用,在VC下落下的毛病,很难更改alt+F8的习惯了。

Comment Selection(cmd+/):块注释

Fold(cmd+option+左箭头):折叠当前区块,适应与方法、函数等带花括号的,/*花注释*/,@xx @end等。

Unfold(cmd+option+右箭头):展开当前区块(如果已折叠)。

Product Menu:

Run (cmd+R):直接运行。

Run (cmd+option+R):选项运行。

Stop (修改cmd+shift+enter):停止运行,习惯自之前的Xcode。

Step Into (F7):单步跟进

Step Over (F6):单步跳过

Step Out (F8):单步跳出

Clear Console (cmd+K):清理控制台

Help Menu:

Quick Help for Selected Item(按住option键再左键单击,同xcode之前版本):快速帮助,在打开的窗口点右上角的文件夹图标可在帮助文档中查找,点.h图标可打开头文件。

Search Documentation for Selected Text(ctrl+option+cmd+/):在帮助文档中搜索,以前的option+双击,这么长的组合键不建议记忆和使用,建议option+单击后在快速帮助里点进文档窗口。

 

Selection:

Move to beginning of document (cmd+上箭头):将光标移到本文档开始

Move to End of document (cmd + 下箭头): 将光标移到本文档末尾。

Text Key Binding:

對文字的操作大多和Mac OS X的慣用操作雷同,對Mac OS X字符操作快捷鍵比較熟悉的同學可以嘗試在編輯代碼時使用,也可參考我之前寫的<<深入瞭解Xcode>>

KeyBindings文件保存在~/Library/Developer/Xcode/UserData/KeyBindings下,你可以直接下载使用上文提及的快捷键修改:

http://elf-ios-resource.googlecode.com/files/ElfKeyBinding.idekeybindings1.0.zip

https://github.com/Sundae/Cocoa-Utilities

六、离线文档

好像从Xcode3起就不提供离线文档了,apple在线文档慢的要死,让Xcode下载更要死...解决办法还是老样子:我再结合Xcode4说下:

1.打开Xcode4 Documentation Preferences,选择一个Library,点击下面的Info按钮查看信息,找到其中的Feed地址,如下图:

在浏览器中打开这个源,找最新版本的XAR下载(文件过大,如果Mac上没装下载工具建议到Windows下用迅雷下)。

下载到本地后用xar解压: sudo xar -xf 文档文件.xar

得到 “文档文件.docset"

然后将文件的所有者设为devdocs: sudo chown -R -P devdocs 文档文件.docset

确保XCODE4没有运行,把docset复制到/xcode4安装目录/Platforms/iPhoneOS.platform/Developer/Documentation/DocSets/ (可以从上图的Installed Location直接点进去)。

运行Xcode4,就可以离线浏览文档了。

七、Locations Preferences

 Xcode4默认将所有项目、workspace的build,index,snapshots,archives等都放在了一个特定的目录,默认为~/Library/Developer/Xcode/DerivedData/

如果想让build目录放到项目目录下面的话,就在这里设置”Build Location"为"Place build products in locations specified by tagets"即可。其他Locations建议不要动。

八、本文更新

1.更改Xcode自带模板中的公司名称。2011-05-10

以前的Xcode将此信息存储与com.Apple.xcode配置中,新的Xcode4会从Mac OS X的Adress Book中读取此信息,要更改注释中公司名称,只需要打开Adress Book.app,更改当前登陆用户名的CompanyName即可。

2.如何使用自动插入关闭花括号} 2011-05-10

在Xcode Preferences | Text Editing中勾选Automatically insert closing "}",在代码中输入{,并没有立即插入},这时只需敲一个回车就插入右花括号了。适用与方法、if-else、for等等。

3.代码功能注释。 2011-05-10

// MARK:  ***(标签,功能同#pragma mark ***),
// TODO: ***
// FIXME: ***
// !!!: ***
// ???: ***

4.由于google code在国内经常和谐,更改主题和键盘文件下载地址为github: 2011-07-06

https://github.com/Sundae/Cocoa-Utilities

posted @ 2011-05-10 04:18  Elf Sundae  阅读(22083)  评论(8编辑  收藏  举报