This repository contains the extension for IBM Rational ClearCase SCM for the VS Code editor.
- Features
- GUI
- Compare Versions
- View Private Files
- Hijacked Files
- Remote Control Client
- WSL
- Logging
- Requirements
Clearcase commands exposed by this extensions:
- Launch ClearCase Explorer
- Checkout
- Checkin
- Undo Checkout
- Handling of hijack files
- Version Tree
- Compare with previous version
- Find Checkouts
- Find modified files
- List view private files
- Update snapshot
- Item Properties
- Annotate
- Set current Activity
- Remote Cleartool Client
-
Automatically checkout on save if file isn't checked out.
-
Show view private and checkedout files in SCM view
-
Show version of current file in the status bar. This can be disabled via the user setting
vscode-clearcase.showVersionInStatusbar = false
-
Annotate code lens is customizable via these user settings
vscode-clearcase.annotationColor = rgba(220, 220, 220, 0.8) vscode-clearcase.annotationBackgroundColor = rgba(20, 20, 20, 0.8) vscode-clearcase.annotationFormatString = "%d %12u"
Format string is documented at https://www.ibm.com/docs/en/clearcase/11.0.0?topic=information-fmt-ccase#ref_fmtccase_refsect2_36512
-
Syntax highlighting for ClearCase config-spec files
Compare an arbitrary version to the current open version. Use the command Clearcase: Compare with version and choose the version. It uses the integrate vscode diff viewer.
To show view private files in the source control view, there are two configuration parameters
clearcase.showViewPrivateFiles
- to activate the featureclearcase.findViewPrivateCommandArguments
- the command and its arguments to find view private filesviewPrivateFileSuffixes
- filter the files by regex. The default(hh|cpp|def|c|h|txt)$
can be a good start.
Depending on the view type, snapshot or dynamic, there are different commands.
Snapshot
cleartool ls -view_only -rec $CLEARCASE_AVOBS
The $CLEARCASE_AVOBS variable can be replaced by a list of vobs separated by a space
Dynamic
- cleartool lsprivate -short
As a default, this extension is preconfigured for snapshot views.
To show hijacked files the following configuration properties exist:
clearcase.showHijackedFiles
- to activate the featureclearcase.findHijackedCommandArguments
- the command and its arguments to find hijacked files
The command can be as follows:
cleartool ls /vob1 /vob2
Here it is also possible to use the $CLEARTOOL_AVOBS environment variable. But for the sake of performance it is recommended to limit that search.
It is possible to use the remote cleartool client with VSCode. To activate, set the configuration vscode-clearcase.remoteCleartool.enable
to true
. With that set, insert the username to vscode-clearcase.remoteCleartool.webviewUsername
. When connecting to the server, the password will be requested. It is stored as long as the VSCode window lives. Alternatively there is a setting for storing the password in the configuration vscode-clearcase.remoteCleartool.webviewPassword
.
You can use this extenion in a WSL environment and a windows clearcase installation. Just make sure the configured executeable is the windows one (this is the default). The second important setting is the tempDir value. If you use a windows cleartool binary the temp dir needs to be a windows style path as already set by default. This path needs to be reachable by the windows cleartool executable. Therefor it is not possible to use a wsl linux only path like /tmp/
.
If the above settings are correct everything else is handled by the extension transparantly.
If the windows drives are not mounted in the default /mnt/<letter>
paths one can use a mapping in the settings
vscode-clearcase.wsl.pathMapping: [
{
"host": "c:\\", "wsl": "/mnt/c",
"host": "d:\\", "wsl": "/external/d"
}
]
It is possible to print the output of the internal clearcase commands into the output console. To control the amount of information that is printed there is a configuration date.
vscode-clearcase.logLevel
with the Parameter (Trace
, Debug
, Information
, Warning
,Error
, Critical
, None
)
A valid ClearCase installation within the system's PATH or a valid executable path setup in the extension preferences value.