Generally speaking, the days of suggesting “file dropping in the ‘Plugins’ folder” ended with the release of SketchUp 8 Maintenance Release 2 (on 2011-01-12.)
SketchUp Application Release Notes said:
-
This version of SketchUp has a simple UI to install and upgrade Ruby extensions.
-
.rbz file format: Ruby extensions typically consist of several files, so Ruby developers had to zip up those files into a standard .zip file and then give their users instructions on how to unzip them and where to place them. Now developers can zip up the files into the .rbz format and users can easily load an .rbz by going to Preferences > Extensions and clicking the “Install Extension” button.
A RBZ archive is simply a renamed ZIP file.
That said if you are a programmer, and understand how SketchUp iterates certain folders at startup, and how ruby loads code files, then yes you can copy edited files (and folders) into the “plugins” folder.
And sometimes “in a pinch” when just testing something quickly, coders will actually do this.
But this is usually NOT what programmers do for an extension project. They usually create a little Ruby script that points to their code repo folder, and they do their editing there outside the %AppData% path, usually somewhere in their “Documents” path. They do this because often they use GitHub or BitBucket to manage their code projects, and these require a local project repository that is synchronized with the repository online.
Another reason is, that each version of SketchUp has it’s own “Plugins” folder, and having multiple versions of your code (in each “Plugins” folder whilst under development) can cause mistakes. (Extension developers usually have 3 or more SketchUp versions installed for testing and support. [I currently have 4 versions installed on my coding notebook.])
So, in this “little” coder’s project awareness script, saved into each SketchUp version’s “Plugin” folder …
… You can push a path for where your various “repo” sub-folders reside, into the SketchUp Ruby environment’s global load path array:
$LOAD_PATH << File.join( ENV["HOME"], "Documents", "Ruby", "Projects")
Then you can load the extension loader script via a simple require statement:
require "sirtet_someplugin.rb"
And Ruby will search each path in it’s $LOAD_PATH
array, for the file named “sirtet_someplugin.rb
” and if it’s in the project path that you pushed into the array, Ruby will find it, and load it. (And it in turn should load the rest of the extension’s files, of whatever kind.)
Or you can treat the entire “Projects” folder as an alternate “Plugins” folder, by using the global require_all()
method defined in “Tools/sketchup.rb
” (the “Tools
” folder is a sub-folder of the SketchUp program folder.)
projects = File.join( ENV["HOME"], "Documents", "Ruby", "Projects")
$LOAD_PATH << projects
require_all( projects )