大家好!
一周前,我们发布了AppCode 2019.1-让我们谈谈其中的更改。 在削减下,一堆新的,有用的,更正的和补充的。

斯威夫特
迅捷5
Swift 5的所有新功能均可在AppCode 2019.1中正常运行:
重命名
重命名重载的方法和父类的方法存在问题-但现在不存在。
定义导航
看来过渡到方法或类的定义会更简单,更基础吗? 标准,熟悉的动作。
所有这一切在Objective-C中都是正确的:初始化对象时类型名称是单独的,初始化器方法本身是单独的。 因此,如果游标位于类型名称上,那么我们将继续进行类型的定义(如果位于初始值设定项上),则将到达初始值设定项的定义。 但是在Swift中,事情变得更加复杂。 初始化程序与类型名称合并在一起,如果我们重现Xcode的行为,我们将无法切换到初始化程序。 如果我们放弃AppCode 2018.3.x的行为,则会破坏用户的习惯(“就像在Xcode中一样”,即,过渡到初始值定义而不是类型定义)。 由于明显的原因,用户不喜欢它。
结果,我们开发了一个中间解决方案:毕竟,在Swift中初始化对象的表达式仍然由两部分组成。 括号之前的所有内容都是类型名称,而里面的所有内容都是初始化程序签名。 因此,如果光标位于类型名称上,那么我们将继续进行类型定义,如果位于括号内,则将其初始化为初始化器定义:

两种用例均已保存,每个人都很高兴。
移动表情
Xcode用户使用鼠标进行选择并复制粘贴时,AppCode用户将光标放在表达式上,然后⇧⌘↑
单击⇧⌘↑
/ ↓
将其完全移动:

通常,适用于循环,函数,方法,类,条件,几乎适用于所有内容。
多行文字
如何将单行文字转换为多行? 在AppCode中,只需单击⏎
:

背光,自动补全,代码分析和所有功能
我们构建符号树的方式越正确,该符号树用于突出显示,代码分析,导航和其他IDE功能(甚至用于在调试器中显示变量),AppCode就会越好,越正确。 在此版本中,我们解决了破坏用户生命的几个基本问题:
- 我们开始为模拟器和设备构建库符号。 以前,它们仅为模拟器构建。
- 完成此操作后,他们开始正确确定当前平台(模拟器/设备),并将其clang-annotator正确地传输到Objective-C,并将SourceKit正确地传输到Swift。 为什么这很重要? 例如,如果SourceKit传递带有装配产品的文件夹作为参数是不正确的,则SourceKit将不会显示错误和警告。 此问题应消失。
- 我们开始正确处理DerivedSources以及在此文件夹中生成的所有源(Core Data,Intents)。
目标-C / C / C ++
CLion的同事添加了C / C ++的代码构造命名样式,我们还为Objective-C( Preferences | Editor | Code Style | C/C++/Objective-C | Naming Convention)
:

启动和调试
AppCode现在能够加入不仅在模拟器上而且在设备上运行的进程( ⇧⌘A
→ Attach to process
):

添加了在启动配置设置中选择应用程序语言和区域的功能:

不仅可以通过⌥F9
调用Run to Cursor ,还可以通过单击编辑器中的行号来调用它:

现在可以使用上下文菜单中的“ 静音变量”操作来禁用调试期间变量的重新计算:

IDE的主题
细心的读者已经注意到,帖子中的所有屏幕截图都是使用新的深紫色主题制作的:

现在可以自行完成 IDE主题,因此,除了我们制定的几个主题外,您还可以在插件存储库中找到几个自定义设计选项。 直到5月3日,您不仅可以制作自己的主题,还可以参加我们最近宣布的竞赛 。
最近查看/修改的代码段列表
有几个有用的步骤可导航到代码中最近打开或更改的位置:
- 最近文件(
⌘E
) - 切换器(
⌃⇥
) - 跳至上一个编辑位置(
⇧⌘⌫
)
通常很难高估移至代码的最后编辑部分,尤其是在编辑大文件时。
现在,还有最近位置 ( ⇧⌘E
)最近查看/更改的位置的 ⇧⌘E
:

这是发行版。 在评论中将所有问题,愿望甚至错误报告写在这里-我们很乐意回答!
AppCode小组