sublime text 3 sidebar autoupdating not working

2020-02-26 03:00发布

问题:

I was wondering if anyone could tell me how to make it so that sublime text 3 automatically updates the sidebar when i add a new folder/file to the current project in finder (osx).

Right now, I have to manually go to Project -> Refresh Folders

My user preferences are probably not the issue as they are very basic:

{
    "color_scheme": "Packages/Color Scheme - Default/Solarized (Light).tmTheme",
    "font_size": 18,
    "tab_size": 2,
    "translate_tabs_to_spaces": true
}

If anyone could help that would be great as I have tried googling, searching for an answer to this but havent found anything that works.

Thanks in advance.

回答1:

I recently began experiencing this issue and it turned out to be DropBox related. Once I removed DropBox and restarted my machine the folder refreshing began working as before. Also, DropBox was affecting several other apps, specifically SourceTree and Transmit as well as Sublime Text 3.



回答2:

I had this same issue. You could always bind the folder refresh to a hotkey. While this is not a complete fix for auto-updating, it still saves you from a more lengthy manual refresh. I believe this is how Dreamweaver works as well.



回答3:

I had the same issue with ST3 (OSX 10.9.2). It was something wrong with the root folder of my projects. I created new folder Code1, moved all of my projects there, removed old Code folder and renamed new Code1 to Code. This bit of magic returned things back to normal.



回答4:

Open the console and see if there are any errors. It logs when there are changes to the filesystem.



回答5:

I've had this problem when I used disks that where mounted with samba. My best guess is that this has something to do with the OS or filesystem not triggering the correct events for sublime to realize that there's new stuff in the folders.

I'm guessing that the disk on which the project you're working on belongs to a mounted disk, that might have a different filesystem. Try moving the project and see if that helps. If that is the case maybe you ought to see over which flags and stuff you're using when mounting the disk on which the project was originally stored.

How you would go about fixing that however I have no clue about since I don't have any experience with OSX.



回答6:

This could be the result of an error with the plugin SidebarEnhancements, as was the case for me. Using package control I removed the plugin. I couldn't package install the plugin back as it would not show up on the list of available plugins. So instead I followed this github issue in the repo and got it cloned into the correct directory.

Another side note, in sublime I clicked "Sublime Text" -> "Preferences" -> "Browse Packages". to open up the correct location to clone the repo in finder. If you click on the folder icon in the top bar of the resulting finder window you can actually drag this into iTerm2 so that you are in the proper location before running the git clone command included below.

git clone https://github.com/titoBouzout/SideBarEnhancements.git "SideBarEnhancements" cd "SideBarEnhancements"

Finally, quit ST3 and reopen worked for me. Hope this helps.



回答7:

I'm using Windows, so not sure if my solution is relevant to the exact question, but since I found this on Google, I figured it might just help somebody. My problem was specifically with the SideBarEnhancements plugin.

The dumb solution (try this first):

  1. Close Sublime Text, go to the Packages directory (in Windows that's in %HOMEDRIVE%%HOMEPATH%\AppData\Roaming\Sublime Text 3 (Win+R, paste that path, enter);
  2. Rename SideBarEnhancements to something else and then back to its original name;
  3. Reopen Sublime Text.

The nice solution (for Git Bash on Windows):

IF the dumb solution has not worked, there is no point in following on.

However, if it worked, you can automate the process.

  1. Open %HOMEDRIVE%%HOMEPATH%\.bashrc, or in other words: User\.bashrc (create the file if you don't have it);
  2. Paste the following at the end of the file (preferably on a new line):

    touchme() {
        echo 'Killing Sublime Text process..';
        taskkill -IM "sublime_text.exe";
        cd ~/AppData/Roaming/Sublime\ Text\ 3/Packages;
        touch SideBarEnhancements;
        echo 'SideBarEnhancements folder touched;';
        echo 'Returning to original directory..';
        cd -;
        echo 'Reopening Sublime Text..';
        "/L/Program Files/Sublime Text 3/sublime_text.exe"&
    }
    

  1. Change the path to your sublime_text.exe (last line of the function);
  2. If Git Bash is opened, execute source ~/.bashrc and go to 6;
  3. If Git Bash is not opened, open it and go to 6;
  4. Execute touchme without any brackets;
  5. In case you use the touchme command for something else, or simply don't like it, feel completely free to rename the function (I just found it the easiest to write and remember :P).

I guess the code above can be adapted for Unix systems, too, with some small tweaks.



回答8:

I had this problem after reinstalling Sublime Text 2 and symlinking.

A workaround I found was binding the refresh_folder_list command with cmd+s, since that's usually when we see the sidebar updating.

For this to work you'll need to install run_multiple_commands plugin.

Then you'll have to update your User Keymap telling it to refresh folder list every time you save. The syntax is fairly simple.

I also ran across Synced Side Bar after fixing the issue. I am not sure if this is a solution but sounds promising.

Hope this helps.



回答9:

I don't have a solution but a theory on why this is happening. I noticed as well recently that it stopped refreshing. I've also noticed that when I use the finder to open folders or use the 'open' within any program, the OS would just show an empty directory when I know there are files in it. I would then have to select a few different folders to get it to recognize that I'm asking it to show me the contents in the folder. It's almost like that function is asleep and I have to nudge it awake.

It seems Mavericks is using some strong sleep agent and turning off any functions behind the scene that's not needed and perhaps it's also affecting the sidebar refresh.



回答10:

Same issue for me with ST2 on OSX 10.7.5. I started by opening Finder to the folder where I had the issue and navigated to that folder in terminal as well. Then:

  1. Create a blank file and observe if Finder refreshed.

    echo "" > test.txt

  2. If Finder didn't refresh, navigate to the parent folder in both Finder and terminal. Repeat step 1.

  3. If Finder did refresh, rename the child folder you came from to anything and then back to the original name.

    mv folder_name new_folder_name

    mv new_folder_name folder_name

  4. Auto refresh in Finder started working again as well as the Sublime sidebar for that folder and all child folders.

I don't have an explanation as to why this issue started. Prior to this solution, I attempted the following trying to figure it out. I don't know if these steps were necessary in resolving this issue.

  1. I removed .DS_Store files from the folders with this issue.

  2. Remove the Finder preferences file and restart Finder. As described here.

    rm ~/Library/Preferences/com.apple.finder.plist ; killall Finder

  3. Exit Dropbox

Thanks to @peresleguine for the suggestion of renaming the folder.



回答11:

I had the same issue with folders and files not showing up. No matter what folders I added it wouldn't work, refreshing folders didn't work, if I restarted Sublime, I would then see the folders I added but none of it's contents. I ended up going to File -> Close Window and then File -> New Window, after that when I added folders to the new window, it started working again. Seems like it's a corruption in the project file somehow. Anyways hope this helps someone.

Mac OSX Mavericks
Sublime 3 Build 3059



回答12:

If you're using OS X with python version higher than 2.7.1, try downgrading python to 2.7. This fixed multiple issues for me:

brew update
brew install pyenv
echo 'if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi' >> ~/.bashrc
source ~/.bashrc
pyenv install 2.7
pyenv global 2.7
# now restart ST3


回答13:

One of the sub-folders of my project contained a symlink to the project itself, making a loop. As soon as I've removed it and re-opened the project, the problem went away. However, that symlink was necessary for my project to function, so I created a simple .sublime-project file:

{
  "folders": [{
    "path": "/",
    "folder_exclude_patterns": ["symlink-or-one-of-its-parents"]
  }]
}

The exclusion pattern made Sublime ignore the loop, and the sidebar went back to normal right away. Just note that folder_exclude_patterns accepts folder names, not paths. That means that it might exclude something you didn't want to exclude (i.e. if you write lib it'll exclude all lib folders in your project, regardless of where they are). Hope this helps somebody.



回答14:

I had this issue after symlinking my project files to another partition on the hard disk. I fixed it by editing the path for each project from Project > Edit Project to the new location.



回答15:

A bit late to the conversation, but I resolved this by turning off DropBox's Finder integration. There is a known issue with Yosemite 10.10.x https://www.dropbox.com/help/7144

Click on the dropbox icon in your tool bar, click the gear and then open preferences. Un-check Enable Finder integration. Then restart your computer.

Hope that helps.



回答16:

I just fixed this issue and I think the reason is because I use dropbox to sync my ST3 settings.

Somedays before I restarted with 'reopen windows when logging back in', and found sublime opened earlier than dropbox finished its initialisation, which caused some settings couldn't load properly.

The result was when I used subl . to open project, I found the side bar not working properly. At the first beginning, I just closed ST3 windows and re-run subl, but it didn't work.

Finally I quitted ST3 (cmd+q), and made sure dropbox was properly loaded, then subl again. This time it worked.

Hope it helps.