2016-05-29 2915 views
9

當我保存時,PyCharm正在拋出此異常。PyCharm - 無法保存設置 - 保存設置失敗。請重新啓動PyCharm社區版

WARN - mponents.impl.stores.StoreUtil - Save settings failed 
java.lang.StringIndexOutOfBoundsException: String index out of range: 0 
    at java.lang.String.charAt(String.java:658) 
    at com.intellij.configurationStore.ApplicationStorageManager.expandMacros(ApplicationStoreImpl.kt:108) 
    at com.intellij.configurationStore.StateStorageManagerImpl.createStateStorage(StateStorageManagerImpl.kt:194) 
    at com.intellij.configurationStore.StateStorageManagerImpl.getOrCreateStorage(StateStorageManagerImpl.kt:150) 
    at com.intellij.configurationStore.StateStorageManagerImpl.getStateStorage(StateStorageManagerImpl.kt:133) 
    at com.intellij.configurationStore.StateStorageManagerImpl$startExternalization$1.setState(StateStorageManagerImpl.kt:342) 
    at com.intellij.configurationStore.ComponentStoreImpl.commitComponent(ComponentStoreImpl.kt:199) 
    at com.intellij.configurationStore.ComponentStoreImpl.save(ComponentStoreImpl.kt:124) 
    at com.intellij.openapi.components.impl.stores.StoreUtil.save(StoreUtil.java:49) 
    at com.intellij.openapi.application.impl.ApplicationImpl.saveSettings(ApplicationImpl.java:1433) 
    at com.intellij.ide.SaveAndSyncHandlerImpl.doSaveDocumentsAndProjectsAndApp(SaveAndSyncHandlerImpl.java:150) 
    at com.intellij.ide.SaveAndSyncHandlerImpl.saveProjectsAndDocuments(SaveAndSyncHandlerImpl.java:134) 
    at com.intellij.ide.SaveAndSyncHandlerImpl$4.onFrameDeactivated(SaveAndSyncHandlerImpl.java:104) 
    at com.intellij.ide.FrameStateManagerImpl.fireDeactivationEvent(FrameStateManagerImpl.java:87) 
    at com.intellij.ide.FrameStateManagerImpl.access$500(FrameStateManagerImpl.java:32) 
    at com.intellij.ide.FrameStateManagerImpl$2$1.run(FrameStateManagerImpl.java:72) 
    at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238) 
    at com.intellij.util.Alarm$Request$1.run(Alarm.java:352) 
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:337) 
    at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:321) 
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) 
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) 
    at java.awt.EventQueue.access$500(EventQueue.java:97) 
    at java.awt.EventQueue$3.run(EventQueue.java:709) 
    at java.awt.EventQueue$3.run(EventQueue.java:703) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) 
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) 
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:866) 
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:654) 
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:381) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) 
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) 

並給我這個錯誤信息。

enter image description here

我不認爲它是在.idea文件或類似的東西權限的問題,但我真的不知道。

我在堆棧跟蹤中發現了一些其他的錯誤和警告,但這是我在嘗試保存項目時重複出現的錯誤和警告。

此問題仍然存在,當我運行PyCharm CE像這樣 sudo -u [username] /Applications/PyCharm\ CE.app/Contents/MacOS/pycharm

任何人有任何想法須藤?

OS:MacOS的埃爾卡皮坦 Pycharm:PyCharm社區版5.0.5 JRE:1.8.0_76釋放-B162 x86_64的 JVM:OpenJDK的64位服務器VM通過JetBrains的s.r.o.

+0

我有同樣的問題。不知何故,當我刪除'.idea'目錄時,我發現錯誤消失了。但經過一段時間再次使用它,錯誤又回來了。 – dashmug

+0

它可能是'.idea'目錄的權限問題嗎? – ramsey0

+0

我與WebStorm有同樣的錯誤。 (堆棧跟蹤具有'java.lang.StringIndexOutOfBoundsException:String索引超出範圍:0' - 更改.idea目錄上的權限不會幫助我。 – knowuh

回答

0

由於您使用的是社區版,我的回答幾乎肯定不適用於您,但它可能會幫助其他人抵達此處併發生同樣的錯誤。

在我的情況下,我用來在遠程服務器和本地安裝程序之間進行同步的nfs共享存在一些問題。遠程服務器上的文件和目錄權限都很好。在umount <my_nfs_dir>重新安裝後,PyCharm能夠保存設置並停止抱怨。

2

我收到我放置在Google雲端硬盤同步文件夾中的項目的錯誤。我關掉Google Drive,問題就消失了。問題出在.ideas文件夾中。

+0

您是否發現了任何解決方法而無需關閉Google Drive?@Troy ·雷 – retodaredevil

0

確保您以管理員身份運行'Pycharm.exe'。

'以所有用戶身份運行管理員'用戶可以在Windows操作系統中解決此問題。

0

在我的情況下,這確實是.idea目錄的權限;它由管理員擁有,並且我沒有以管理員身份運行。我通過Windows資源管理器更改了.idea的所有者,事情又恢復了。

那麼,究竟發生了什麼事情呢?我通常以非管理員身份運行,因爲IT將管理員半鎖定在我們的PC上。如果您以管理員身份運行PyCharm(或任何JetBrains的東西),它將以管理員身份創建文件,然後無法訪問其他工具中的文件(例如命令行Subversion客戶端)。

但是,我最近開始使用JetBrains工具箱升級JetBrains應用程序。如果從Toolbox啓動該應用程序,它將以管理員身份運行,從而在Workspace中留下一堆無法以非管理員身份訪問的文件。

0

我在Windows上有這個問題。它自2016年切換至2017年 開始的時候我有固定它:

start -> pycharm -> right click -> run as admin

它做什麼它需要做的。然後我關閉並重新啓動(不是管理員),錯誤消失了。