XcodeColors icon indicating copy to clipboard operation
XcodeColors copied to clipboard

Xcode8 Editor Extension

Open basvankuijck opened this issue 8 years ago • 24 comments

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

basvankuijck avatar Jun 15 '16 07:06 basvankuijck

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.

Ashton-W avatar Jul 06 '16 04:07 Ashton-W

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"

keith avatar Jul 06 '16 05:07 keith

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

skreutzberger avatar Jul 06 '16 06:07 skreutzberger

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

basvankuijck avatar Jul 06 '16 06:07 basvankuijck

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 😢

skreutzberger avatar Jul 06 '16 06:07 skreutzberger

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

Ashton-W avatar Jul 06 '16 06:07 Ashton-W

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

txaiwieser avatar Jul 07 '16 13:07 txaiwieser

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

dbquarrel avatar Sep 15 '16 12:09 dbquarrel

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

paulofierro avatar Sep 15 '16 13:09 paulofierro

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

DaveWoodCom avatar Sep 15 '16 13:09 DaveWoodCom

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

Esqarrouth avatar Sep 25 '16 16:09 Esqarrouth

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

txaiwieser avatar Sep 25 '16 17:09 txaiwieser

@txaiwieser Seems reasonable.

Esqarrouth avatar Sep 26 '16 16:09 Esqarrouth

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?

gklka avatar Oct 01 '16 17:10 gklka

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

MartinP7r avatar Oct 14 '16 00:10 MartinP7r

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

DaveWoodCom avatar Oct 14 '16 01:10 DaveWoodCom

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?

MartinP7r avatar Oct 14 '16 05:10 MartinP7r

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

DaveWoodCom avatar Oct 14 '16 05:10 DaveWoodCom

Oooooh. Thanks so much for pointing that out.

MartinP7r avatar Oct 14 '16 06:10 MartinP7r

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

vcGF avatar Feb 07 '17 09:02 vcGF

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

gklka avatar Feb 07 '17 09:02 gklka

I found self-signing to be a little easier.

paulofierro avatar Feb 07 '17 12:02 paulofierro

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

PaulSolt avatar Mar 07 '17 12:03 PaulSolt

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

nooges avatar Apr 11 '17 16:04 nooges