利川骆驼户外 發表於 2022-8-23 23:48:00

[Android开发学iOS系列] 工具篇: Xcode使用和快捷键

<h1 id="android开发学ios系列-工具篇-xcode使用和快捷键"> 工具篇: Xcode使用和快捷键</h1>
<p>工欲善其事必先利其器.</p>
<h2 id="编辑">编辑</h2>
<ul>
<li>Cmd + N: 新建文件</li>
<li>Option + Cmd + N: 新建文件夹</li>
<li>Cmd + / : 注释</li>
<li>Ctrl + I: format indentation, (但是使用这个快捷键要小心, 可能会在你的空行里加入不必要的首行缩进, 所以没事不要全选再format.)</li>
<li>Ctrl + Cmd + Space → Emoji</li>
<li>Opt + Cmd + , : 分割当前编辑窗口</li>
<li>Cmd + Shift + J: 显示当前文件在navigator窗口中的位置</li>
<li>Cmd + Opt + 左/右: 折叠/展开</li>
</ul>
<h2 id="菜单窗口">菜单窗口</h2>
<ul>
<li>Ctrl + Click: 相当于右键, 或者mac trackpad上的两指点击. 会弹出菜单</li>
<li>Cmd + Click: 会弹出一个快捷action菜单</li>
<li>Cmd + ,: 打开preferences界面</li>
<li>Cmd + Shift + 0: 打开documentation</li>
<li>Cmd + 0: 隐藏/显示左边的navigator窗口</li>
<li>Ctrl + Cmd + Shift + A: 看git提交历史</li>
</ul>
<h2 id="文件导航">文件导航</h2>
<ul>
<li>Shift + Cmd + O: 按文件名查找</li>
<li>Ctrl + Cmd + J: 跳转到定义. 效果同: Ctrl + Cmd + Click</li>
<li>Ctrl + Cmd + 左右方向键: 在最近打开的几个文件间切换</li>
<li>Ctrl + 5: recent files</li>
</ul>
<h2 id="运行">运行</h2>
<ul>
<li>Cmd + B: Build</li>
<li>Cmd + R: Run</li>
<li>Cmd + U: Run Tests</li>
<li>Cmd + Shift + K: clean build folder</li>
</ul>
<h2 id="simulator">Simulator</h2>
<ul>
<li>Cmd + S: 截屏</li>
<li>Cmd + K: show/hide soft keyboard</li>
<li>Cmd + L: 锁屏</li>
</ul>
<h2 id="debug">Debug</h2>
<ul>
<li>在debug的时候看变量的值: <code>po xxx</code>, 其中xxx是你想看的变量名</li>
<li>在debug的时候可以看debug view hierarchy, 可以拖拽旋转显示层级, 左边会有树形结构</li>
<li>打开/关闭debug区域: Shift + Cmd + Y</li>
<li>把光标移到console: Shift + Cmd + C</li>
<li>clear console: Cmd + K</li>
<li>看device log: Window → Devices and Simulators</li>
</ul>
<h2 id="storyboard">Storyboard</h2>
<ul>
<li>Ctrl + Drag: 设置上下的constraint; 添加outlet/action</li>
<li>Cmd + Shift + L: 显示添加控件的object library</li>
<li>Cmd + Alt + Enter: Show Assistant Editor</li>
<li>加Navigation Controller: Editor → Embed in → Navigation Controller</li>
<li>让storyboard显示情况符合constrains: Editor → Resolve Auto Layout Issues → Update Frames</li>
</ul>
<h2 id="xcode不是很方便的几个地方">Xcode不是很方便的几个地方</h2>
<p>以下是几个觉得不是很方便的地方, 也不知道有没有更好的解决方案.</p>
<ul>
<li>没有一个很好的看提交历史和diff的功能. 解决办法: 在github上看, 或者利用其它软件.</li>
<li>全文搜索没有快捷键, 只能点左上角的放大镜按钮.</li>
<li>重命名没有快捷键. 右键(或者是Ctrl + Click) → Refactor → Rename. 如果是局部变量可以Cmd + Click, 弹出的菜单里有重命名.</li>
<li>提取方法没有快捷键. 右键(或者是Ctrl + Click) → Refactor → Extract Method.</li>
<li>看调用栈没有快捷键. 右键(或者是Ctrl + Click) → Find → Find Call Hierarchy.</li>
<li>自动加import: 对于找不到类的报错, 在Android中可以Alt + Enter, 自动添加import, iOS不行, 只能自己复制粘贴import语句.</li>
<li>如何复制一个文件?</li>
<li>如何移动某一行?</li>
<li>还有一个我最不理解Xcode的地方, 就是没有自动import的功能. (如果IDE报错一个类找不到, 在Android Studio中可以通过Alt+Enter来自动import, 有时候有多个, 那么可以选择一下.) 但是Xcode只报错找不到, 然后没有任何方法自动添加和提示, 似乎记住这些类来自那个包是开发者的责任, 然后你需要手动添加.</li>
</ul>
<h2 id="bonus-从命令行打开项目">Bonus: 从命令行打开项目</h2>
<p>其他ide都有用命令行打开项目的功能, cd到项目目录然后:</p>
<ul>
<li>Android Studio: <code>studio .</code> (需要Tools -&gt; Create Command-line Launcher..)</li>
<li>IntelliJ: <code>idea .</code></li>
<li>Visual Studio Code: <code>code .</code> (首先cmd + shift + p -&gt; install <code>code</code> command in PATH).</li>
</ul>
<p>为了可以用同样的形式<code>xcode .</code>打开项目文件, 我们可以在<code>.zshrc</code>文件中添加一个alias:</p>
<pre><code class="language-bash">alias xcode='open -a Xcode'
</code></pre>
<p>具体取决于你的Xcode在applications中叫什么名字, 比如我的:</p>
<pre><code class="language-bash">alias xcode='open -a "Xcode 13.2.1.app"'
</code></pre>
<h2 id="references">References</h2>
<ul>
<li>https://medium.com/mobile-app-development-publication/xcode-android-studio-shortcut-cheatsheet-609d16ec4ba1</li>
<li>Shortcuts: https://swifteducation.github.io/assets/pdfs/XcodeKeyboardShortcuts.pdf</li>
</ul>


</div>
<div id="MySignature" role="contentinfo">
    作者: 圣骑士Wind<br>
出处: 博客园: 圣骑士Wind<br>
Github: https://github.com/mengdd<br>

微信公众号: 圣骑士Wind<br>
<img src="https://images.cnblogs.com/cnblogs_com/mengdd/869539/o_200422055937qrcode_for_gh_0e2ed690dcda_258.jpg" alt="微信公众号: 圣骑士Wind"><br><br>
来源:https://www.cnblogs.com/mengdd/p/xcode-usage-and-shortcuts.html
頁: [1]
查看完整版本: [Android开发学iOS系列] 工具篇: Xcode使用和快捷键