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.
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.
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.
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.
Open the console and see if there are any errors. It logs when there are changes to the filesystem.
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.
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.
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):
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);
Rename SideBarEnhancements to something else and then back to its original name;
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.
Open %HOMEDRIVE%%HOMEPATH%\.bashrc, or in other words: User\.bashrc (create the file if you don't have it);
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"&
}
Change the path to your sublime_text.exe (last line of the function);
If Git Bash is opened, execute source ~/.bashrc and go to 6;
If Git Bash is not opened, open it and go to 6;
Execute touchme without any brackets;
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.
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.
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.
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:
Create a blank file and observe if Finder refreshed.
echo "" > test.txt
If Finder didn't refresh, navigate to the parent folder in both Finder and terminal. Repeat step 1.
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
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.
I removed .DS_Store files from the folders with this issue.
Remove the Finder preferences file and restart Finder. As described here.
rm ~/Library/Preferences/com.apple.finder.plist ; killall Finder
Exit Dropbox
Thanks to #peresleguine for the suggestion of renaming the folder.
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
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
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.
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.
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.
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.
Where should I put my own code when developing a plugin while at the same time using Vundle? I tried to use a local repo but I have to commit in order for vim to see the changes I am making… What is the right way of doing this?
Once Vundle has retrieved the plugin's source, you can just remove the directory of your bundle in the vim plugins directory and make a symbolic link to your git workspace.
rm -rf ~/.vim/bundle/yourplugin/
ln -s /path/to/the/plugin/youre/developing/plugin ~/.vim/bundle/yourplugin
It's more hackish than #demure's answer, but it works.
According to this ticket, use the following:
Bundle '~/path/your-plugin/.git'
Where ~/path/your-plugin is the working copy.
Is there a simple command to add a directory and all files underneath it to svn?
I have tried svn add directory which makes sense to me but this doesn’t work as expected. I have googled it and there are solutions which all appear a bit long-winded for something so simple.
What would be the standard way of doing this?
svn add directory only works if the directory hasn't been added already. Adding all new files is not standard operation in svn world. Git does this but that's sidetracking.
You can often get by with svn add directory/* but it misses new files in existing subdirectory. So:
directory/newDirectory/file -> is added
directory/oldDirectory/file -> is NOT added
If you really need to add any file anywhere in the directory hierarchy this one liner will set-up an alias for you to do this:
alias svn_addall="svn st|grep ^?|sed 's/./svn add/'|sh"
Put it into your .profile and you'll have easy access to it any time. :-)
Funny. Which version of svn are you using. I`m on a mac and use svn 1.6. And it works for me.
When i look at my man pages for svn then it looks like the command is recursive by default. You can permit the behaviour with:
--depth ARG : limit operation by depth ARG ('empty', 'files',
'immediates', or 'infinity')
svn add folder will add the folder and its contents. How doesn't it work as you expect?
I need to apply a patch to the vim source code, but I am having trouble finding the source code for version 7.3.285. The source code from the main vim site builds version 7.3.154. When I do a google search for "vim 7.3.285 source" I get mostly .rpm files and always something about Mandriva. I managed to find a .scr.rpm file and unpacked it, but then the main vim folder it had was exactly the same as the one on the vim site. My guess is that I have use the patch folder to apply the patch to version 285. So I tried the following:
Download .src.rpm file here
unpack .src.rpm file like so rpm2cpio vim-7.3.285-1.src.rpm | cpio -idmv --no-absolute-filenames
apply the patches to the vim73 folder somewhat like so for i in 'seq 0 285'; do patch -p0 < ../vim-7.3-patches/7.3.$i; done
then I also applied the aforementioned patch in a similar way patch -p1 -i ../vim-7.3.285-breakindent.patch
finally I compiled vim: configure, make and sudo make install
However, and this is where it gets weird, if I issue the command vim, it claims to be running version 7.3.285. If however, I issue the command gvim it claims to be running version 7.3.154. It was my understanding that you compile vim and gvim gets compiled too. Does anyone have any idea what is going wrong? Is there a 7.3.285 source file I can download instead to test out?
to get the 7.3.285 source clone the mercurial repo and then do hg up v7-3-285
full instructions here
I just installed VCSCommand and I'm getting an error of "No suitable plugin" whenever I try to run a command. I have a filed loaded in Vim that is in a directory with a mercurial repository.
I found some explanations that the "No suitable plugin" error may be displayed if you're not in a "working directory", which I took to mean that the file you're editing should be in a "working directory" of files checked out from the repository. The problem may that (as a new user to Hg) I don't grok Mercurial properly. The file I'm editing is in a directory where I created an Hg repository just to track my local changes. Commands I issued were 'hg init', then 'hg add' and I've been using 'hg commit', 'hg log', and 'hg diff' happily since. Is this directory not a "working directory" of the repo? Assuming this is the problem, how do I "checkout' the files from the hg repo into a working directory?
Or maybe the above isn't the problem with the "No suitable plugin" error at all. I do have the vcshg.vim file in the correct plugin directory, so the plugin is there.
Thanks, any help appreciated.
UPDATE: Just in case my use of mercurial was the problem I tried creating a 'clone' of my main mercurial repo and editing files in the clone. Still get same 'No suitable plugin.' message.
ALSO: I left out of original message that I'm running on Windows, and I think I've tracked things down to improper quoting of escape codes in strings. Will provide further update once I get full resolution.
I did get VCSCommand going fine. I think the issue had nothing to do with Mercurial, rather it had to do with problems in VCSCommand with quoting of system commands on Windows. At least that was the major problem.
To get VCSCommand working I first made sure that the variable b:VCSCommandVCSType was set to 'HG'. It was not getting set for some reason and that was why I was getting the 'No suitable plugin" error.
Second, I had to modify a line in vcshg.vim. The s:Executable() function consists of a one line 'return . . . ' function. The shellescape() wrapper around the system call was quoting improperly; after I removed that it works just fine. (Same problem may exist in the vcsXX.vim files for systems other than Mercurial, I haven't checked that.)
I think this quoting problem exists only on Windows, and may have cropped up because the main developer doesn't have a Windows machine to test on. . . .
First to answer the "working directory" question: your repository is your working directory. Unlike cvs/svn, you do not need to checkout files to edit. You just edit.
(FYI hg aliases its update command to checkout and co to help svn users, but hg update is a very different animal.)
Without knowing your complete environment (platform, vim installation, etc.), I can only guess that the "No suitable plugin" error is due to your VCSCommand files not in the right place. I tried its latest version 1.99.42 with my ancient vim 7.2 on cygwin by cp VCSCommand/plugin/* ~/.vim/plugin/, vim a file in an hg repo, then :VCSStatus shows me the correct result.
If you have other VCSs that VCSCommand supports (cvs, svn, svk, git, bzr), try it in one of their repositories and see if you get the same error. If you do, then it's definitely a VCSCommand installation problem.