I'm looking to copy my SQL Developer preferences across to multiple devices and I'm wondering where I'd find the file/files to copy across.
When referring to preferences in particular, I'm talking about the preferences accessed through Tools -> Preferences. I would like an exact copy of all preferences saved here (down the table filters and startup script location) with the intention of applying them to other PC's.
Another preference that I would like to transfer is the filter i've applied to 'Other Users' to filter out certain Schemas. I hope this is possible.
Thanks
The default locations are :
Windows.... AppData\Roaming\SQL Developer
Linux/Mac.. ~/.sqldeveloper
Note 1: the AppData folder is frequently 'hidden' in Windows by default.
Note 2: each version of SQL Developer gets its own directory, although certain things are shared such as reports, connections, sqlhistory
The easiest way to 'copy' across machines is to use a dropbox/GDrive/.. type thing that will sync.
Regardless of that you can tell sqldev where to store preferences with the following setting.
edit sqldeveloper/bin/sqldeveloper.conf
- add the path to the Dropbox or where ever location
AddVMOption -Duser.home=/Users/klrice/Dropbox/sqldev
If you do this on N devices, it should all just sync and work seamless.
Ref: my blog on this from '12
http://krisrice.io/2012-05-12-sql-developer-shared-setup-from-any/
For Sql developer 18.2.0, product-preferences.xml is in C:\Documents and Settings\userid\AppData\Roaming\SQL Developer\system18.2.0.183.1748\o.sqldeveloper
Related
Whenever I open a folder that I've already worked in, VSCode is clever and reopens it in the exact same layout I already had it. However, I have absolutely no clue how it does that - I can't find a config file or anything anywhere, which is something I'd love to have; in my specific usecase I create a lot of workspaces and they all have the same sort of structure, so if I could save that layout so I didn't have to recreate it every time it'd be great.
The answer ends up being super annoying... they're stored in %APPDATA%\Code\User\workspaceStorage in some hashed looking folder names, which contain a pretty useless workspace.json file (all workspaces) and all other info stored in a *.vscdb (and its associated *.backup file), which is a SQLite Format 3 file storing all that information. It's barely used as a database from what I can see, a json file could do just as well, but I digress...
tl;dr they're a pain to get out.
VSCode mainly saves all of the preferences and user choices in the settings.json file. Moreover, you can actually set your preferences in VSCode Settings. But if you want to copy/paste your workspace settings to different workspaces, I guess the best choice would be to look at your settings.json layout settings.
Go to File > Preferences and adding them in the right pane, in "User Settings" if you want to keep them for all workspaces or in "Workspace Settings" for this workspace only.
To see settings for layouts and explorer, search for explorer.
You can read more about settings.json defaults and attributes exposed here
I am using IBM Rational Clear Case. Due the current world wide health situation, I am forced to work from home.
The best way and may be the only one, when using Visual Studio, is working with a Web View (Please correct me if there is a better way) - I assume this is called CCRC (Clear Case Remote Client). It is similar to a Snapshot View but without constant connection to the Clear Case server at work (This statement is not entirely correct).
When working with a snapshot view or for that matter with a dynamic view, I can change the setting to use Beyond Compare as the tool used for merge and compare in Clear Case.
Now for my questions:
1) Is there a way to do this also for ClearTeam Expolrer, which is where I control and manage my web view?
2) Any other workaround to use Beyond Compare with a web view?
I found the answer on IBM support page: Changing the Diff/merge Type Manager in CCRC 7.1.1 and later. Where it is explained how to change this setting in the ClearTeam Explorer.
The description do not exactly match my version of Clear Case (9.0.1.07) :
In CCRC 7.1, go to the menu
Window > Preferences > ClearCase Remote Client > Integration > Compare Merge > Manage Providers
Should probably be:
In ClearTeam Explorer, go to the menu
Window > Preferences > IBM Rational ClearTeam Explorer > Integration > Compare Merge > Manage
In addition the following is probably valid for kdiff3.exe:
Choose 'Supports Compare Operations'
Fill in the arguments for compare:
%contribs% -fname "%filename1%" -fname "%filename2%"
Choose 'Supports Merge Operations'
Fill in the arguments for merge: %contribs% -o %merge_out%
On Scooter Software site I actually found the correct arguments.
These are the modification for Beyond Compare:
Choose 'Supports Compare Operations'
Fill in the arguments for compare:
%contribs% /vcs1="%filename1%" /vcs2="%filename2%"
Choose 'Supports Merge Operations'
Fill in the arguments for merge:
%contrib1% %contrib2% %base% /mergeoutput="%merge_out%"
My Settings example:
Make sure to write BComp.exe and not BCompare.exe. Because of that, I had a problem opening the compare more than once.
And:
Doing the instruction recommended by IBM and Scooter Software did the trick and I could compare my code:
Using a web view is a good option, unless you can use directly snapshot views, as I explained here (CC8+)
In both cases (web view or snapshot view), the goal is to have the files copied on your local disk, to avoid network latency.
The problem is: ClearTeam Explorer does not come with a mgrs/map file to modify for you to declare your own diff tool (be it Beyond Compare or WinMerge)
So I used to get two web views:
one set to a fixed label
one for working
That way, I could diff between the two separate view folders.
I can get#recommended:workspace extensions to work correctly but I am unsure as to why I cannot get the general #recommended to show anything. Where am I supposed to put the extensions.json file?
My goal here is to have PowerShell install VSCode, copy over some JSON files for specific settings and then have the user shown the companies recommended extensions to install once they open up VSCode.
I know I can force them installed with code --install-extensions but I want the user to be able to pick and choose from the companies recommended list based on what kind of files they'll be working on. What I can't seem to figure out is how to get that list to show except within a workspace.
For example, we have a Chef team, an Azure team, Linux team, etc. each needing different extensions.
The #recommended option has no config. VS Code decides which extension to recommend based on the file types that exists in the folder/workspace that you opened (official release info).
So, in your scenario, I guess the best option is to use Workspace Recommendations (#recommended:workspace), using a different recommendation for each team/project.
I like to use several different workspaces, so as to keep everything organized. However, its annoying to have to copy the .settings folder to all my workspaces just because I added a keyboard shortcut. I'm looking for a way to update the preferences of all my workspaces whenever I change the preferences in one workspace. The settings I care about are keyboard shortcuts, code style, fonts, etc.
I have found this plugin which might be useful, but doesn't seem to be exactly what I'm looking for.
Ideally, I could have my settings saved in the cloud somewhere. On startup, Eclipse will check if workspace settings and the settings in the cloud differ, and if so, import them from the cloud. If I change any settings, then these preferences should be exported to the cloud. This way I also have my preferences on my school's lab machines.
Does anybody know a way to make this work? I'm all ears.
Thanks
Short answer: no. The easiest thing is probably just manually configure your preferences on those two or three PCs where you use Eclipse, and move on.
Longer answer: yes, you can copy (and standardize) Eclipse settings (e.g. for a standard configuration across your development shop). Here's a good article explaining how:
http://www.javalobby.org/java/forums/t18678.html
Finally, there's still no easy way (AFAIK) to safely and reliably UNINSTALL plug-ins as of the latest/greatest version (Indigo, Eclipse 3.7). So if you find yourself experimenting with a lot of plug-ins .. some of which you might ultimately wish to get rid of ... then maybe your best bet is installing Eclipse on a VM (say, VBox or VMWare, running Linux or Windows). Use your VM as a little "sandbox" where you can try stuff out, and easily clone (if you like it) or blow it away (if you don't).
IMHO...
An export of the Eclipse preferences looks a lot like a Properties file. Is this correct?
I'd like to share preferences with my team and for that, I need to filter the data (update/remove local paths, etc). Does anyone know any tools for this?
You might want to have a look at Workspace Mechanic for Eclipse:
The Workspace Mechanic automates maintenance of your Eclipse environment by tweaking preferences, adding extension locations, and so on. You can use it to:
Create a consistent environment among groups as large as the entire company, your local team, or even among your own many workspaces
Save time setting up new workspaces
Create tasks that ensure your favorite new preferences are applied to all your current and future workspaces. (This is one of our favorite features!)
If you have project-specific preferences, they will be stored in the .settings directory of you project.
That means you can add them directly in your VCS and share them through version control.
There is no native tool for filter them, but if you are using a Git repo, you can add filter drivers for making sure you ignore any path-specific changes.
Yes.
Preferences in Eclipse are implemented by org.eclipse.core.internal.preferences.EclipsePreferences. The save(IPath location) method will convert the internal structure to a Properties instance using convertToProperties() and then write the result to disk.