Help Viewer issues and feature requests #775

Open
FallenPhoenix opened this Issue Sep 1, 2016 · 2 comments

Comments

Projects
None yet
1 participant
@FallenPhoenix

FallenPhoenix commented Sep 1, 2016

Hello. I have several IDE installed on my PC: SharpDevelop 3.2, 5.1 and VS 2010 with its help.
Help Viewer in classic 3rd version of #Develop works fine for me (with help package for VS 2008). But I have some troubles with 5th version.

  • First, I use Russian help, but it won't show Cyrillic contents right in side panel because of wrong encoding.
  • Next, I have two "Visual Studio 2010" second level nodes there. I'd prefer to have only 1 of them, but I don't know how to fix it (will be thankfull if somebody tell me). Anyhow, official help viewer shows just English first page for one of them (without any child nodes) and Russian first page for second one. SharpDevelop duplicates whole Russian help for VS instead.
    SharpDevelop 5 Help Viewer vs Microsoft Help Viewer
    List of installed help libraries
  • And last, I'd be really thankfull if you add help index pane and backward support for old VS 2008 help library (same as #Develop 3 does).
@FallenPhoenix

This comment has been minimized.

Show comment
Hide comment
@FallenPhoenix

FallenPhoenix Sep 16, 2016

I fixed issue with encoding for myself. There WebClient used, and it seems to have Windows encoding by defaults, but help has UTF8.
Solution -> AddIns -> Misc -> HelpViewer -> Source -> Controls -> TocEntry,cs
there have to set WebClient Encoding property to UTF8

Diff:

--- a/src/AddIns/Misc/HelpViewer/Source/Controls/TocEntry.cs
+++ b/src/AddIns/Misc/HelpViewer/Source/Controls/TocEntry.cs
@@ -42,7 +42,7 @@ class TocEntry : INotifyPropertyChanged
    {
        const string url = "ms-xhelp://?method=children&id={1}&format=xml&{0}";
        string id;
-       WebClient client = new WebClient();
+       WebClient client = new WebClient() {Encoding = System.Text.Encoding.UTF8};

        public TocEntry(string id)
        {

(I used sources for version 5.0.0.4755, but it seems no changes in addin since that time)

FallenPhoenix commented Sep 16, 2016

I fixed issue with encoding for myself. There WebClient used, and it seems to have Windows encoding by defaults, but help has UTF8.
Solution -> AddIns -> Misc -> HelpViewer -> Source -> Controls -> TocEntry,cs
there have to set WebClient Encoding property to UTF8

Diff:

--- a/src/AddIns/Misc/HelpViewer/Source/Controls/TocEntry.cs
+++ b/src/AddIns/Misc/HelpViewer/Source/Controls/TocEntry.cs
@@ -42,7 +42,7 @@ class TocEntry : INotifyPropertyChanged
    {
        const string url = "ms-xhelp://?method=children&id={1}&format=xml&{0}";
        string id;
-       WebClient client = new WebClient();
+       WebClient client = new WebClient() {Encoding = System.Text.Encoding.UTF8};

        public TocEntry(string id)
        {

(I used sources for version 5.0.0.4755, but it seems no changes in addin since that time)

@FallenPhoenix

This comment has been minimized.

Show comment
Hide comment
@FallenPhoenix

FallenPhoenix Sep 16, 2016

... what about duplicated "Visual Studio 2010", that what I have in children.Value for root node:

Visual Studio 2010BA237712-F8C4-4D13-854B-AB4A16AFA309&topicversion=100&topiclocale=EN-US&SQM=1
Visual Studio 2010BA237712-F8C4-4D13-854B-AB4A16AFA309&topicversion=100&topiclocale=RU-RU&SQM=1
.NET Framework 4F61F02F2-2F20-483D-8F56-A9C8F3A54986&topicversion...

There URL from official help viewer, which I can copy-paste into browser and see there instead :

http://127.0.0.1:47873/help/1-3064/ms.help?method=page&id=BA237712-F8C4-4D13-854B-AB4A16AFA309&product=VS&productversion=100&locale=ru-RU&format=html&topicVersion=100&topicLocale=EN-US&embedded=true

http://127.0.0.1:47873/help/1-3064/ms.help?method=page&id=BA237712-F8C4-4D13-854B-AB4A16AFA309&product=VS&productversion=100&locale=ru-RU&format=html&topicVersion=100&topicLocale=RU-RU&embedded=true

So, they have same id, and the only difference in their links is topic locale.

FallenPhoenix commented Sep 16, 2016

... what about duplicated "Visual Studio 2010", that what I have in children.Value for root node:

Visual Studio 2010BA237712-F8C4-4D13-854B-AB4A16AFA309&topicversion=100&topiclocale=EN-US&SQM=1
Visual Studio 2010BA237712-F8C4-4D13-854B-AB4A16AFA309&topicversion=100&topiclocale=RU-RU&SQM=1
.NET Framework 4F61F02F2-2F20-483D-8F56-A9C8F3A54986&topicversion...

There URL from official help viewer, which I can copy-paste into browser and see there instead :

http://127.0.0.1:47873/help/1-3064/ms.help?method=page&id=BA237712-F8C4-4D13-854B-AB4A16AFA309&product=VS&productversion=100&locale=ru-RU&format=html&topicVersion=100&topicLocale=EN-US&embedded=true

http://127.0.0.1:47873/help/1-3064/ms.help?method=page&id=BA237712-F8C4-4D13-854B-AB4A16AFA309&product=VS&productversion=100&locale=ru-RU&format=html&topicVersion=100&topicLocale=RU-RU&embedded=true

So, they have same id, and the only difference in their links is topic locale.

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