Xcode8 Editor Extension #86

Open
basvankuijck opened this Issue Jun 15, 2016 · 22 comments

Projects

None yet
@basvankuijck

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

@Ashton-W
Ashton-W commented Jul 6, 2016

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
keith commented Jul 6, 2016

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

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

@basvankuijck

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

@skreutzberger

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
Ashton-W commented Jul 6, 2016

@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

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

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

@dbquarrel thanks for that link! I'm nowย back up and running with XcodeColors in XcodeGr8 โ€” though I feel super dirty ๐Ÿ˜ƒ

@DaveWoodCom

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...

@goktugyil

@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

@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 :)

@goktugyil

@txaiwieser Seems reasonable.

@gklka
gklka commented Oct 1, 2016

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?

@cyrus86
cyrus86 commented Oct 14, 2016

@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

@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.

@cyrus86
cyrus86 commented Oct 14, 2016 edited

Thanks for your help, @DaveWoodCom !
Yes, i did all of that and xcodeColors are working fine manually.
XCGLoggers coloring tags show up as ๏ฟฝ[m (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

@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.

@cyrus86
cyrus86 commented Oct 14, 2016

Oooooh. Thanks so much for pointing that out.

@vcGF
vcGF commented Feb 7, 2017

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

@gklka
gklka commented Feb 7, 2017

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

I found self-signing to be a little easier.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment