簡體   English   中英

Xcode 8 語法高亮不起作用

[英]Xcode 8 syntax highlighting doesn't work

上面的代碼在Xcode 7 中正確的語法高亮顯示 它是 Obj-C + Swift 的混合體:

在此處輸入圖片說明

我已經更新了項目以支持Xcode 8,並且只更改了幾件事:

  • 在構建設置中 Swift 2.3 支持在此處輸入圖片說明

  • 並修復了一些與 UIKit 中隱式解包屬性相關的錯誤在此處輸入圖片說明

畢竟項目為Xcode 8編譯得很好

但是集成在 Swift 中的 Obj-C 代碼沒有任何語法高亮,反之亦然:

在此處輸入圖片說明

並且自動完成存在<<錯誤類型>>問題: 在此處輸入圖片說明

刪除派生數據無濟於事,Xcode 重新啟動 :) CocoaPods 0.38.2 版,iOS 7

這個答案在我的一個項目中幫助了我https://forums.developer.apple.com/thread/46223

我從 WWDC 的一位蘋果工程師那里得到了這個問題的幫助並解決了它。 問題源於 cocoapods...顯然 cocoapods 正在將 .h 文件復制到構建目錄中,而 SourceKit 感到困惑。 我不完全確定為什么要復制 .h 文件-那里不需要它們。 所以修復是在你的構建階段部分添加一個構建后腳本,在構建后刪除標題。
它看起來像這樣:

function removeHeaders() {  
    find $BUILD_ROOT/Debug-iphonesimulator/  -name '*.h' -exec rm -f {} \;  
}  
removeHeaders  

固定的 問題與未編譯的項目中存在目標有關。 因此,如果您有目標,例如 A、B、C 和 C,則未編譯這會導致語法突出顯示問題。

我發現當語法突出顯示失敗時,在 Xcode 中切換標簽可以解決問題¯_(ツ)_/¯ 有時我發現我需要切換到至少 4 個不同的標簽才能再次出現。

否則退出並重新打開

我在使用 Xcode 8 GM 時也發生過這種情況,但在我使用 Xcode 7 時也發生過很多次:有時自動完成功能和語法突出顯示會在沒有通知的情況下消失。

它對我有用的唯一解決方案是重新啟動 Xcode,但有幾次我需要完成重新啟動我的 Mac 我仍然不知道究竟是什么導致了這個煩人的問題。

Build Settings中將Use Legacy Swift Language Version設置YES幫助我解決了類似的問題

評論然后取消評論受影響的行對我有用。

就我而言:

在 Finder 中,我導航到user->Library->Developer->Xcode->DerivedData 關閉您的 Xcode 項目,然后清除 DerivedData。 這對我有用。

快樂編碼...:)

對我來說,由於 Build Phases 下的 Compile Sources 中缺少文件,代碼完成/突出顯示不起作用。 我添加了該文件並且它有效。

希望這可以幫助任何人。

正如上面其他人所說 - 如果我創建一個新選項卡 .. 或 4 然后關閉通常執行的選項卡。 有時注釋掉一行然后立即取消注釋也能解決問題。 我厭倦了使用幾個鍵來完成此操作,並制作了一個簡單的 AppleScript 來為我完成此操作。

創建一個 Automator“服務”並將此腳本添加到其中。 在“鍵盤”->“快捷方式”->“服務”下的“系統偏好設置”中,找到您的新服務並將其分配給一個空的功能鍵(我使用 F1),現在您有了 1 鍵修復!

on run {input, parameters}

tell application "Xcode"
    activate
    tell application "System Events" to keystroke "t" using command down
    delay (0.5)
    tell application "System Events" to keystroke "w" using command down
    delay (0.5)
    tell application "System Events" to keystroke "/" using command down
    delay (0.5)
    tell application "System Events" to keystroke "/" using command down
    delay (0.5)
end tell


return input
end run

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM