robbiehanson / XcodeColors

XcodeColors allows you to use colors in the Xcode debugging console. It's designed to aid in the debugging process.
2.23k stars 264 forks source link

Xcode8 Editor Extension #86

Open basvankuijck opened 8 years ago

basvankuijck commented 8 years ago

Any chance this could be translated into a Xcode Editor Extension for Xcode8?

Ashton-W commented 8 years ago

This plugin adds colors to the Debugger Console View. Xcode Editor Extensions only add behavior to the Editor View, and are extremely limited in what they can do there (can only modify the text buffer and selections).

So there is no chance.

keith commented 8 years ago

I haven't tried it yet but there's a possibility that if you use the new Terminal instead of Xcode console feature this might "just work"

skreutzberger commented 8 years ago

Then you can use the SwiftyBeaver logger, it has built-in support for colored output to Terminal / file.

basvankuijck commented 8 years ago

@Ashton-W: Yeah I posted this request before reading the (limited) capabilities of Xcode Extensions.

skreutzberger commented 8 years ago

I also thought that the new Xcode 8 Editor Extension would make an XcodeColors on steroids possible but then I saw the WWDC video and got disappointed 😢

Ashton-W commented 8 years ago

@basvankuijck Understood. I saw it had no response, it's worth having a record of what can be done about this. Sadly so far we can't do anything but file radars for colors to be supported natively and for better extension points (Xcode 8 won't get new extensions)

txaiwieser commented 8 years ago

I spoke to an Xcode engineer during wwdc and he recommended opening Radar for new features for the extension points. Everybody should fill one! :)

dbquarrel commented 8 years ago

Apple's current mentality of trying to protect programmers from themselves is driving me crazy. I think Xcode8 is the first one I've installed that I have immediately backed off of. Anyway, Alcatraz is dealing with this issue too and there is a hacky workaround. I haven't tried it and since I'm uninstalling Xcode8 probably going to leave all of these problems Apple has dumped into our laps protecting us from getting work done and will see where it will be in six months time.

But the workaround seems to unsign the Xcode app. This makes it "vulnerable", and "at your own risk" but has not been a problem for me over the last 10 years with anything and I really think these heavy handed solutions that wipe out 99.9% of useful functionality to catch that 0.1% of problems is moronic.

So, if someone wants to try, this may be the starting point to get XcodeColors working. My app is super complex and I've put 6,000 hours in so far. I need colors in order to track easily what's going on in state changes and I can't imagine at this point losing this functionality.

https://github.com/fpg1503/MakeXcodeGr8Again

paulofierro commented 8 years ago

@dbquarrel thanks for that link! I'm now back up and running with XcodeColors in XcodeGr8 — though I feel super dirty 😃

DaveWoodCom commented 8 years ago

I've also written up a quick method that lets you switch back and forth between unsigned & signed Xcode versions, without duplicating the whole Xcode.app (12+ Gigs). It only duplicates 1 9kb file:

https://github.com/DaveWoodCom/XCGLogger/tree/swift_3.0#restore-plug-in-support

Hope it helps someone...

Esqarrouth commented 8 years ago

@txaiwieser Telling developers to open radar when you've just told them the issue is like saying "Fk you, we'll never do it, unless we feel like it. Meanwhile here is a place for you to whine"

txaiwieser commented 8 years ago

@goktugyil Actually, Xcode-Tools devs told me they would love to have enough reasons (radars) to argue with project leaders and implement popular extensions requests..

But if you don't think it's going to change anything, don't fill radars then.. I just think its worth trying :)

Esqarrouth commented 8 years ago

@txaiwieser Seems reasonable.

gklka commented 8 years ago

I've tried the mentioned unsigning methods to reenable XcodeColors which is an essential tool for me too. Other plugins, like Alcatraz package manager work fine, but XcodeColors runs only occasionally, mostly I only see the unformatted logs. Do you guys also experience this? Is the reason known?

MartinP7r commented 8 years ago

@gklka it's the same for me. I get the Xcodecolors test to compile correctly and show colors, but when I try with my own project (using xcglogger) it won't show colors, but only the plain text tags in the console.

DaveWoodCom commented 8 years ago

@cyrus86 Have you followed the instructions here https://github.com/DaveWoodCom/XCGLogger#restore-plug-in-support to unsign Xcode?

And have you updated the DVTPlugInCompatibilityUUIDs list in the Info.plist here: ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/XcodeColors.xcplugin/Contents/Info.plist to add the correct id's?

It's working for me with the latest Xcode Version 8.1 beta 3 (8T47). DVTPlugInCompatibilityUUID is 65C57D32-1E9B-44B8-8C04-A27BA7AAE2C4.

MartinP7r commented 8 years ago

Thanks for your help, @DaveWoodCom !
Yes, i did all of that and xcodeColors are working fine manually.
XCGLoggers coloring tags show up as  (e.g. for closing tag) in the console instead of [; like they do when compiling the xcodeColors test before installing the plugin. Could it be that I messed something up with the xcglogger setup?

DaveWoodCom commented 8 years ago

@cyrus86 Sounds like you're using the ANSIColorLogFormatter instead of the XcodeColorsLogFormatter.

The ANSIColorLogFormatter should be used for terminal output that supports ANSI colour, for tailing a log file for example. And the XcodeColorsLogFormatter should be used for Xcode console logging.

Take a look at https://github.com/DaveWoodCom/XCGLogger/blob/master/DemoApps/iOSDemo/iOSDemo/AppDelegate.swift to see both set up. The XcodeColorsLogFormatter portion is commented out since it requires Xcode to be unsigned first.

Let me know if you have issues switching over and getting it working.

MartinP7r commented 8 years ago

Oooooh. Thanks so much for pointing that out.

vcGF commented 7 years ago

So still no better way than to mess up Xcode package each time ? :(

gklka commented 7 years ago

I think there is no better way. I wrote little help about this: https://medium.com/@gklka/making-xcode-colors-work-with-xcode-8-1-f67da74ad83f#.1f8p7joab

paulofierro commented 7 years ago

I found self-signing to be a little easier.

PaulSolt commented 7 years ago

I created Radar #30893066

Please duplicate it and get Apple's attention.

http://www.openradar.me/30893066

There are a couple others you can duplicate or reference: http://www.openradar.me/27513087 http://www.openradar.me/28423208

nooges commented 7 years ago

I've put together a script that creates a lightweight, unsigned clone of Xcode by creating symlinks for everything except for the unsigned binary, so you don't have to mess around with switching symlinks or having a huge duplicate of Xcode.

https://github.com/nooges/macos-app-symlink-clone