robbiehanson/XcodeColors

Xcode 8 kills code colors

vinthewrench opened this issue · 11 comments

"Apple has decided to rid the Xcode world of plugins and instead has introduced Xcode extensions.
As of right now, only source code extensions are currently supported. This only allows you to modify the source code of an existing file when running your extension. This does not allow us to modify anything with respect to the Xcode console. "

A workaround I come up with is to write my own formatter , add color emoji to the different log leve, like this:

LogLevelTitle = @[@"❗️Error",@"❓Warning",@"💧Info",@"✅Debug",@"🔤Verbose"];

The SwiftyBeaver logging framework is using emojis as fallback in Xcode 8 and you can also set your own ones.

screenshot 2016-09-20 at 09 04 30

default console logging is with hearts:

console

I use DDLog extensively in my codes so I really don't want to introduce another log framework. But it is good to know that I am "on the right track". Thanks!

Using emoji is REALLY cool!

There seems to be alternatives to allow 3rd party plugins: https://github.com/XVimProject/XVim/blob/master/INSTALL_Xcode8.md

Tested and approved.

@robbiehanson Thank you for your hard work maintaining this project all these years. It was a real disappointment to have plug-ins removed from Xcode 8.0 — I hope Apple brings back a way for XcodeColors to live on.

While it isn't a direct replacement for what XcodeColors provided, the new 5.0 release of the pure Swift CleanroomLogger project uses color-coded characters to indicate the severity of a given log message:

◽️ Verbose messages are tagged with a small gray square — easy to ignore
◾️ Debug messages have a black square; easier to spot, but still de-emphasized
🔷 Info messages add a splash of color in the form of a blue diamond
🔶 Warnings are highlighted with a fire-orange diamond
🛑 Error messages stand out with a red stop sign — hard to miss!

Hope some folks find it useful.

Its mind boggling apple still hasn't added color support into the Xcode console...

Hey, guys, I have created Printer – a "fancy" way to print logs on the console. It has almost everything which may help you during an app development.

@qiulang @skreutzberger

I'm now just using base CocoaLumberJack with special emoji icons instead and seems to be working quite well.

`- (NSString *)formatLogMessage:(DDLogMessage *)logMessage {
NSString *msg = logMessage.message;

NSString *logLevel;
NSString *logLevel;

switch (logMessage.flag) {
    case DDLogFlagError:
        logLevel = self.outputIcons ? @"🔥 Error" : @"Error";
        break;
    case DDLogFlagWarning:
        logLevel = self.outputIcons ? @"⚠️ Warning" : @"Warning";
        break;
    case DDLogFlagInfo:
        logLevel = self.outputIcons ? @"ℹ️ Info" : @"Info";
        break;
    case DDLogFlagDebug:
        logLevel = self.outputIcons ? @"🐞 Debug" : @"Debug";
        break;
    case DDLogFlagVerbose:
        logLevel = self.outputIcons ? @"📣 Verbose" : @"Verbose";
        break;
}`