in src/tree/containers/ContainersTreeItem.ts [72:98]
public getPropertyValue(item: DockerContainerInfo, property: ContainerProperty): string {
const networks = item.NetworkSettings?.Networks && Object.keys(item.NetworkSettings.Networks).length > 0 ? Object.keys(item.NetworkSettings.Networks) : ['<none>'];
const ports = item.Ports?.length > 0 ? item.Ports.map(p => p.PublicPort) : ['<none>'];
switch (property) {
case 'ContainerId':
return item.Id.slice(0, 12);
case 'ImageId':
return item.ImageID.replace('sha256:', '').slice(0, 12);
case 'ContainerName':
return item.Name;
case 'Networks':
return networks.join(',');
case 'Ports':
return ports.join(',');
case 'State':
return item.State;
case 'Status':
// The rapidly-refreshing status during a container's first minute causes a lot of problems with excessive refreshing
// This normalizes things like "10 seconds" to "Less than a minute", meaning the refreshes don't happen constantly
return item.Status?.replace(/\d+ seconds?/i, localize('vscode-docker.tree.containers.lessThanMinute', 'Less than a minute'));
case 'Compose Project Name':
return getComposeProjectName(item);
default:
return getImagePropertyValue({ ...item, Name: item.Image }, property);
}
}