Integrieren Sie Stack-Überlauf in IDEs?
-
02-07-2019 - |
Frage
Okay, das ist nur eine verrückte Idee, die ich habe. Stack-Überlauf sieht sehr strukturiert und integrierbar in der Entwicklung von Anwendungen. So wäre es möglich sein, auch nützlich, einen Stack-Überlauf-Plugin haben, sagen wir, von Eclipse?
Welche von Stack-Überlauf Funktionen würden Sie direkt in Ihre IDE integriert haben möchte, damit Sie es „nativ“ verwenden können, ohne einen Browser zu ändern?
EDIT: Ich bin über die Möglichkeiten vertiefter Integration zu denken als nur die Web-Seite innerhalb des IDE. Wie, wenn Sie eine bestimmte Java-Klasse verwenden und haben ein Problem, Antworten von SO könnten aufflammen. Es wäre wahrscheinlich Fälle, in denen so etwas wie dies ärgerlich ist, aber andere können sehr hilfreich sein.
Lösung
auf Joshs Antwort Anknüpfend. Der VS-Makro sucht für Stackoverflow markierten Text in dem Visual Studio IDE. Markieren Sie einfach und drücken Sie Alt + F1
Public Sub SearchStackOverflowForSelectedText()
Dim s As String = ActiveWindowSelection().Trim()
If s.Length > 0 Then
DTE.ItemOperations.Navigate("http://www.stackoverflow.com/search?q=" & _
Web.HttpUtility.UrlEncode(s))
End If
End Sub
Private Function ActiveWindowSelection() As String
If DTE.ActiveWindow.ObjectKind = EnvDTE.Constants.vsWindowKindOutput Then
Return OutputWindowSelection()
End If
If DTE.ActiveWindow.ObjectKind = "{57312C73-6202-49E9-B1E1-40EA1A6DC1F6}" Then
Return HTMLEditorSelection()
End If
Return SelectionText(DTE.ActiveWindow.Selection)
End Function
Private Function HTMLEditorSelection() As String
Dim hw As HTMLWindow = ActiveDocument.ActiveWindow.Object
Dim tw As TextWindow = hw.CurrentTabObject
Return SelectionText(tw.Selection)
End Function
Private Function OutputWindowSelection() As String
Dim w As Window = DTE.Windows.Item(EnvDTE.Constants.vsWindowKindOutput)
Dim ow As OutputWindow = w.Object
Dim owp As OutputWindowPane = ow.OutputWindowPanes.Item(ow.ActivePane.Name)
Return SelectionText(owp.TextDocument.Selection)
End Function
Private Function SelectionText(ByVal sel As EnvDTE.TextSelection) As String
If sel Is Nothing Then
Return ""
End If
If sel.Text.Length = 0 Then
SelectWord(sel)
End If
If sel.Text.Length <= 2 Then
Return ""
End If
Return sel.Text
End Function
Private Sub SelectWord(ByVal sel As EnvDTE.TextSelection)
Dim leftPos As Integer
Dim line As Integer
Dim pt As EnvDTE.EditPoint = sel.ActivePoint.CreateEditPoint()
sel.WordLeft(True, 1)
line = sel.TextRanges.Item(1).StartPoint.Line
leftPos = sel.TextRanges.Item(1).StartPoint.LineCharOffset
pt.MoveToLineAndOffset(line, leftPos)
sel.MoveToPoint(pt)
sel.WordRight(True, 1)
End Sub
So installieren Sie:
-
go
- Extras - Makros - IDE
- Erstellen Sie ein neues Modul mit einem Namen Ihrer Wahl unter „MyMacros“. Oder ein vorhandenes Modul verwenden.
- fügen Sie den obigen Code in das Modul
- einen Verweis auf den Namespace System.Web hinzufügen (für HttpUtility) an das Modul
- schließen Sie das Makro IDE Fenster go
- Extras - Optionen - Umwelt - Tastatur
- Typ "google" in der Show Befehlen Textbox. Die SearchGoogleForSelectedText Makro zeigen sollte
- Klicken Sie in der Presse Shortcut-Tasten Textbox, und drücken Sie ALT + F1
- Klicken Sie auf die Schaltfläche Zuweisen
- Klicken Sie auf OK
Das ist alles von Jeff Atwood genommen Google Search VS Macro Post nur modifizierte Stackoverflow statt zu suchen.
Andere Tipps
Ich glaube nicht, ich in der Lage sein würde mit SO integrierte in eine IDE jede Arbeit zu erledigen. Es ist fast so schlimm, wenn nicht schlimmer als die Integration von Digg / Reddit in eine IDE.
In Visual Studio können Sie eine Verknüpfung hinzufügen, für einen markierten Begriff in Stackoverflow zu suchen. Jeff Atwood schrieb über etwas ähnliches mit Google zu tun in seiner Google-Suche VS.NET Makro Blog-Eintrag.
Mit diesem Ansatz Sie erlauben würde, einen Begriff oder eine Fehlermeldung zu markieren (oder einen anderen wählbaren Text in der IDE), drücken Sie die Tasten, und dann sehen, alle die passenden Ergebnisse auf Stackoverflow.
Ich bin sicher, es gibt eine Möglichkeit, dies in anderen IDE als auch zu tun.
Wenn Stackoverflow kann beginnen, die Sprache zu identifizieren, die jeder Code-Schnipsel enthält, dann könnte ich einen Code-Completion / Code-Snippet Plugin zu einem IDE sehen, die für die Ausführung von Suchen auf SO und Einfügen des Codeteil akzeptiert eine spezielle Syntax reagiert Antworten.
Zum Beispiel: in meiner Quelle, ich könnte ein:
//# read an XML file
Die // # Syntax fordert das Plugin eine Suche und zeigt eine Liste der Frage Titel zu starten. Wenn ich eine auswählen, fügt sie den Code Teil der Antwort akzeptiert.
Ich weiß nicht, über Eclipse aber für Visual Studio, wenn jemand wirklich will das sie könnten den SO RSS-Feed für den „Startseite News Channel“ leicht hinzufügen, so dass die Frage SO Liste auf der Startseite erschien, oder sogar besser, verengen sie mit einem Tag ( wie für C # ) nach unten. Es ist nicht gerade „Integration“, aber es würde einen kurzen Blick auf den letzten Dinge mit äußerst geringen Aufwand bieten. Allerdings ist nicht sicher, wie „nützlich“, es wäre.
Sie haben die RSS-Plugin für Eclipse die Stackoverflow zu lesen Feed.
Aber ich bin mit dir, ein Plugin SO Eclipse-wäre wirklich cool sein.
könnten Sie legen es einfach als Ihre Startseite in Visual Studio.
Nicht sicher welchen Nutzen dies würde ... aber jedem das seine.